使用SharedPreference永久保存数据我如何将数据添加到ArrayList
问题描述:
我正在使用SharedPreference来保存从活动(A)在ListView中选择的数据(字符串),每次只选择一个,并保存通过SharedPreference,计划是读取并显示在ListView中的活动(B)中的这些数据(以及过去选择的所有较旧的数据)。使用SharedPreference永久保存数据我如何将数据添加到ArrayList
我怎样才能保存和添加每一次被选中,并保持所有的老年人保存像ArrayList,添加每一个新的ListView所有历史被选择?
答
您应该考虑使用SQLite数据库而不是SharedPreferences。
答
如果你真的想使用SharedReference你必须创建2种方法(从字符串到\)您的数据转换与解转换,如:
static final String UNIQUE_SPLIT_VALUE = "<|>";
String arrayListToString(List<String> list) {
StringBuilder result = new StringBuilder();
for (String value : list) {
result.append(value);
result.append(UNIQUE_SPLIT_VALUE);
}
return result.toString();
}
List<String> stringToArrayList(String prefString) {
return Arrays.asList(prefString.split(UNIQUE_SPLIT_VALUE));
}
...
saveToPreferences(arrayListToString(myDataList));
myDataList = stringToArrayList(getDataFromPreferences());
另一种方式你可以达到相同的结果 - 序列化\反序列化您的数据\从文件。