检测领域数据库中的更改并更新远程数据库android

时间:2018-05-26 05:25:41

标签: android database mobile realm

有没有办法检测领域数据库是否发生变化?

我正在Android应用程序上记录用户活动。我希望在本地更改时,使用本地域数据库中的更新值更新后端。这样我的后端总是与本地数据库同步。

1 个答案:

答案 0 :(得分:1)

正如Realm Documentation

中所述

- 添加更改侦听器。

- 添加数据

- 更改立即反映在onChangeListener中。

private RealmResults<Dog> puppies;

// ...

puppies = realm.where(Dog.class).lessThan("age", 2).findAll();
puppies.size(); // => 0

realm.executeTransaction(new Realm.Transaction() {
    @Override
    void public execute(Realm realm) {
        Dog dog = realm.createObject(Dog.class);
        dog.setName("Fido");
        dog.setAge(1);
    }
});

puppies.addChangeListener(new RealmChangeListener() {
    @Override
    public void onChange(RealmResults<Dog> results) {
      // results and puppies point are both up to date
      results.size(); // => 1
      puppies.size(); // => 1
    }
});

<强>更新

 localRealm.addChangeListener(new RealmChangeListener<Realm>() {
        @Override
        public void onChange(Realm realm) {
            //do stuff
        }
    });