我在MainActivity
中使用了4个RecycleView
,它使用FirestoreRecyclerAdapter
从Cloud Firestor加载数据。现在,我想在ReceiptActivity
中使用Room
为用户创建收据。
我做了所有的工作人员,但是当我尝试删除和更新Room
中的项目时出现了一些错误。我的应用程序崩溃了,所以我在问是否与我正在做的事情有冲突?如果没有,请用最佳实践来指导我。提前谢谢。
发布于 2019-02-09 18:33:41
使用云Firestore时,offline persistence
对于Android和iOS,默认开启离线持久化。要禁用持久性,请将PersistenceEnabled选项设置为false。
这意味着Firestore将在用户设备上创建整个数据库的本地(内部)副本。因此,无需添加额外的本地数据库也可以实现您想要的相同功能,因为默认情况下,本地数据库已经存在。
此外,如果只需要从缓存中获取数据,可以借助DocumentReference.get(Source source)和Query.get(Source source)方法来实现。
默认情况下,
get()
会在可能的情况下通过等待来自服务器的数据来尝试提供最新数据,但如果您处于脱机状态且无法访问服务器,则它可能会返回缓存的数据或失败。可以通过Source参数更改此行为。
因此,我们现在可以将源作为参数传递给DocumentReference
或Query
,这样我们就可以强制从server only
、chache only
或尝试服务器检索数据,并回退到缓存。
https://stackoverflow.com/questions/54603924
复制相似问题