【发布时间】:2017-01-31 10:27:20
【问题描述】:
我想在共享首选项中存储多个整数值。这个可以吗?
【问题讨论】:
-
是的,您可以在arraylist中添加int值并将arraylist存储在sp中。
标签: android arraylist android-sharedpreferences
我想在共享首选项中存储多个整数值。这个可以吗?
【问题讨论】:
标签: android arraylist android-sharedpreferences
为了保存在SharedPreferences:
public void putListInt(String key, ArrayList<Integer> intList) {
checkForNullKey(key);
Integer[] myIntList = intList.toArray(new Integer[intList.size()]);
preferences.edit().putString(key, TextUtils.join("‚‗‚", myIntList)).apply();
}
用于从SharedPreferences检索:
public ArrayList<Integer> getListInt(String key) {
String[] myList = TextUtils.split(preferences.getString(key, ""), "‚‗‚");
ArrayList<String> arrayToList = new ArrayList<String>(Arrays.asList(myList));
ArrayList<Integer> newList = new ArrayList<Integer>();
for (String item : arrayToList)
newList.add(Integer.parseInt(item));
return newList;
}
【讨论】:
您可以使用 Set(form Java Collection) 在 Shared Preferences 中存储多个 Integer 值。
【讨论】:
使用 Gson 在 SharedPreferences 中存储数组
用于存储价值。
int[] list = new int[10];
String string=new Gson().toJson(list);
prefs.edit().putString("data", string).apply();
用于获取值。
String data=prefs.getString("data",null);
int [] list=new Gson().fromJson(data,int[].class);
【讨论】: