如何使用SharedPreferences保存多个Integer值?

时间:2017-01-31 10:27:20

标签: android arraylist android-sharedpreferences

我想在共享首选项中存储多个整数值。这可能吗?

3 个答案:

答案 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;
}