15

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

提前致谢。

4

2 回答 2

29

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

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

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

sharedPreferencesEditor.put("myList", csvList.toString());

然后再次创建你的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[i]);     
}

您可以将这个“序列化”封装到您自己的类中,包装一个列表以保持它的整洁。你也可以看看将你的转换listJSON.

于 2012-06-25T17:25:16.190 回答
-2

如果你想在你的程序中存储/检索/删除一些字符串值,那么ListArray. 下面我将向您展示如何使用它。

 // Declaring List Variable
 List<String> Mylist = new ArrayList<String>();

 // Adding item to List
 Mylist.add(list.size(), "MyStringValue");   //this will add string at the next index

 // Removing element form list
 Mylist.remove(list.size()-1);   //this will remove the top most element from List
于 2014-04-03T13:07:42.140 回答