java - Firebase 实时数据库:如何停止离线写入?(最佳方法)
问题描述
目前,为了防止从离线返回后写入 Firebase,我会在每次写入操作之前检查互联网连接。我所说的不仅仅是检查网络连接,还包括是否有实际的互联网访问可用。我 ping google.com 以找出答案。
我认为这不是最好的方法。
那么,当没有可用的互联网连接时,告诉 Firebase 不要缓存任何写入操作并预览一个简单的“没有可用的互联网连接”消息的最佳做法是什么?
解决方案
如果您真的必须让您的应用程序在用户设备暂时失去连接时无法使用,您将不得不将监听器添加到一个名为/.info/connected
. 它会在 SDK 认为它已失去连接时告诉您。这在文档中有所描述。当您的侦听器收到这样的通知时,您必须编写代码以使您的应用程序按照您想要的方式运行。
但是,您的应用程序可能仍然在从连接停止到 SDK 决定连接实际消失之前的时间内写入数据。这些写入仍将同步。
最好让您的应用程序可以离线使用,并在他们的数据由于离线而尚未同步时通知用户。
推荐阅读
- javascript - onPress 和 onChangeText 在 React Native 中什么都不做
- angular-material - 输入文本中的占位符,带有角度 6 中的一些默认标签
- isabelle - 无法找出相互递归谓词的归纳规则
- asp.net-mvc - AspNetUsers 后代:树视图 MVC
- python-3.x - Pyppeteer 在 Linux 和 Windows 上的行为不同
- actions-on-google - 如何控制智能灯(颜色、色温、亮度)
- javascript - HTML5 视频 - 暂停几秒钟然后继续播放
- python - 如何在 python 中为 firestore 批处理 500 多个操作?
- php - 在删除路由中传递变量会导致“找不到页面”错误 - Laravel
- python - 列表的条件合并