目前正在使用android项目的数据库部分。该项目的主要目标是解析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
2012-01-05
Change
+1
只是猜测,但你不应该先关闭'DB',然后调用'super.onDestroy()'? –
2012-01-05 23:36:12
+0
我通过先调用DB.close()然后super.OnDestroy()来恢复代码,但仍然失败。 –
2012-01-05 23:50:09