android: allowBackup = "true" di dalam AndroidManifest.xml mencegah data dihapus bahkan setelah aplikasi di-uninstal.
Tambahkan ini ke manifes Anda:
android:allowBackup="false"
dan instal ulang aplikasi.
Catatan: Pastikan Anda mengubahnya kembali ke true nanti jika Anda ingin backup otomatis.
Solusi lain:
Periksa identitasHash file json lama Anda dan file json baru di folder apps \ schema.
Jika identitasHash berbeda, itu akan memberikan kesalahan itu. Cari tahu apa yang telah Anda ubah dengan membandingkan kedua file json jika Anda tidak ingin mengubah apa pun.
Pastikan Anda memiliki exportSchema = true.
@Database(entities = {MyEntity.class, ...}, version = 2, exportSchema = true)
file skema json:
"formatVersion": 1,
"database": {
"version": 2,
"identityHash": "53cc5ef34d2ebd33c8518d79d27ed012",
"entities": [
{
kode:
private void checkIdentity(SupportSQLiteDatabase db) {
String identityHash = null;
if (hasRoomMasterTable(db)) {
Cursor cursor = db.query(new SimpleSQLiteQuery(RoomMasterTable.READ_QUERY));
try {
if (cursor.moveToFirst()) {
identityHash = cursor.getString(0);
}
} finally {
cursor.close();
}
}
if (!mIdentityHash.equals(identityHash) && !mLegacyHash.equals(identityHash)) {
throw new IllegalStateException("Room cannot verify the data integrity. Looks like"
+ " you've changed schema but forgot to update the version number. You can"
+ " simply fix this by increasing the version number.");
}
}