Android 保存列表<String>

标签 android list save

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

提前致谢。

最佳答案

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

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

然后要再次创建您的列表,您需要:

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]);     
}

您可以将此“序列化”封装到您自己的类中,包装一个列表以保持它整洁。您也可以考虑将 list 转换为 JSON

关于Android 保存列表<String>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11193983/

相关文章:

javascript - 获取 javascript 渲染页面的 html(与它交互后)

android - 从图库中选择图像并保存以备将来使用

java - 为什么我无法访问 android.widget 包中的包私有(private)字段?

java - 如何使 Paging 库与 reverse recyclerview 一起工作?

java - 没有通过 FileInputStream 获取文件?

python:对一系列元素的列表列表进行排序

string - 检查元素是否存在于 Racket 列表中

android - 制作自定义 Android 闹钟以进行提醒

python - 在python中按1个元素对列表列表进行分类

python - 我如何从 django 中的博客和评论中复制?