Sự cố là do một số thiết bị đang nâng cấp ứng dụng của bạn, vì vậy checkDataBase()
trả về true
, vì vậy bạn không gọi copyDataBase()
. Vì vậy, bạn đang sử dụng cơ sở dữ liệu trước đó không có generalSettings
để giải quyết vấn đề này, hãy thử:
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
if(newVersion>oldVersion)
copyDatabase();
}
và cũng cập nhật hàm tạo của bạn:
public InstallDB(Context context, String name) {
super(context, name, null, DB_VERSION);
// DB_VERSION is an int,update it every new build
this.ctx = context;
this.DBNAME = name;
this.DBPATH = this.ctx.getDatabasePath(DBNAME).getAbsolutePath();
Log.e("Path 1", DBPATH);
}