领域迁移

时间:2016-07-05 09:40:13

标签: android realm realm-migration

早上好,

我打算在数据库发生变化时尝试清除我的首选项文件,因为有一系列数据使我无法将新数据存储在数据库中。

在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();
                    }
                })

但它不起作用

0 个答案:

没有答案