android - 迁移后 Realm.getInstance(context) 不再工作

标签 android realm

迁移后,我不能再使用 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) 吗?或者还有其他方法吗?

我尝试将此 Realm.setDefaultConfiguration(CONFIG1); 添加到 MainClass,但没有成功 =/

我在为每个方法调用 getInstance 的 Realm 对象上检查或避免 null 是错误的吗?

最佳答案

使用 Realm.setDefaultConfiguration(CONFIG1); 设置默认配置:

并使用 Realm.getDefaultInstance(); 获取默认 Realm 实例。

关于android - 迁移后 Realm.getInstance(context) 不再工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33879657/

相关文章:

android - 在不首先打开文件的情况下在 Android 上生成 FileDescriptor

android - 通过执行单个任务命令为所有模块运行 Ktlint

安卓应用程序。它也可以包含源代码吗?

android - realmio - Realm 对象只能从它们创建的线程访问

java - Realm 注释处理器错误未拾取

java - SpeechRecognizer 在启动后立即不匹配

java - 如何更改图像并在 5 秒后重新运行线程中的主要 Activity 后不返回到 android 中的基本布局

swift - 如何快速将结构保存到 Realm ?

ios - Realm 映射 null

java - 将 Realm 与 RxJava 2 结合使用