Phonegap - 从数据库脱机访问数据

时间:2015-07-26 13:16:36

标签: html5 cordova web-sql lawnchair

我的服务器端有多个表,我需要从客户端 Phonegap 获取数据并存储它,以便可以离线访问。

我找到了Lawnchair,但是我找不到足够的文档来保存和更新多个表格。

还有WebSQL,但我相信它已被弃用。 (如果我错了,请纠正我)

只有当设备在线连接时,如何获取新数据/当前数据才会更新?!换句话说,任何操作都将对保存在设备上的数据进行。

2 个答案:

答案 0 :(得分:1)

有几个SQLite插件,我使用了Brodysoft的插件成功: https://github.com/litehelpers/Cordova-sqlite-storage

当设备上线/离线时没有事件。有一个网络连接事件插件(cordova-plugin-network-information)。您还可以在应用启动时进行同步,或者具有“立即同步”按钮/手势,以便用户可以按需进行同步。

答案 1 :(得分:0)

您可以使用pouchdb

  

PouchDB是一个受Apache启发的开源JavaScript数据库   CouchDB旨在在浏览器中良好运行。

那里的文档非常好,而且效果很好。

您可以使用它来远程one复制/同步(双向)本地数据库。

您始终可以禁用复制并自行管理。

它可以与不同的adapters

一起使用
  • localStorage的
  • 索引资料
  • WebSQL

它可以与Cordova / PhoneGap的SQLite插件一起使用。

Nic Raboy在他的youtube channel上创建了一个关于pouchdb的非常好的视频教程。

如果您想在应用上线时激活手动同步,可以使用cordova-plugin-network-information

cordova plugin add cordova-plugin-network-information

以及来自ngCordova的$ cordovaNetwork插件 您可以简单地拦截在线活动:

$rootScope.$on('$cordovaNetwork:online', function(event, networkState){

});

并采取行动。