在 API 级别 8 中,将字符串的 ArrayList
保存到 SharedPreferences
的最佳方法是什么?我现在能想到的唯一方法是将所有字符串保存到一个用逗号分隔的字符串中,然后以这种方式保存。但是我不知道字符串是否有最大大小。
有更好的方法吗?
最佳答案
如果你能保证 ArrayList
中的 String
不包含逗号,你可以简单地使用
List<String> list = new ArrayList<String>();
...
editor.putString(PREF_KEY_STRINGS, TextUtils.join(",", list));
并阅读列表
String serialized = prefs.getString(PREF_KEY_STRINGS, null);
List<String> list = Arrays.asList(TextUtils.split(serialized, ","));
您受到设备内存的限制。使用后台线程读取/写入共享首选项是一种很好的做法。
关于android - 将字符串数组列表保存到共享首选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12150597/