将ArrayList转换为String以存储在共享首选项中

时间:2015-01-31 09:54:08

标签: java android string arraylist sharedpreferences

我有多个值的ArrayList。我想将此ArrayList转换为String以保存在sharedPreferences中,然后我想检索String并将其转换回ArrayList

请告诉我该怎么做? (或任何其他存储和检索ArrayList的想法)

2 个答案:

答案 0 :(得分:3)

您可以使用Google的GSON。

  

Gson是一个Java库,可用于将Java对象转换为   他们的JSON表示。它也可以用于转换JSON   字符串到等效的Java对象。 Gson可以使用任意Java   对象包括您没有的预先存在的对象   。的源代码。

http://google-gson.googlecode.com/svn/trunk/gson/docs/javadocs/com/google/gson/Gson.html

https://code.google.com/p/google-gson/

你明白了这个想法:

  
      
  • 存储:将对象转换为JSON字符串 - >保存字符串
  •   
  • 检索:获取字符串 - >从JSON转换为Object
  •   

答案 1 :(得分:2)

将arraylist转换为字符串:

String str = "";

for (String s : arraylist)
{
    str += s + ",";
}

将字符串保存到共享首选项中:

PreferenceManager.getDefaultSharedPreferences(context).edit().putString("mystr", str).commit();

从sharedpreference获取字符串:

String str =    PreferenceManager.getDefaultSharedPreferences(context).getString("mystr", "defaultStringIfNothingFound");

将字符串转换为arraylist:

List<String> arraylist = new ArrayList<String>(Arrays.asList(str.split(",")));