始终关闭数据库,当你完成了你的数据库的工作,
为简单起见,在你的数据库处理器类中创建下面的方法,
public void Open_DB(SQLiteDatabase db){
return this.getWritableDatabase();
}
public void Close_DB(SQLiteDatabase db){
db.close();
}
并使用您的活动或服务,因为这方法,
OpenHelper openhelper=new OpenHelper(getApplicationContext());
SQLiteDatabase db=openhelper.Open_DB(db)
openhelper.some_Operation(db);
db.Close_DB(db);
或者您可以在单个mehod(它位于数据库处理程序类中)中打开和关闭数据库,如
public void deleteRecord(String id) {
SQLiteDatabase db = this.getWritableDatabase();
db.delete(TABLE_REMINDER, REMINDER_ID + " = ?",
new String[] { String.valueOf(id)});
db.close();
}
,并呼吁从为您的活动这种方法,
public void Delete_A_Reminder(String id){
DatabaseHandler mydb=new DatabaseHandler1(getApplicationContext());
mydb.deleteRcord(id);
}
在一般情况下,如果u想打开你家的窗口,它已经在那之前打开,你必须关闭并重新打开,如果你的数据库已经打开,并且你想再次打开它,那么你必须先关闭它,这样你才能再次打开它。
close()从未在数据库上显式调用过DatabaseObjectNotCloseException表示您在某些活动类中首次创建数据库对象后未关闭数据库对象。调用db。关闭()在那第一 –
我已经这样做,但问题仍然存在 –
检查我的答案 – GoCrazy