早上好,
当数据库发生更改时,我将尝试清除我的首选项文件,因为有一系列数据使我无法将新数据存储在数据库中。
在 MyApplication 我有:
RealmConfiguration realmConfiguration = new RealmConfiguration.Builder(getApplicationContext())
.name("PayThunderHologram.realm")
.schemaVersion(5)
.migration(new MyMigration())
.deleteRealmIfMigrationNeeded()
.build();
Realm.setDefaultConfiguration(realmConfiguration);
在 MyMigration 我有:
public class MyMigration extends AppCompatActivity implements RealmMigration{
public static SharedPreferences editor;
@Override
public void migrate(DynamicRealm realm, long oldVersion, long newVersion) {
editor = getSharedPreferences("Configuración", MODE_PRIVATE);
editor.edit().clear().commit();
}
}
但是当我对数据库进行更改时,我无法删除首选项文件,从而在应用程序中出现错误并关闭它。
到目前为止,我一直在做的所有证据都是清晰的应用程序数据,并且它有效,但我想自动化我提出的方式。
编辑
在我有以下内容之前只删除了一些字段首选项文件:
.migration(new RealmMigration() {
@Override
public void migrate(DynamicRealm realm, long oldVersion, long newVersion) {
editor.remove("hologram_id");
editor.remove("hologram_ver");
editor.commit();
}
})
但它不起作用