2013-01-20 2 views
0

SQLite 데이터베이스에 데이터를 작성/추가하려고 할 때 많은 오류가 발생하지만 그 이유는 모르겠습니다. 코드는 우울하고 그 아래 오류를 게시합니다. 어떤 도움을 주셔서 감사드립니다. SQLite 데이터베이스에 데이터를 만들거나 추가 할 때 오류가 발생했습니다.

enter code here 
public class MyActivity extends Activity 
{ 
    @Override 
    public void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     //create an instance of the PlayerDatabase class and pass this context through parameters; 
     PlayerDatabase playerProfile = new PlayerDatabase(this); 

     try 
     { 
     //open the database; 
     playerProfile.open(); 
     }//try; 
     catch (SQLException e) 
     { 
     //print description of the error; 
     e.printStackTrace(); 
     }//catch; 

     //insert data into the table; 
     playerProfile.createInsert("Player", "Connor", "5", "1234"); 
     //close the database; 
     playerProfile.close(); 
    }//onCreate; 
}//class; 



public class PlayerDatabase 
{ 
    public static final String KEY_PLAYER = "Player"; 
    public static final String KEY_NAME = "Name"; 
    public static final String KEY_GUESSES = "NumberOfGuesses"; 
    public static final String KEY_NUMBER= "NumberToGuess"; 

    private static final String DATABASE_NAME = "PlayerData.db"; 
    private static final String DATABASE_MARKSTABLE = "PlayerData"; 
    private static final int DATABASE_VERSION = 1; 

    //create instance of DbHelper class called ourHelper; 
    private DbHelper ourHelper; 
    //create a context called ourContext; 
    private final Context ourContext; 
    //create an instance of SQLiteDatabase called ourDatabase to be the database; 
    private SQLiteDatabase ourDatabase; 


    //constructor to pass through context; 
    public PlayerDatabase(Context c) 
    { 
     ourContext = c; 
    }//constructor; 


    //open the database; 
    public PlayerDatabase open()throws SQLException 
    { 
     //finish creating the instance of the DbHelper class; 
     ourHelper = new DbHelper(ourContext); 
     //create database; 
     ourDatabase = ourHelper.getWritableDatabase(); 
     return this; 
    }//open; 

    //close the database; 
    public void close() 
    { 
     ourHelper.close(); 
    }//close; 


    //insert data into the database; 
    public long createInsert(String player, String name, String guesses, 
         String number) 
    { 
     // TODO Auto-generated method stub 
     ContentValues cv = new ContentValues(); 
     cv.put(KEY_PLAYER, player); 
     cv.put(KEY_NAME, name); 
     cv.put(KEY_GUESSES, guesses); 
     cv.put(KEY_NUMBER, number); 
     return ourDatabase.insert(DATABASE_MARKSTABLE, null, cv); 
    } //createInsert; 




    //DbHelper class within PlayerDatabase class; 
    private static class DbHelper extends SQLiteOpenHelper 
    { 

     public DbHelper(Context context) 
     { 
     super(context, DATABASE_NAME, null, DATABASE_VERSION); 
     // TODO Auto-generated constructor stub 
     }//DbHelper constructor; 


     //when DbHelper is first created it will create this table; 
     @Override 
     public void onCreate(SQLiteDatabase db) 
     { 
     // TODO Auto-generated method stub 
     db.execSQL(" CREATE TABLE " + DATABASE_MARKSTABLE + " (" + 
      KEY_PLAYER + " TEXT PRIMARY KEY, " + 
      KEY_NAME + " TEXT NOT NULL, " + 
      KEY_GUESSES + " TEXT NOT NULL, " + 
      KEY_NUMBER + " TEXT NOT NULL);" 
     ); 
     }//DbHelper onCreate; 


     //only used when database is upgraded; 
     @Override 
     public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) 
     { 
     // TODO Auto-generated method stub 

     db.execSQL("DROP TABLE IF EXISTS " + DATABASE_MARKSTABLE); 
     onCreate(db); 
     }//DbHelper onUpgrade; 
    } //class DbHelper; 
}//class; 

당신이보고있는 오류가 안드로이드의 붙박이 이메일 응용 프로그램에서있는 오류 보고서

