我的arrays.xml中有两个语言数组。所有语言和默认语言。
我有一个有两个字段的语言类。名称和isSelected。
我正在首次运行我的应用程序时将所有语言添加到我的Realm数据库中。如果语言是默认语言数组,我正在设置isSelected语言字段。
我的问题是,当我更新我的arrays.xml中的所有语言并发布我的应用程序的更新时,如何获取所选语言的旧领域数据,然后清除领域数据库并使用所有语言创建一个全新的在我的arrays.xml中,使用所选语言的旧域数据设置isSelected?
答案 0 :(得分:1)
realm.executeTransaction(realm1 -> realm1.copyToRealmOrUpdate(languageList));
realm.executeTransaction(realm1 -> realm1.delete(LanguageClass.class));
realm.executeTransaction(realm1 -> realm1.copyToRealmOrUpdate(languageList));
Realm.deleteRealm(realmConfiguration);
realm.executeTransaction(realm1 -> realm1.copyToRealmOrUpdate(languageList));
注意:在您的情况下,最推荐的选项是选项no.1,这是在Realm中更新数据的最安全可靠的方法。
注意2:您不应每次都复制语言数据,而只应在语言数据发生变化时复制/更新语言数据。