相关疑难解决方法(0)

SD卡上的SQLite数据库

我想在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);
    }

    ...
Run Code Online (Sandbox Code Playgroud)

所以,如果我们想在SD卡上创建,我认为我们必须使用:

public static SQLiteDatabase openOrCreateDatabase (String path, 
      SQLiteDatabase.CursorFactory factory);
Run Code Online (Sandbox Code Playgroud)

但是什么是"工厂"的说法,应该使用什么工厂?

还有点担心如果用户在我的应用程序正在使用时删除SD卡会发生什么.

谢谢

sqlite android android-sdcard

12
推荐指数
2
解决办法
3万
查看次数

Sqlite数据库存储

这可能是一个愚蠢的问题,但我仍然需要知道它的确切答案.当我们为特定应用创建数据库并在真实设备上部署该应用时,系统创建的数据库在哪里?在内部存储或SD卡?如果它默认位于内部存储器上,我们是否可以将其转移到SD卡,因为应用程序可能会因内存不足和数据库大小增加而崩溃.我有一个带有9列表的数据库.存储数据库的正确位置在哪里?

sqlite android

2
推荐指数
1
解决办法
4139
查看次数

标签 统计

android ×2

sqlite ×2

android-sdcard ×1