无论如何我可以将List变量保存到Androids手机的内部或外部存储器中吗?我知道我可以保存原始数据,但不确定这个。
提前致谢。
答案 0 :(得分: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());
然后再次创建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);
}
你可以将这个“序列化”封装到你自己的类中,包含一个列表以保持它的整洁。您也可以考虑将list
转换为JSON
。
答案 1 :(得分:-1)
如果您想在程序中存储/检索/删除某些字符串值,则List
优于Array
。下面我将向您展示如何使用它。
// 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