美文网首页
Android SharedPreferences保存List<

Android SharedPreferences保存List<

作者: 浅_若清风 | 来源:发表于2021-06-16 16:59 被阅读0次

前面有介绍过持久化技术的Sharepreferences存储,Sharepreferences是使用键值对的方式来存储数据的。点击进入Sharepreferences.java,如下图可以看到,Sharepreferences并不支持支持存储List<T>数据

img_1.png
我们可以使用Gson将List数据转成Json类型在进行存储,以List< Integer >为例:
//SharedPreferences存储list数据
SharedPreferences.Editor editor = getSharedPreferences("key",MODE_PRIVATE).edit();
Gson gson = new Gson();
//将list转成Json
String jsonStr = gson.toJson(list);
editor.putString("name",jsonStr);
//提交
editor.commit();

读取:

//声明
List<Integer> listArr = new ArrayList();
//创建sp对象,取出关键字为key的sp
SharedPreferences sp = getActivity().getSharedPreferences("serialModel",Context.MODE_PRIVATE);
String str = sp.getString("name","");
if (str != ""){
    Gson gson = new Gson();
   //TypeToken<List<Integer>>()将json数据转成List集合
    listArr = gson.fromJson(str,new TypeToken<List<Integer>>(){}.getType());
}

相关文章

网友评论

      本文标题:Android SharedPreferences保存List<

      本文链接:https://www.haomeiwen.com/subject/kbhfyltx.html