进行迁移后,我无法使用Realm.getInstance(context);再
错误:java.lang.IllegalArgumentException:如果用于打开同一文件,则配置不能具有不同的模式版本. 1对0
我看到我必须使用创建的配置进行迁移
RealmConfiguration config1 = new RealmConfiguration.Builder(this)
.schemaVersion(1)
.migration(new Migration())
.build();
现在我必须在我使用的地方再次创建config1
Realm.getInstance(上下文);
我曾经为每个方法添加这个以避免任何类型的null
public List<CustomClass> getAll() {
realm = Realm.getInstance(context);
....
}
public CustomClass getOneById(int id) {
realm = Realm.getInstance(context);
...
}
有时我在DAO类之外动态更改数据库,我使用这个:
Realm.getInstance(context).beginTransaction();
change object
Realm.getInstance(context).commitTransaction();
现在我必须创建这个CONFIG1(RealmConfiguration)无处不在?或者还有其他方法吗?
我尝试向MainClass添加这个Realm.setDefaultConfiguration(CONFIG1);但没有成功= /
我错误地检查或避免调用每个方法的getInstance的realm对象上的null?
解决方法:
使用Realm.setDefaultConfiguration(CONFIG1);
设置默认配置:
并使用Realm.getDefaultInstance();获取默认领域实例.