ilbgdx JSON将数组保存到首选项中

时间:2016-02-23 22:44:23

标签: android json libgdx

如何将数组保存到JSON中,然后将该JSON转换为字符串并将其保存到首选项Android中。之后,能够将首字母的字符串加载到JSON中,然后获取数组。由于libgdx中没有JSONarrays

2 个答案:

答案 0 :(得分:2)

我想,

import com.badlogic.gdx.utils.Json;

Json json = new Json();

创建函数以获取libgdx首选项。

private Preferences getPreferences() {
   return Gdx.app.getPreferences(PREFERENCES_NAME);
}

然后,将您的数组转换为字符串,

String str = json.toJson(yourArray);

最后,使用putString()

将字符串传递给libgdx首选项
getPreferences().putString(ARRAY_JSON_PREFERENCES, str);
getPreferences().flush();

从首选项中获取数组。

String theArrayString = getPreferences().getString(ARRAY_JSON_PREFERENCES,json.toJson(defaultArray));

接下来,将theArrayString构建成数组

int[] yourBuidArray = json.fromJson(int[].class, theArrayString);

String[] yourBuidArray = json.fromJson(String[].class, theArrayString);

答案 1 :(得分:0)

我不知道你能用libgdx做什么,但如果你可以自由使用外部库,你应该使用Gson。 您使用Gson在json String中序列化对象,然后将其保存在首选项中。之后,你进行“反向”。

private static String listToJson(List<?> list){
    return new GsonBuilder().excludeFieldsWithoutExposeAnnotation().create().toJson(list);
}

然后:

JSONObject myJson = new JSONObject(stringFromMyPreferences);