Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript PhoneGap应用程序的持久数据_Javascript_Cordova_Local Storage - Fatal编程技术网

Javascript PhoneGap应用程序的持久数据

Javascript PhoneGap应用程序的持久数据,javascript,cordova,local-storage,Javascript,Cordova,Local Storage,编辑#2-到目前为止(2天后)的回复都是个人意见和偏好,而不是对离线phoneGap应用程序必须在所有相关设备上轻松存储简单数据的各种选项的分析。因此,我还没有接受任何答案,但我遵循这个问题 对于我正在构建的PhoneGap web应用程序,应该寻找哪种格式的持久数据,我有点困惑。我一直在研究这个问题,但鉴于我的要求一般,事情并不清楚 该应用程序是一款教育应用程序,附带了大约100个选择题和一些记忆游戏 下载后的应用程序可以保持脱机状态 它适用于所有phonegap支持的设备 我想读写的唯一数据

编辑#2-到目前为止(2天后)的回复都是个人意见和偏好,而不是对离线phoneGap应用程序必须在所有相关设备上轻松存储简单数据的各种选项的分析。因此,我还没有接受任何答案,但我遵循这个问题

对于我正在构建的PhoneGap web应用程序,应该寻找哪种格式的持久数据,我有点困惑。我一直在研究这个问题,但鉴于我的要求一般,事情并不清楚

该应用程序是一款教育应用程序,附带了大约100个选择题和一些记忆游戏

下载后的应用程序可以保持脱机状态

它适用于所有phonegap支持的设备

我想读写的唯一数据是用户的表现、每张卡的总错误次数等以及游戏的高分

这些都是非常基本的信息,可以保存在非常简单的js对象中

我希望它是一个相当简单的解决方案,并且非常容易维护/重复

我最好的选择是什么?phonegap文件api?json/lawnchair?本地存储?饼干?是否有办法“更新”应用程序并将其作为javascript中的对象保存?websql?方铅矿?存储API

其中一些似乎有些过分了

编辑
设备是否存在差异?我应该进行一些设备检测并使用不同的技术?

我个人喜欢localStorage。这是直截了当的,适用于大多数情况


如果您只是记录上面提到的数据,本地存储将是完美的。我只需要使用say
JSON.stringify()
将数据对象转换为字符串,然后在使用
JSON.parse()
时将其重新转换为可用的JS对象。我使用localStorage保存持久数据,但它不太可靠。我看到一些数据丢失了,但我不知道为什么。但我的持久数据使用并没有那么关键,所以我不介意这些不一致


但你的案子似乎更重要。我会将我的持久数据存储在中,使用。

试试我的库,它由IndexedDB(出色的性能,按索引扫描查询)、WebSQL(良好的性能,SQL查询)或localStorage(性能良好,无查询,按键获取,2.5 MB限制)支持

高性能的同时仍然很容易


不喜欢库依赖关系,请获取原始源代码,Phonegap支持SQL Lite的本地存储


对不起,我没有更多的信息。我对这个话题很感兴趣,碰巧遇到了它。

看起来这些都是不错的,尽管我还没有试过


如果你用的是AngularJS,我喜欢。这是我尝试过的,非常棒。

我认为,只要稍加阅读和搜索,您应该能够消除其中一些可能性,并描述您对其他可能性的担忧。只要总结一下你能找到的每一种技巧“可能会引发辩论、争论、投票或广泛的讨论”。我当然想到了我的问题是否主观。几个小时前,我尝试了“小”阅读法。让我确信我不仅仅是在问一个“我很懒,什么是最好的?”的问题是我对需求的准确描述,phoneGap技术最近才稳定下来,移动平台也在不断变化,导致许多互联网文章不合适和/或过时。谢谢,我对localstorage的担忧源于phoneGap今年早些时候在iphone localstorage上遇到的问题。这是由于iOS的变化,phoneGap团队很快解决了这个问题。这不再是一个问题了。谢谢,你有什么理由不使用lawnchair吗?lawnchair对我的用例来说太过分了。我所需要的只是奇数键/值对或一些序列化对象。我有一个与问题中描述的类似的用例。我使用的localStorge与本答案中描述的类似。它非常简单,效果非常好。我建议将其用于这样一个简单的用例!干杯,您最近还有什么问题?它与存储API相比如何?即使是最近,我偶尔也会丢失数据。这可能也是一个实现问题。但我没有研究根本原因。正如我所说,我真的不太在乎这个。我没有丢失Documents文件夹中的任何数据。localStorage是非事务性的。因此,如果您先写后读,则不会立即获得更新的数据。localStorage文件保存在Library/Caches目录中,如果系统空间非常小,操作系统可能会删除此目录。对我来说,这就是为什么我的数据有时会丢失的原因。很酷,谢谢,很抱歉让人感到痛苦,但你有任何链接可以帮助我理解其原理吗,我以前从未使用过类似的东西,我有点担心将其写入,然后发送到应用商店,你能预见任何phoneGap或任何设备/操作系统的潜在问题吗?我认为浏览器兼容性很好。对你的知识来说,它经受了很多考验吗?
db = new ydn.db.Storage('test-store');

db.put('store1', {test: 'Hello World!'}, 123);

req = db.get('store1', 123);
req.done(function(record) {
  console.log(record);
});