我正在阅读有关观察查询的文档。
Query<Task> query = taskBox.query().equal(Task_.completed, false).build();
subscription = query.subscribe().observer(data -> updateUi(data));
据我了解,这段代码每次都返回所有数据。 但是要使RecyclerView添加/删除动画起作用,我们需要知道哪些数据被更改,并且我们需要知道数据发生了什么样的更改(删除/更改/添加(。
无论如何只能获取更改的数据吗?
定义更改不是 ObjectBox 的责任。在Android中,有DiffUtil负责这一点。如果你谷歌,你可以找到大量的例子(例如样本(。唯一的建议是,如果您的列表包含大量项目或项目很胖(包含数十个字段(,请将 DiffUtil 有效负载放入后台线程。