2

我看到 Parse.com 有一个适用于iOS 和 Android的本地数据存储。Ionic(或混合)应用程序的任何解决方案?

4

1 回答 1

2

不完全确定你在寻找什么,但是当我想用离线功能编写我的 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 相当大。

于 2015-11-13T01:09:30.967 回答