SQLiteAssetHelper无法在OnePlus设备上升级数据库

时间:2015-12-23 18:01:57

标签: java android database sqlite

在使用SQLiteAssetHelper打开和升级数据库时,我收到了很多关于NPE的Crashlytics报告。我做了一些研究,发现我并不是唯一一个在OnePlus设备上出现此问题的人。

在我的应用程序中,我在assets / databases文件夹中发送了一个数据库,然后将其复制到数据库路径。

这是我的数据库类:

public class SQLHelper extends SQLiteAssetHelper {
    private static SQLHelper instance;
    private final Context context;

    private static final String DB_NAME = "database.db";
    private static final int DB_VERSION = 2015122001;

}    private SQLHelper(Context context) {
        super(context, DB_NAME, context.getDatabasePath(DB_NAME).getParent(), null, DB_VERSION);

        this.context = context;

        setForcedUpgrade();
    }
}

如您所见,我尝试使用Context.getDatabasePath方法,该方法应返回保存数据库的路径。使用为您选择数据库路径的默认SQLiteAssetHelper构造函数时也会发生同样的错误。

崩溃论报告:

Fatal Exception: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.database.sqlite.SQLiteDatabase.setVersion(int)' on a null object reference
       at com.b.a.a.getWritableDatabase(Unknown Source)

此错误仅在OnePlus设备上发生。是否有一些修复此错误?

0 个答案:

没有答案