我想在我的Android设备中存储json值

时间:2013-09-14 07:22:11

标签: json

我想在我的设备中存储json值。因为每次应用程序都需要时间来加载json值。而不是多次加载,只想加载整个json值一次。没有互联网,我可以使用它。一旦互联网连接,应用程序将自动加载json值。我怎么能这样做?

2 个答案:

答案 0 :(得分:0)

您可以使用数据库。

这样你也可以存储它。

Arraylist<ClassName> jsondata=new ArrayList<ClassName>

以下是一个例子:

public Class ClassName 
{

string fname;
string lname;

public void setfname(String fname)
{
this.fname=fname;
}

public void setlname(String lname)
{
this.lname=lname;
}

public String getlname(String lname)
{
return lname;
}

public String getfname(String fname)
{
return fname;
}

答案 1 :(得分:0)

您可以使用SharedPreferences将json保存在应用程序的存储空间中。

代码 / * save * /

SharedPreferences pref = context.getSharedPreferences("mydata", MODE_PRIVATE);
Editor editor = pref.edit();
editor.put("myjson", json.toString());
editor.commit();

/ * restore * /

JSONObject ret = null;
SharedPreferences pref = context.getSharedPreferences("mydata", MODE_PRIVATE);
String jsonStr = pref.getString("myjson", null);
if (!TextUtil.isEmpty(jsonStr)) {
    ret = new JSONObject(jsonStr); // need try-catch
}

==

每次启动应用程序时都进行还原。

对于第二部分&#34;一旦互联网连接,应用程序会自动加载json值。&#34;

您需要收听网络状态更改广播。当你收到广播说网络(或wifi)已连接,从服务器获取最新的json,替换内存中的json并将其保存到SharedPreferences