到目前为止,我已经研究了LocalStorage,WebSQL / SQLite,IndexedDB,Dexie.JS,FileSystem API,PouchDB,并浏览了更多内容。
仍然,Cordova似乎有大量的选项/插件可以处理本地存储和数据库。我的特定需求是我需要同时兼容iOS和Android,存储各种数据和相对简单的编码语法。任何/所有其他特征正在考虑中!是否有支持/正在开发或放弃它?多快/多小? ..etc。
我将不胜感激,它是一个经验丰富的建议,它简要说明了什么是“最佳”以及为什么。同样,它需要同时在iOS和Android上运行,并且简单,无障碍的实现是主要优点。
答案 0 :(得分:0)
首先,欢迎使用Stack Overflow。
现在您的问题:
我个人使用过-用于Cordova应用程序的localStorage和indexedDB,它们都非常出色。这是我的建议:
如果重点是简化编码:localStorage 。 跨设备的本地存储通常限制为大约5MB。最好存储少量数据。它在应用程序的卸载和安装过程中是持久的,如果用户打开了自动备份,它也会由Android自动备份。不过,如果设备空间不足,则可能会清除它。
如果重点是更结构化的数据组织和存储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集”。