我正在寻找在 sd 卡上创建一个 sqlite 数据库(不想用完用户的内部存储)。我熟悉 OpenHelper 模式:
public DatabaseFoo(Context context) {
OpenHelper openHelper = new OpenHelper(context);
mDb = openHelper.getWritableDatabase();
}
private static class OpenHelper extends SQLiteOpenHelper {
public OpenHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
...
所以如果我们想在 sd 卡上创建,我认为我们必须使用:
public static SQLiteDatabase openOrCreateDatabase (String path,
SQLiteDatabase.CursorFactory factory);
但是“工厂”参数应该是什么,应该使用哪个工厂?
也有点担心如果用户在我的应用程序正在使用时移除 SD 卡会发生什么..
谢谢