現在、アンドロイドプロジェクトのデータベース部分で作業しています。このプロジェクトの主な目的は、XMLファイルを解析し、その解析としてデータベースを格納することです。私はデータベースを開き、データベースにデータを挿入しています。しかし、私が活動を変更しようとすると、データベースのclose()関数でクラッシュします。 私はここで何か間違っていることを知っています。もし誰かがここで私を助けることができればそれは素晴らしいことになるでしょう。Androidでのデータベース接続を閉じるには
/* DatabaseManager.java */
SQLiteDatabase db;
public DatabaseManager(Context context){
this.context = context;
db = context.openOrCreateDatabase(DATABASE_NAME, 0, null);
}
public void close(){
if (db != null)
{
db.close();
}
}
/** Activity.java **/
public void onCreate(Bundle savedInstanceState) {
try{
super.onCreate(savedInstanceState);
DB = new DatabaseManager(this);
}
}
public void onDestroy(){
super.onDestroy();
if(DB!=null)
DB.close();
}
エラー:
E/Database(676): close() was never explicitly called on database '/data/data/org.com.android/databases/MainSQLite.db'
enter code here
何イムを推測されますが、最初に 'DB'を閉じ、' super.onDestroy() 'を呼び出すべきではないのですか? – Nanne
私はDB.close()を最初に呼び出してからsuper.OnDestroy()を呼び出してコードを元に戻しましたが、それでも失敗します。 – Change