我注意到這個異常有幾個問題。但他們不能解決我的問題。DatabaseObjectNotClosedException
我有一個具有擴展SQLiteOpenHelper一個內部類databaseHelper類:
private static class OpenHelper extends SQLiteOpenHelper {
OpenHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE " + TABLE_NAME + "(id INTEGER PRIMARY KEY, name TEXT)");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
Log.w("DBHELPER", "Upgrading database");
db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME);
onCreate(db);
}
}
我有一個不斷更新的數據庫服務。還有一個從db中獲取數據的活動。
在這兩種服務和活動dbHelper獲得創建:
this.dh = new DatabaseHelper(this);
而且我得到了DatabaseObjectNotClosedException。我需要關閉DatabaseHelper嗎?我會怎麼做?或者我該如何解決這個問題?
謝謝。但是,我如何在服務中處理這個問題。當需要獲取Activity時,我可能想從Service中添加到數據庫。 服務是否有onResume/onPause? – johan
其實我只注意到我的一些代碼是錯誤的。它引用數據庫幫助程序,而不是實際的數據庫對象。讓我解決它。 –
好的,我修復了代碼。現在檢查出來。 –