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

另一种方式你可以达到相同的结果 - 序列化\反序列化您的数据\从文件。