android - SQLiteAssetHelper - 特定手机上的问题,例如一加

标签 android sqlite oneplusone

我在使用 SQLiteAssetHelper 时在某些设备上遇到崩溃问题在我的应用程序中,主要是在 OnePlus 设备上。现在我读了here它与数据库存储的目录有关。

现在我正在尝试找到一个解决方法,目前我能想到的最好的方法就是这样的构造函数

public MySubclass(Context context) {
    super(context, databaseName, context.getFilesDir() + "/databases", null, databaseVersion);

这是正确的方法还是这种方法有其他问题?

编辑

异常(exception)情况是

Fatal Exception: android.database.sqlite.SQLiteException: Can't upgrade read-only database from version x to y: /data/data/my.package.id/databases/database.db

抱歉,我链接了错误的 SO 问题:this is the correct one .上面写着“OnePlus 能够将数据库复制到/data/data/package-name/databases/filename.db,但它不允许访问该数据,我对此一无所知。”

最佳答案

SQLiteAssetHelper 构造函数允许您指定自己的数据库目标路径(文件夹需要是可写的)。如果你没有指定任何它默认使用一个。请参阅 Github 存储库的摘录:

    if (storageDirectory != null) {
        mDatabasePath = storageDirectory;
    } else {
        mDatabasePath = context.getApplicationInfo().dataDir + "/databases";
    }

关于android - SQLiteAssetHelper - 特定手机上的问题,例如一加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34068268/

相关文章:

java - 按钮 onclicklistener 中的 Android 微调器

java - "Hello world"android项目,直接来自书籍,有时会产生ActivityNotFoundException

php - 我可以使用 RedBean PHP ORM 导出 Sqlite 数据库并导入到 MySQL 吗?

android - OnePlus One 设备未显示在 Eclipse (Ubuntu) 中

导致 UNEXPECTED_TOP_LEVEL_EXCEPTION 的 Android Studio Google 端点

Android commons-net FTP文件上传

python - sqlite3 不按计数分组

javascript - Heroku 上重启后 Better-SQLite3 数据库重置

java - 一加一ADB驱动安装不上