如何在SharedPreferences中保存JSON数组?

时间:2016-12-10 12:30:50

标签: java android json sharedpreferences

我是Android新手。我想在共享首选项中保存JSON数组。

以下是我的Java代码:

while (managedCursor.moveToNext())
{
    JSONObject jsonObject = new JSONObject();
    try
    {
        jsonObject.put("number", number);
        jsonObject.put("type", type);
        jsonObject.put("fDate", fDate);
        jsonObject.put("duration", duration);
    }
    catch (Exception e)
    {
        e.printStackTrace();
    }
    jsonArray.put(jsonObject);
}
managedCursor.close();
Log.d("array", jsonArray.toString());

1 个答案:

答案 0 :(得分:1)

首先,我使用Gson将json转换为Java对象,然后使用以下内容存储SharedPreferences

public void storeMyData(MyPojo myPojo) {
    preferences.edit().putString(SOME_SHARED_PREF_KEY, gson.toJson(myPojo)).commit();
}

将json转换为字符串并保存到sharedpreference

preferences.edit().putString(SOME_SHARED_PREF_KEY,jsonobject.toString()).commit();

从sharedPreference读取时通过

转换回json
String string = preferences.getString(SOME_SHARED_PREF_KEY, null);
JsonObject jsonObject = new JsonObject(string);