【问题标题】:Firebase-Android, How to sync data when resume after connection lost?Firebase-Android,连接丢失后恢复时如何同步数据?
【发布时间】:2015-12-24 00:41:01
【问题描述】:

我的情况是我在登录时连接到互联网,然后我关闭所有连接并发布一些数据(push + set)。之后,我再次连接,但我看到新数据没有发送到服务器。

如何在连接恢复后立即强制数据同步

注意我从一开始就使用这个:

Firebase.getDefaultConfig().setPersistenceEnabled(true);
Firebase ref = new Firebase(apiUrl);
ref.keepSynced(true);

【问题讨论】:

    标签: android firebase


    【解决方案1】:

    Firebase 会自动执行此操作。当连接丢失时,Firebase 将继续在本地处理离线触发事件并处理持久化到缓存中的数据。

    本地持久缓存有大小限制。当缓存达到限制时,SDK 将驱逐最少使用的数据。使用.keepSynced() 只是确保数据不会从缓存中清除的一种方式。

    【讨论】:

    • 感谢您的回复,但我等了很久但仍然没有看到任何新数据发送到数据库。
    • 您能否详细说明您在做什么以及您所看到的?因为 Firebase 会在设备重新连接时重新同步。
    • 随机发生。我尝试如下步骤: 1.登录(连接互联网) 2.关闭连接 3.调用推送+设置添加新数据 4.打开连接并等待。我试了 10 次,输了 2 次​​span>
    • 你有写什么安全规则吗?
    • 这听起来像网络问题,但无法分辨。如果您在创建任何 Firebase 引用之前调用 Firebase.getDefaultConfig().setLogLevel(Logger.Level.DEBUG) 来运行带有调试日志记录的 Firebase,您可能会获得更深入的了解。
    【解决方案2】:

    这个问题和Firebase-Android, Fail to save data after long time idle同理

    并不是真的要“关闭所有连接”,让应用闲置很长时间然后它就会发生。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-06-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多