如何将数组保存到JSON中,然后将该JSON转换为字符串并将其保存到首选项Android中。之后,能够将首字母的字符串加载到JSON中,然后获取数组。由于libgdx中没有JSONarrays
答案 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()
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);