加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angularjs – 如何在设备联机时将脱机数据库与Firebase同步?

发布时间:2020-12-17 07:19:25 所属栏目:安全 来源:网络整理
导读:我目前正在使用angularJS和phonegap为 Android / iOS构建测试应用程序. 该应用仅使用存储在Firebase数据库中的文本数据.我希望应用程序拥有自己的本地数据库(在设备脱机时使用)和某些时候(当设备在线时) 与Firebase数据库同步. 离线模式使用phonegap / cordo
我目前正在使用angularJS和phonegap为 Android / iOS构建测试应用程序.

该应用仅使用存储在Firebase数据库中的文本数据.我希望应用程序拥有自己的本地数据库(在设备脱机时使用)和某些时候(当设备在线时)
与Firebase数据库同步.

离线模式使用phonegap / cordova的存储API.我可以只检查设备的在线状态并定期备份在线数据库吗?

关于我如何实现这一目标的任何线索?上次提出类似问题时,答案是“尚未”…… (here) ……因为它专注于假设的Firebase功能.

如果Firebase在开始时处于联机状态并暂时失去其连接,然后重新连接,则会同步本地数据.因此,在许多情况下,一旦Firebase在线,您可以在停电期间继续推送到Firebase.

对于真正的离线使用,您可能希望监控设备的状态,并观看.info / connected以了解Firebase何时连接.

new Firebase('URL/.info/connected').on('value',function(ss) {
   if( ss.val() === null ) /* firebase disconnected */
   else /* firebase reconnected */
});

使用当前Firebase工具集实现此目的的方法,直到它支持真正的离线存储,才会

>保持本地数据简单小巧
>当设备联机时,将本地存储的数据转换为JSON
>使用set()将数据保存到适当路径的Firebase中

此外,如果应用在设备离线时加载,出于某种原因,您可以通过调用set()“初始化”数据来“启动”Firebase.然后你可以像往常一样使用Firebase(就像它在线一样),直到它在将来的某个时刻上线(你也希望存储你的本地副本来处理它从未做过的情况).

显然,越简单越好.并发修改,本地存储大小的限制以及许多其他因素将很快累积,使任何离线存储解决方案复杂且耗时.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读