在数据库中插入一些Dao
s之后,这个message
方法的结果是什么:
@Query("SELECT * FROM messages")
Flowable<List<Message>> getMessages();
1 - 存储在数据库中的所有message
s将在此更改后发出
要么
2 - 改变后只会发出新旧message
s之间的差异吗?
在哪个文件中指定了?如果首先,我该怎么做才能找到差异 - 像DiffUtils
或其他方法?
附:如果我删除一些消息怎么办?
LiveData<List<Message>>
代替。行为是相同的,您不必担心处置订阅,也不必担心配置更改。但是,当你必须返回一个结果时,我会使用Single
或Maybe
。更新:您可以检索消息的子集并按需更新消息,而不是获取所有消息并使用DiffUtils查看它们之间的差异。新的Paging library in Android可以帮助你做到这一点。同样,有很多关于如何做到这一点的信息所以我不打算在这里提供实现的细节,因为它超出了问题的范围,但在这里你有one of the many tutorials可用。