【发布时间】:2016-10-21 18:01:00
【问题描述】:
我是第一次使用firebase,阅读了firebase的离线功能,测试了两个场景:
场景 1(工作):
离线模式,将数据写入firebase数据库。
按下后退按钮(关闭应用)
- 上线,数据已添加到firebase数据库。
场景 2(不工作):
- 离线模式,将数据写入firebase数据库
- 关闭应用
- 从后台移除应用(杀死应用)
- 已上线,数据未添加
我添加了这一行:
Firebase.getDefaultConfig().setPersistenceEnabled(true);
如何处理场景 2 ?我需要通过本地数据库处理这种情况吗?
【问题讨论】:
-
当您使用 Firebase 启用持久性时,它会将本地写入操作(但不是本地事务)持久化到磁盘,以便它们能够在应用重新启动后继续存在。但在场景 2 中,数据不会被发送到服务器,直到您重新启动应用程序。如果这不能解决问题,请显示问题的最小、完整再现。代码描述比实际代码更模糊。
-
我也遇到了同样的问题,如果你有任何解决方案,请帮忙
-
参考您的评论@FrankvanPuffelen,这是否意味着使用
setValue()或updateChildren()之类的方法设置的值在写入远程数据库之前会在本地持久化,而runTransaction()方法却没有这样做?对吗? -
我在 ionic 应用中遇到了同样的情况,有什么解决方法的想法吗?
-
我认为 Firebase 软件包中没有解决方案。也许如果你需要保存重要数据,你可以检查手机是否离线,然后将数据保存在本地,稍后在线同步回来
标签: android firebase firebase-realtime-database