Java SqliteAsselPer无法升级OnePlus设备上的数据库
在使用SQLiteAssetHelper打开和升级数据库时,我收到了很多关于NPE的Crashlytics报告。我做了一些研究,发现我不是唯一一个在OnePlus设备上有这个问题的人 在我的应用程序中,我在assets/databases文件夹中发送一个数据库,然后将其复制到数据库路径 这是我的数据库类:Java SqliteAsselPer无法升级OnePlus设备上的数据库,java,android,database,sqlite,Java,Android,Database,Sqlite,在使用SQLiteAssetHelper打开和升级数据库时,我收到了很多关于NPE的Crashlytics报告。我做了一些研究,发现我不是唯一一个在OnePlus设备上有这个问题的人 在我的应用程序中,我在assets/databases文件夹中发送一个数据库,然后将其复制到数据库路径 这是我的数据库类: public class SQLHelper extends SQLiteAssetHelper { private static SQLHelper instance; pr
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构造函数时,也会发生相同的错误
crashlytics报告:
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设备上发生。这个错误有什么解决办法吗?我也面临同样的问题。特别是在一加二的情况下。到目前为止,您有任何修复程序吗?SQLiteAssetThelper GitHub repo上有一个修复程序,您应该查看它。