我有一个与this问题类似的问题。
目前,我将数据插入到我的SQLiteDatabase中,如下所示:
[a-z]
我的private Context context;
private SQLiteDatabase database;
private SQLiteHelper dbHelper;
public DBManager open() throws SQLException {
this.dbHelper = new SQLiteHelper(context);
this.database = this.dbHelper.getWritableDatabase();
return this;
}
public void close() {
this.dbHelper.close();
}
void insertThumb(String _id, String thumbPath, String videoPath) {
ContentValues contentValue = new ContentValues();
contentValue.put(SQLiteHelper._ID, _id);
contentValue.put(SQLiteHelper.THUMB_PATH, thumbPath);
contentValue.put(SQLiteHelper.VIDEO_PATH, videoPath);
this.database.insert(SQLiteHelper.TABLE_NAME_THUMBNAIL, null, contentValue);
}
扩展了SQLiteHelper
。
当我想插入数据库时,我在“活动”的SQLiteOpenHelper
中打开数据库,调用如下:
OnCreate
完成活动(dbManager.insertThumb(String.valueOf(_id), newFile.getPath(), directoryToStore + "/" + fileName);
,OnBackPressed
)后,我关闭数据库。
看着上面提供的问题,被接受的答案是:
OnDestroy
我正在这样做,不是吗?
第二个答案是:
use a SQLiteOpenHelper and call getWritableDatabase() every time you need one.
我是否应该在需要时打开数据库,并在完成后立即将其关闭?像这样-
SQLiteDatabase is closed automatically under some conditions.
有人可以告诉我避免这种情况的最佳做法是什么吗?