Firebase:onChildAdded()即使脱机也会调用方法

时间:2017-01-08 15:11:29

标签: firebase firebase-realtime-database

在测试/调试时,我注意到当setValue()某些数据离线时,onChildAdded()会在我的侦听器上触发。 是否可以配置监听器,使其仅触发onChildAdded,如果子级确实已添加到数据库中?

谢谢:)

1 个答案:

答案 0 :(得分:1)

this blog post of mine中解释了您所看到的行为,并对违反安全规则的行为做了一些补充说明。对Firebase实时数据库的更改将在本地,立即反映并排队等待在服务器上执行,并在设备的互联网连接允许时完成。

您的代码不应该担心设备是在线还是离线。它应该只是读取和写入数据库,并假设所有数据将尽快同步。除非你想通过REST interface进行读写,否则你在Android / java中确实没有其他选择。这样效率和方便性都低得多,并且没有考虑到当前经过身份验证的用户。