我想在共享首选项中存储多个整数值。这可能吗?
答案 0 :(得分:0)
您可以使用Set(表单Java Collection)在共享首选项中存储多个Integer值。
答案 1 :(得分:0)
使用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);
答案 2 :(得分:0)
保存在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;
}