如何将会议室数据与Cloud Firestore同步?

时间:2019-06-16 12:33:07

标签: firebase google-cloud-firestore android-room

我想确保可以离线保存数据。如何将Room中的数据与Firestore同步?当必须同时更新Room Firestore中插入的内容时。

1 个答案:

答案 0 :(得分:0)

Firestore已经包含一个持久层,您根本不需要Room。您可以像这样启用离线支持:

val settings = FirebaseFirestoreSettings.Builder()
    .setPersistenceEnabled(true)
    .build()
db.firestoreSettings = settings

使用Firestore进行持久性处理比Room具有许多好处(除了节省的工作量和潜在的错误)。如果您例如加载城市中的所有餐厅,然后离线,然后在例如上运行查询最好的餐馆,即使该查询从未在线运行,它仍然可以使用并使用缓存的数据。

您还可以配置Firestore用来满足需要的缓存大小。文档以LRU方式缓存,因此,长时间未使用的文档将在缓存满后首先从缓存中删除。

最佳做法是始终使用快照侦听器。如果您以离线模式启动查询,并且设备恢复在线状态,Firestore将自动与服务器再次运行查询,并将更新后的结果返回到用户界面。

查看docsthis video about Firestore offline mode以获得更多详细信息。