如何使用 SharedPreferences 保存多个 Integer 值?
How to use SharedPreferences to save more than one Integer values?
我想在共享首选项中存储多个整数值。这可以做到吗?
您可以使用 Set(form Java Collection) 在共享首选项中存储多个整数值。
使用 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);
保存在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) 在共享首选项中存储多个整数值。
使用 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);
保存在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;
}