在混合应用程序开发中使用本地存储;本地数据库“-危险或有用
Using Local Storage in Hybrid App Development as a "Local Database" - Dangerous or Useful?
我正在构建一个混合应用程序(Ionic),只需要本地存储来保存我的数据库对象。
该应用程序只允许您存储、编辑和查看简单的笔记。
现在,很明显,我需要确保当用户保存笔记时,它仍然存储在他的手机上。
我的问题是,在这种情况下使用window.localstorage
有什么危险吗此外,在哪些情况下,用户会丢失所有数据一个明显的例子是当他删除并重新安装应用程序时。
如果不采用本地存储,还有哪些其他方法(或者它总是需要服务器端解决方案)?
本地存储确实是在Cordova应用程序中存储数据的一种简单方法。正如JohnAndrews所指出的,如果用户清理应用程序数据,所有数据都可能丢失。除此之外,LocalStorage还存在一些限制:
- 它对键值对非常方便,但很难存储复杂的数据
- 您无法"查询"您的数据
- 如果你在移动应用程序上使用了多个网络视图,你需要你的HTML5内容来自同一个域,否则LocalStorage数据将不会在网络视图之间共享
如果你想了解更多关于Ionic(Cordova)应用程序数据存储可能性的信息,请查看其官方文档http://cordova.apache.org/docs/en/4.0.0/cordova_storage_storage.md.html
在使用localStorage(在我的情况下)时,我发现有一些严重的限制,包括:
- 存储限制(~5MB)取决于浏览器(有关更多信息,请点击此处)
- 只存储字符串,以便最终转换为json(json.stringfy)并通过json对象进行查询
- 一旦移动存储空间已满,它将强制存储空间中的所有数据
我最终在寻找新的候选人(sqlite似乎很有前途,但在iOS 10上有一些问题)另一方面,如果您的应用程序存储的数据量很小,或者大部分都与在线数据库进行交易。localStorage看起来不错
- 易于使用,已适用于大多数浏览器
- Json的工作方式类似于NoSQL
相关文章:
- 将输入字段中的文本提交到我的数据库,同时将其添加到我的列表中
- 如何通过php页面将数据库值检索到jquery自动完成框中
- 使用javascript从数据库中添加表
- 通过CSV文件上载更新数据库表
- 平均值:无法将数据更新到数据库
- 如何使用 Angular JS 将数据保存在数据库中
- Rails-JQueryUIAutcomplete和AJAX不工作,可以't连接到数据库
- 在谷歌地图上绘制位置数据库
- PHP:显示sqlite数据库中的html格式数据,使用tinymce保存
- 将地理编码结果转换为php变量以发布到mysql数据库
- 从数据库中检索字段,而不模拟它们
- javascript:将数据库中的数据插入到html5文本字段中
- 从数据库中获取数据并插入JavaScript变量
- JavaScript,PHP-用JavaScript将多个数据库记录发送到变量或表
- 从MySQL数据库中获取输入数据需要两次页面刷新
- 在cordova android应用程序中连接数据库
- 根据条件检查数据库结果
- Jquery(多读/少读)在从数据库加载整个数据后不起作用
- 使用ASP.NET将谷歌地图添加到项目中,并从数据库中检索位置
- 在混合应用程序开发中使用本地存储;本地数据库“-危险或有用