cordova 如何保存我的javascript数组到文件?

sigwle7e  于 2022-11-15  发布在  Java
关注(0)|答案(5)|浏览(146)

我的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一起使用,所以这是一个很好的解决方案。感谢您给我的提示,使我解决了问题。

sqxo8psd

sqxo8psd1#

如果你使用phonegap,那么你肯定可以使用文件系统。解决方案是使用JQuery中的serializeArray()方法将数组编码为JSON
一旦你对你的数组进行编码,你将得到JSON字符串,你必须使用PhoneGap的Filewriter()函数将其存储在一个文件中。
希望对你有帮助:-)。

vsnjm48y

vsnjm48y2#

Phonegap(位于http://phonegap.com/tools/)建议使用Lawnchair:http://westcoastlogic.com/lawnchair/
因此您可以将该文件读入data.js,而不是将数据直接存储在那里

ckocjqey

ckocjqey3#

您还可以使用localStorage保存数组(或者更好的是其成员),localStorage是一种键/值存储,可在本地存储您的数据,即使用户退出您的应用程序也是如此。

mec1mxoz

mec1mxoz4#

使用Lawnchair将数组保存为JSON对象。JSON对象将一直保存在内存中,直到为应用程序清除数据。
如果你想把它永久保存到本地文件系统上的一个文件中,那么我想你可以写一个phonegap插件来把数据发送到插件的本地代码中,插件将创建/打开一个文件并保存它。

nzk0hqpo

nzk0hqpo5#

JavaScript无法直接篡改文件系统。您可以执行以下两项操作之一:
1.将更改保存到Cookie中并在下次读取
1.将更改(通过 AJAX )发送到一个PHP文件,该文件将在服务器上生成一个可下载的文件,并将其提供给客户端。
可能还有更多的解决方案,但这是我能想到的最合理的两个。

相关问题