SharedPreferences 如何存arrayList
时间: 2024-01-14 22:53:06 浏览: 72
要在SharedPreferences中存储ArrayList,需要进行一些步骤:
1. 将ArrayList转换为JSON字符串
2. 将JSON字符串保存到SharedPreferences中
以下是一个示例代码:
```java
// 1. 将ArrayList转换为JSON字符串
ArrayList<String> list = new ArrayList<>();
list.add("apple");
list.add("banana");
list.add("orange");
String jsonString = new Gson().toJson(list);
// 2. 将JSON字符串保存到SharedPreferences中
SharedPreferences.Editor editor = getSharedPreferences("myPrefs", MODE_PRIVATE).edit();
editor.putString("myList", jsonString);
editor.apply();
```
这里使用了Google的Gson库将ArrayList转换为JSON字符串。然后,使用SharedPreferences.Editor将JSON字符串保存到SharedPreferences中。在读取时,可以使用以下代码:
```java
// 读取SharedPreferences中的ArrayList
SharedPreferences prefs = getSharedPreferences("myPrefs", MODE_PRIVATE);
String jsonString = prefs.getString("myList", null);
Type type = new TypeToken<ArrayList<String>>() {}.getType();
ArrayList<String> list = new Gson().fromJson(jsonString, type);
```
这里使用了Gson的fromJson方法将JSON字符串转换回ArrayList对象。使用TypeToken指定ArrayList的类型。
阅读全文