如何使用 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;
}