我有一个json文件,并将加载到realm文件。如果我想更新json文件,例如通知,我怎么能通过领域做到这一点?
默认情况下,通知设置为yes,想要更新为否。重启文件时,通知将设置为no。
我的问题是如何在领域中保存和加载数据。
public class Setting extends RealmObject {
@Required
private Boolean Notification;
private RealmList<Translation> Translations;
public Boolean getNotification() {
return Notification;
}
public void setNotification(Boolean notification) {
Notification = notification;
}
public RealmList<Translation> getTranslations() {
return Translations;
}
public void setTranslations(RealmList<Translation> translations) {
Translations = translations;
}
}
答案 0 :(得分:4)
我假设你只需要一个Setting
对象存储在Realm中。因此,无论何时您想要写/读它,始终使用findFirst
来尝试获取下面唯一的Setting
对象:
static Setting getSettingInstance(Realm realm) {
Setting setting = realm.where(Setting.class).findFirst();
if (setting == null) {
// The object doesn't exist.
realm.beginTransaction();
setting = realm.createObject(Setting.class);
setting.setNotification(true); // Make it default to true
realm.commitTransaction();
}
return setting;
}
如果您想更改通知:
Setting setting = getSettingInstance(realm);
realm.beginTransaction();
setting.setNotification(false);
realm.commitTransaction();
我不太确定你想用JSON做什么,但你可以看看Realm的JSON相关函数,如this。
关于写入Realm,请参阅doc。