我的phonegap/iOS应用程序有一个名为data.js的文件,其中包含一个数组。应用程序使用这个数组,一些更改会存储在其中。
现在,当用户退出我的应用程序时,我希望它保存对data.js文件的更改。有什么方法可以做到这一点吗?
UPDATE这是我的数组(data.js中的唯一内容):
var data = [
[0, "A", "B", "0", "0"],
[1, "C", "D", "0", "0"],
[2, "E", "F", "0", "0"],
...
];
**SOLVED!**我使用JSON对数组进行字符串化并将其保存到localStorage。它只需要与移动的Safari一起使用,所以这是一个很好的解决方案。感谢您给我的提示,使我解决了问题。
5条答案
按热度按时间sqxo8psd1#
如果你使用phonegap,那么你肯定可以使用文件系统。解决方案是使用JQuery中的
serializeArray()
方法将数组编码为JSON
。一旦你对你的数组进行编码,你将得到
JSON
字符串,你必须使用PhoneGap的Filewriter()
函数将其存储在一个文件中。希望对你有帮助:-)。
vsnjm48y2#
Phonegap(位于http://phonegap.com/tools/)建议使用Lawnchair:http://westcoastlogic.com/lawnchair/
因此您可以将该文件读入data.js,而不是将数据直接存储在那里
ckocjqey3#
您还可以使用localStorage保存数组(或者更好的是其成员),localStorage是一种键/值存储,可在本地存储您的数据,即使用户退出您的应用程序也是如此。
mec1mxoz4#
使用Lawnchair将数组保存为JSON对象。JSON对象将一直保存在内存中,直到为应用程序清除数据。
如果你想把它永久保存到本地文件系统上的一个文件中,那么我想你可以写一个phonegap插件来把数据发送到插件的本地代码中,插件将创建/打开一个文件并保存它。
nzk0hqpo5#
JavaScript无法直接篡改文件系统。您可以执行以下两项操作之一:
1.将更改保存到Cookie中并在下次读取
1.将更改(通过 AJAX )发送到一个PHP文件,该文件将在服务器上生成一个可下载的文件,并将其提供给客户端。
可能还有更多的解决方案,但这是我能想到的最合理的两个。