こんにちは皆さん、私はAndroidを初めて使用し、データベースを管理するために緑のDAOを使用していますが、アプリケーションonTeriminate()でそれを行っているため、データベースが閉じていない例外を頻繁に取得しています。アプリケーション全体でデータベースの単一接続のみを維持していますが、場合によっては私のアプリケーションバックグラウンドに戻り、データベース接続オブジェクトがnullになっていることを再開します。使用する前にオブジェクトのnullネスをチェックすることで問題を処理しましたが、今では例外が頻繁に発生します
android.database.sqlite.DatabaseObjectNotClosedException: アプリケーションは、ここで開かれたカーソルまたはデータベース オブジェクトを閉じませんでした
これを処理する方法を教えてください
前もって感謝します
lang.IllegalStateException: データベース ロックがありません。01-03 09:39:18.688: E/システム (3063): android.database.sqlite.SQLiteDatabase.verifyLockOwner (SQLiteDatabase.java:2090) 01-03 09:39:18.688: E/システム (3063): でandroid.database.sqlite.SQLiteDatabase$1.entryRemoved(SQLiteDatabase.java:2182) 01-03 09:39:18.688: E/System(3063): android.database.sqlite.SQLiteDatabase$1.entryRemoved(SQLiteDatabase.java:2178) ) 01-03 09:39:18.688: E/System(3063): android.util.LruCache.trimToSize(LruCache.java:197) で 01-03 09:39:18.688: E/System(3063): Android で.util.LruCache.evictAll(LruCache.java:285) 01-03 09:39:18.688: E/System(3063): android.database.sqlite.SQLiteDatabase.deallocCachedSqlStatements(SQLiteDatabase.java:2143) 01-03 09 :39:18.688: E/System(3063): android.database.sqlite.SQLiteDatabase.
接続を閉じるためのコード:
@Override
public void onTerminate() {
// TODO Auto-generated method stub
super.onTerminate();
snail_mail_db.close();
snail_mail_database_helper_obj.close();
}