动态更新phonegap JSON(android)

时间:2014-12-29 06:59:12

标签: android json cordova

注意:我的问题可能有点令人困惑。我会尝试清楚地解释清楚,但如果您认为缺少某些内容,请在评论中告诉我。

我正在使用phonegap创建一个Android应用。我的应用程序使用一些使用JSON提供给应用程序的数据。我打算用JSON发送我的应用程序,看起来像:

{
"8": [ {"subject":"Sample","room":"L2"} ],
"9": [ {"subject":"something","room":"L3"} ]
}

我正面临的问题

随着时间的推移,可能必须更改JSON的值。例如,"Sample"可能需要更改为"hello"这些更改必须由我从云端进行。这样,当用户连接到互联网并按下"更新"按钮,应该发生存储在其设备中的JSON中的这些更改。

注意:**我已经设置了托管,我的应用可以访问域名www.example.com/world.json上的更新json **

如何复制world.json的内容并将它们放入我用户设备中的本机JSON? 有帮助吗? 感谢。

1 个答案:

答案 0 :(得分:2)

您可以使用jQuery进行远程ajax调用,获取最新的JSON,替换现有的JSON。 我假设您将现有的JSON存储在localStorage

因此,您将拥有一个逻辑,将localStorage值设置为您在第一次运行时所需的值

if(firstRun){
    myjson={
           "8": [ {"subject":"Sample","room":"L2"} ],
           "9": [ {"subject":"something","room":"L3"} ]
    }
    window.localStorage("json", JSON.stringify(myjson));

然后点击更新按钮或来自用户的其他一些事件,您可以获取新的JSON并替换localStorage中的现有JSON

function onclick(){
    $.post( "www.example.com/world.json", function( data ) {
        window.localStorage("json", JSON.stringify(data));
    });
}

你想在哪里使用那个JSON,

var myjson=JSON.parse(window.localStorage("json"))

我认为这就是你要找的东西。