Cordova本地存储/数据库选项-如何从不计其数的事物中选择一个?

时间:2019-05-21 11:17:10

标签: android ios cordova plugins local-storage

到目前为止,我已经研究了LocalStorage,WebSQL / SQLite,IndexedDB,Dexie.JS,FileSystem API,PouchDB,并浏览了更多内容。

仍然,Cordova似乎有大量的选项/插件可以处理本地存储和数据库。我的特定需求是我需要同时兼容iOS和Android,存储各种数据和相对简单的编码语法。任何/所有其他特征正在考虑中!是否有支持/正在开发或放弃它?多快/多小? ..etc。

我将不胜感激,它是一个经验丰富的建议,它简要说明了什么是“最佳”以及为什么。同样,它需要同时在iOS和Android上运行,并且简单,无障碍的实现是主要优点。

1 个答案:

答案 0 :(得分:0)

首先,欢迎使用Stack Overflow。

现在您的问题:

我个人使用过-用于Cordova应用程序的localStorage和indexedDB,它们都非常出色。这是我的建议:

  1. 如果重点是简化编码:localStorage 。 跨设备的本地存储通常限制为大约5MB。最好存储少量数据。它在应用程序的卸载和安装过程中是持久的,如果用户打开了自动备份,它也会由Android自动备份。不过,如果设备空间不足,则可能会清除它。

  2. 如果重点是更结构化的数据组织和存储JSON对象:indexedDb 。 indexedDb允许存储更多数据。但是,存在一条学习曲线,因为它在语法方面要复杂得多。

要获得最佳结果,请同时使用两者

刚开始:请勿立即进入indexeddb。它可能会吓到你。如果您只是开始,那么我强烈建议您使用 localStorage

此外,请检查以下小型JS库:https://github.com/tranclix/XJS 这将使您使用localStorage和sessionStorage更加轻松快捷。文档也很好。示例:

使用香草JS将数组存储到localStorage:

localStorage.setItem('myArray', JSON.stringify(array));

并使用XJS,可以这样做:

x.jls('myArray', array);

jls代表“ JSON localStorage集”。