我试图将一个int数组保存到共享首选项中.
int myInts[]={1,2,3,4};
SharedPreferences prefs = getSharedPreferences(
"Settings", 0);
SharedPreferences.Editor editor = prefs
.edit();
editor.putInt("savedints", myInts);
Run Code Online (Sandbox Code Playgroud)
由于putInt方法不接受int数组,我想知道是否有人知道另一种方法.谢谢
AZ1*_*Z13 11
考虑JSON.JSON很好地集成到Android中,您可以序列化任何复杂类型的Java对象.在您的情况下,以下代码将很适合.
// write
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
JSONArray arr = new JSONArray();
arr.put(12);
arr.put(-6);
prefs.edit().putString("key", arr.toString());
prefs.edit().commit();
// read
try {
arr = new JSONArray(prefs.getString("key", "[]"));
arr.getInt(1); // -6
} catch (JSONException e) {
e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)