2017-03-01 18 views
0

私はrealm dbを/ data/..フォルダに保存しています。アンドロイドスタジオで同じアプリバージョンを再インストールすると、そのプロセスはデータを保持します。しかし、私が下位のアプリケーションバージョンから上位に更新すると、それは削除されます。アプリのアップデート後にこのデータベースを保存する理由と理由は何でしょうか?移行コード:APIからアンドロイドアプリのアップデート後にrealm dbを保存

public class FRGMigration implements RealmMigration { 
@Override 
public void migrate(DynamicRealm realm, long oldVersion, long newVersion) { 
    if (oldVersion == 3) { 
     realm.getSchema().create("Settings") 
       .addField("id", Integer.class, FieldAttribute.PRIMARY_KEY) 
       .addField("userName", String.class) 
       .addField("cachePolitics", String.class) 
       .addField("soundUri", String.class) 
       .addField("cacheDir", String.class) 
       .addField("timeStamp", Long.class); 

     realm.getSchema().get("NewsItem") 
       .addField("teaser", String.class); 
     oldVersion++; 
     SettingsDB settingsDB = DependencyProvider.getInstance().provideSettingsDB(); 
     Settings settings = settingsDB.getSettings(); 
     settings.setTimeStamp(0L); 
     settingsDB.updateSettings(settings); 
    } 
} 

@Override 
public int hashCode() { 
    return 37; 
} 

@Override 
public boolean equals(Object obj) { 
    return obj instanceof FRGMigration; 
} 

}

答えて

0

23+アンドロイドOSが自動的にデータのバックアップを作成します。 あなたはthisリンクで詳細を読むことができ、あなたのAndroidManifest.xml

<application ... 
    android:allowBackup="false"> 
</app> 

にこのコード行を追加し、バックアップを作成したくない場合。

+0

私はこのパラメータを "true"に設定していますが、残念ながら –

+0

@MMimimovichあなたは 'RealmConfiguration'を投稿できますか? – FiN

+0

realmConfiguration = new RealmConfiguration.Builder().name( "settings.realm").schemaVersion(4).migration(新しいFRGMigration()).build(); M.Maximovich @ –

関連する問題