Android保存列表<String>

Luk*_*lor 11 android list save

无论如何我可以将List变量保存到Androids手机的内部或外部存储器中吗?我知道我可以保存原始数据,但不确定这个.

提前致谢.

Blu*_*ell 23

是的,你只能保存原语,所以你可以这样:

List<String> list = new ArrayList<String>();
list.add("one");
list.add("two");

StringBuilder csvList = new StringBuilder();
for(String s : list){
      csvList.append(s);
      csvList.append(",");
}

sharedPreferencesEditor.put("myList", csvList.toString());
Run Code Online (Sandbox Code Playgroud)

然后再创建list你会:

String csvList = sharedPreferences.getString("myList");
String[] items = csvList.split(",");
List<String list = new ArrayList<String>();
for(int i=0; i < items.length; i++){
     list.add(items);     
}
Run Code Online (Sandbox Code Playgroud)

你可以将这个"序列化"封装到你自己的类中,包装一个列表以保持它的整洁.你也可以考虑转换你listJSON.

  • 如果他的列表项包含逗号,请确保OP更加注意..我更喜欢JSON方法.它是如此容易. (2认同)
  • 认为您可能希望在行list.add(items)中添加[i],因此它是list.add(items [i]) (2认同)