12-27 13:15:43.549: ERROR/ActivityThread(6572): Service com.android.exchange.ExchangeService has leaked ServiceConnection [email protected]ea8d8 that was originally bound here 
     android.app.ServiceConnectionLeaked: Service com.android.exchange.ExchangeService has leaked ServiceConnection [email protected]ea8d8 that was originally bound here 
     at android.app.LoadedApk$ServiceDispatcher.<init>(LoadedApk.java:969) 
     at android.app.LoadedApk.getServiceDispatcher(LoadedApk.java:863) 
     at android.app.ContextImpl.bindService(ContextImpl.java:1418) 
     at android.app.ContextImpl.bindService(ContextImpl.java:1407) 
     at android.content.ContextWrapper.bindService(ContextWrapper.java:473) 
     at com.android.emailcommon.service.ServiceProxy.setTask(ServiceProxy.java:157) 
     at com.android.emailcommon.service.ServiceProxy.setTask(ServiceProxy.java:145) 
     at com.android.emailcommon.service.ServiceProxy.test(ServiceProxy.java:191) 
     at com.android.exchange.ExchangeService$7.run(ExchangeService.java:1850) 
     at com.android.emailcommon.utility.Utility$2.doInBackground(Utility.java:551) 
     at com.android.emailcommon.utility.Utility$2.doInBackground(Utility.java:549) 
     at android.os.AsyncTask$2.call(AsyncTask.java:287) 
     at java.util.concurrent.FutureTask.run(FutureTask.java:234) 
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080) 
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573) 
     at java.lang.Thread.run(Thread.java:856) 
12-27 13:15:43.549: ERROR/StrictMode(6572): null 
     android.app.ServiceConnectionLeaked: Service com.android.exchange.ExchangeService has leaked ServiceConnection [email protected]ea8d8 that was originally bound here 
     at android.app.LoadedApk$ServiceDispatcher.<init>(LoadedApk.java:969) 
     at android.app.LoadedApk.getServiceDispatcher(LoadedApk.java:863) 
     at android.app.ContextImpl.bindService(ContextImpl.java:1418) 
     at android.app.ContextImpl.bindService(ContextImpl.java:1407) 
     at android.content.ContextWrapper.bindService(ContextWrapper.java:473) 
     at com.android.emailcommon.service.ServiceProxy.setTask(ServiceProxy.java:157) 
     at com.android.emailcommon.service.ServiceProxy.setTask(ServiceProxy.java:145) 
     at com.android.emailcommon.service.ServiceProxy.test(ServiceProxy.java:191) 
     at com.android.exchange.ExchangeService$7.run(ExchangeService.java:1850) 
     at com.android.emailcommon.utility.Utility$2.doInBackground(Utility.java:551) 
     at com.android.emailcommon.utility.Utility$2.doInBackground(Utility.java:549) 
     at android.os.AsyncTask$2.call(AsyncTask.java:287) 
     at java.util.concurrent.FutureTask.run(FutureTask.java:234) 
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080) 
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573) 
     at java.lang.Thread.run(Thread.java:856) 
12-27 13:15:43.739: ERROR/ActivityThread(6572): Service com.android.exchange.ExchangeService has leaked ServiceConnection [email protected]d08b0 that was originally bound here 
     android.app.ServiceConnectionLeaked: Service com.android.exchange.ExchangeService has leaked ServiceConnection [email protected]d08b0 that was originally bound here 
     at android.app.LoadedApk$ServiceDispatcher.<init>(LoadedApk.java:969) 
     at android.app.LoadedApk.getServiceDispatcher(LoadedApk.java:863) 
     at android.app.ContextImpl.bindService(ContextImpl.java:1418) 
     at android.app.ContextImpl.bindService(ContextImpl.java:1407) 
     at android.content.ContextWrapper.bindService(ContextWrapper.java:473) 
     at com.android.emailcommon.service.ServiceProxy.setTask(ServiceProxy.java:157) 
     at com.android.emailcommon.service.ServiceProxy.setTask(ServiceProxy.java:145) 
     at com.android.emailcommon.service.AccountServiceProxy.getDeviceId12-27 13:24:07.950: ERROR/StrictMode(6572): null 
12-27 13:24:10.041: ERROR/ThrottleService(6245): problem during onPollAlarm: java.lang.IllegalStateException: problem parsing stats: java.io.FileNotFoundException: /proc/net/xt_qtaguid/iface_stat_all: open failed: ENOENT (No such file or directory) 

답변

0

입니다. 누수가있는 것 같습니다. ServiceConnection, LogCat의 오류로 인해 일부 오류가 표시됩니다. 이것은 앱과 완전히 관련이 없으므로 무시해도됩니다.

앞으로는 앱 프로세스 ID를 사용하여 logcat을 필터링하여 앱의 메시지 만 표시되도록하고 잘못된 검색 결과로 이어질 수있는 메시지는 숨겨져 있습니다.

+0

감사합니다, 저를 미치게 만들어주었습니다. –

+0

@ user1985369 그 오류는 전자 메일 앱에서 내가 기억할 수있는 한 오랫동안 유지되어 왔습니다. P 당신은 혼란스러워하는 첫 번째 사람이 아닙니다. –

0

이 문제는 당신이 android emolator가 ID를 얻을 수없는 교환 서비스 때문에 발생합니다. 당신은 settings-> app-> allapps->와 거기에서 exchange 서비스를 disable해야합니다.

질문의 답을 기다리고 있습니다.

관련 문제