我正在使用反应性观察者(RxJava2)来监听数据库更改。
这是订阅方法:
fun subscribeGetTasks(): Flowable<List<Task>> {
val query = taskBox.query().build()
return RxQuery.observable(query).toFlowable(BackpressureStrategy.BUFFER)
}
但是,我只希望在表大小更改时得到通知。 如何实现?
谢谢
答案 0 :(得分:0)
没有特殊功能。如果您没有查询条件,则观察者将不得不在框中调用count()
(否则,Query对象上也将有一个count()
)。
但是,如果只对一个框中所有对象的计数感兴趣,最好不要使用查询。相反,您可以使用ObjectBox进行此操作:
DataObserver<Class<Task>> taskObserver = new DataObserver<Class<Task>>() {
@Override public void onData(Class<Note> data) {
long taskCount = taskBox.count();
}
};
boxStore.subscribe(Task.class).observer(taskObserver);
有关其他内容,请检查docs。