我的服务器端有多个表,我需要从客户端 Phonegap 获取数据并存储它,以便可以离线访问。
我找到了Lawnchair,但是我找不到足够的文档来保存和更新多个表格。
还有WebSQL,但我相信它已被弃用。 (如果我错了,请纠正我)
只有当设备在线连接时,如何获取新数据/当前数据才会更新?!换句话说,任何操作都将对保存在设备上的数据进行。
答案 0 :(得分:1)
有几个SQLite插件,我使用了Brodysoft的插件成功: https://github.com/litehelpers/Cordova-sqlite-storage
当设备上线/离线时没有事件。有一个网络连接事件插件(cordova-plugin-network-information)。您还可以在应用启动时进行同步,或者具有“立即同步”按钮/手势,以便用户可以按需进行同步。
答案 1 :(得分:0)
您可以使用pouchdb:
PouchDB是一个受Apache启发的开源JavaScript数据库 CouchDB旨在在浏览器中良好运行。
那里的文档非常好,而且效果很好。
您可以使用它来远程one复制/同步(双向)本地数据库。
您始终可以禁用复制并自行管理。
它可以与不同的adapters:
一起使用它可以与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){
});
并采取行动。