【问题标题】:How to use SharedPreferences to save more than one Integer values? [closed]如何使用 SharedPreferences 保存多个 Integer 值? [关闭]
【发布时间】:2017-01-31 10:27:20
【问题描述】:

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

【问题讨论】:

标签: android arraylist android-sharedpreferences


【解决方案1】:

为了保存在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;
}

【讨论】:

    【解决方案2】:

    您可以使用 Set(form Java Collection) 在 Shared Preferences 中存储多个 Integer 值。

    【讨论】:

    • 没有方法 putintSet("key", set);不适合我。我不懂程序员的逻辑,因为 sawal gandum rjaab channa hota hy.
    【解决方案3】:

    使用 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);
    

    【讨论】:

      猜你喜欢
      • 2012-02-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-20
      • 2015-06-28
      • 1970-01-01
      相关资源
      最近更新 更多