Android: allowBackup = "true" AndroidManifest.xml के अंदर ऐप के अनइंस्टॉल होने के बाद भी डेटा को क्लियर होने से रोकता है।
इसे अपनी अभिव्यक्ति में जोड़ें:
android:allowBackup="false"
और एप्लिकेशन को पुनर्स्थापित करें।
नोट: सुनिश्चित करें कि यदि आप ऑटो बैकअप चाहते हैं तो आप इसे बाद में सही में बदल दें।
एक और समाधान:
अपने पुराने जोंस फाइल की पहचान और एप्स / स्कीमा फोल्डर में नए जोंस फाइल को देखें।
यदि पहचान अलग है, तो वह त्रुटि देगा। यदि आप कुछ भी बदलना नहीं चाहते हैं, तो दोनों json फ़ाइलों की तुलना करके आपने क्या बदला है, इसका पता लगाएं।
सुनिश्चित करें कि आपके पास ExportSchema = true है।
@Database(entities = {MyEntity.class, ...}, version = 2, exportSchema = true)
json स्कीमा फ़ाइल:
"formatVersion": 1,
"database": {
"version": 2,
"identityHash": "53cc5ef34d2ebd33c8518d79d27ed012",
"entities": [
{
कोड:
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.");
}
}