迁移后,我不能再使用 Realm.getInstance(context);
错误:java.lang.IllegalArgumentException:如果用于打开同一文件,配置不能有不同的架构版本。 1 对 0
我看到我必须使用之前创建的配置来进行迁移
RealmConfiguration config1 = new RealmConfiguration.Builder(this)
.schemaVersion(1)
.migration(new Migration())
.build();
现在我必须在所有使用
的地方重新创建 config1Realm.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) 吗?或者还有其他方法吗?
我尝试将此 Realm.setDefaultConfiguration(CONFIG1);
添加到 MainClass,但没有成功 =/
我在为每个方法调用 getInstance 的 Realm 对象上检查或避免 null 是错误的吗?
最佳答案
使用 Realm.setDefaultConfiguration(CONFIG1);
设置默认配置:
并使用 Realm.getDefaultInstance();
获取默认 Realm 实例。
关于android - 迁移后 Realm.getInstance(context) 不再工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33879657/