我看到 Parse.com 有一个适用于iOS 和 Android的本地数据存储。Ionic(或混合)应用程序的任何解决方案?
1 回答
不完全确定你在寻找什么,但是当我想用离线功能编写我的 Ionic 应用程序时,我使用新的 HTML5 localStorage 变量。
每次应用程序后台或退出时,我都会将我的应用程序数据和列表的快照保存到其中,因此当用户离线时,它仍然为用户提供内容。
如果要将对象存储到 localStorage 中,只需使用JSON.parse/stringify()
.
如果你想让获取/设置对象变得容易,只需修改原型:
Storage.prototype.setObject = function(key, value) {
this.setItem(key, JSON.stringify(value));
}
Storage.prototype.getObject = function(key) {
var value = this.getItem(key);
if (value) return JSON.parse(value);
else return false;
}
localStorage 只能保存字符串,并且它的限制因浏览器而异。
我用于保存较大 blob/图像/PDF/长列表/文件的其他方法是Apache cordova-plugin-file plugin。这提供了 Ionic App 文件系统访问权限(如果您需要离线访问,您可以在那里缓存自己的快照。只需检查连接并不断更新它,如果没有连接将您的应用程序定向到本地内容而不是在线内容)。
真的取决于你有什么样的应用程序。我将 HTML5 的 localStorage 用于我拥有的清单应用程序,类似于 iOS 的提醒应用程序,但对于不同的列表具有更大的灵活性,并且我将所有用户的列表作为 JSON 字符串保存到 localStorage。我有一个手动或自动更新设置,所以当它检测到连接时,它会与他们的帐户同步以使其保持最新状态。
我正在开发的另一个应用程序也可以创建 PDF 并同步它们,我使用 cordova-plugin-file 因为 PDF 相当大。