android sharedpreferences 保存list,使用SharedPreferences存储List<T>
时间: 2024-05-12 20:14:34 浏览: 101
可以使用Gson将List<T>序列化为json字符串,然后再将json字符串存储到SharedPreferences中。
示例代码:
```java
// 将List<T>转换成json字符串
Gson gson = new Gson();
String json = gson.toJson(list);
// 将json字符串保存到SharedPreferences中
SharedPreferences.Editor editor = getSharedPreferences("my_prefs", MODE_PRIVATE).edit();
editor.putString("my_list", json);
editor.apply();
```
获取List<T>时,将json字符串反序列化为List<T>对象即可。
示例代码:
```java
// 获取存储的json字符串
SharedPreferences prefs = getSharedPreferences("my_prefs", MODE_PRIVATE);
String json = prefs.getString("my_list", "");
// 将json字符串反序列化为List<T>
Gson gson = new Gson();
Type type = new TypeToken<List<T>>() {}.getType();
List<T> list = gson.fromJson(json, type);
```
其中,T表示要保存的对象类型。需要注意的是,要保证该对象类型是可序列化的。如果该对象类型中包含自定义对象类型,则需要自定义序列化和反序列化方法。
阅读全文