启用Firebase离线持久化后无法接收ep2节点更新?排查求助
Firebase Realtime Database 节点同步问题解答
这不是操作错误,是keepSynced(true)方法的预期行为:
keepSynced(true)是针对单个节点生效的设置,你只为ep1节点开启了同步,Firebase只会保持该节点的数据与云端实时同步,未设置该方法的ep2节点不会自动同步变更。- 启用离线持久化(
setPersistenceEnabled(true))的作用是让应用在离线时能访问本地缓存的数据,但它不会自动同步所有节点——你需要为每个需要实时同步的节点单独调用keepSynced(true)。 - 要接收
ep2节点的变更,只需给该节点也添加同步设置:FirebaseDatabase.getInstance().reference.child("ep2").keepSynced(true) - 另外你的代码顺序是正确的:
setPersistenceEnabled(true)确实需要在获取任何数据库引用之前调用,这部分没有问题。
内容的提问来源于stack exchange,提问作者Yanay Lehavi
相关产品推荐
相关产品推荐

