如何在领域中保存和加载数据

时间:2016-01-18 21:20:10

标签: android json realm

我有一个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;
    }
}

1 个答案:

答案 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