【发布时间】:2018-05-26 05:25:40
【问题描述】:
有没有办法检测领域数据库是否更改?
我正在 Android 应用上记录用户活动。每当本地发生变化时,我想用本地领域数据库中的更新值更新后端。这样我的后端总是与本地数据库同步。
【问题讨论】:
-
我已经更新了我的答案。检查并回复
标签: android database mobile realm
有没有办法检测领域数据库是否更改?
我正在 Android 应用上记录用户活动。每当本地发生变化时,我想用本地领域数据库中的更新值更新后端。这样我的后端总是与本地数据库同步。
【问题讨论】:
标签: android database mobile realm
-添加更改监听器。
-添加数据
-更改会立即反映在 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
}
});
【讨论】:
RealmChangeListener<Realm> 接口,我在onChange 中得到回调。但是在文档中提到过,您是对的,必须先注册监听器。