この例外についていくつかの質問があることに気付きました。しかし、彼らは私の問題を解決しません。
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 を閉じる必要がありますか? どうすればいいですか?または、どうすればこの問題を解決できますか?