sharedpreferences如何保存对象

简介: 昨天做了一个搜索历史的功能,然后根据搜索的历史可以调回到上一个页面,这里涉及到一个用sharedpreferences保存对象的问题,sharedpreferences是不能够直接保存对象的,我们需要将对象序列化成一个字符串进行存储。 例如:PlayList这样一个对象 public static void getJsonStringByEntity(Context c

昨天做了一个搜索历史的功能,然后根据搜索的历史可以调回到上一个页面,这里涉及到一个用sharedpreferences保存对象的问题,sharedpreferences是不能够直接保存对象的,我们需要将对象序列化成一个字符串进行存储。

例如:PlayList这样一个对象

  
    public static void getJsonStringByEntity(Context context, Object object) {
         String strJson = "";
         Gson gson = new Gson();
         strJson = gson.toJson(object);
         saveSharePlayList(context,strJson);
    }

取出来的时候,我们取出String后,通过json转换为实体对象就好了

 public static PlayList getfromJson(Context context){
        PlayList list = null;
        String str = readSharePlayList(context);
        if(str!=null){
            Gson gson=new Gson();
            list = gson.fromJson(str, new TypeToken<PlayList>(){}.getType());
        }
        return list;
    }



目录
相关文章
|
JavaScript
VUE element-ui之form表单自定义验证11位手机号码(封装验证规则)
VUE element-ui之form表单自定义验证11位手机号码(封装验证规则)
3916 0
VUE element-ui之form表单自定义验证11位手机号码(封装验证规则)
element 下拉菜单el-dropdown如何更改样式?
element 下拉菜单el-dropdown如何更改样式?
2363 0
|
JavaScript Java API
如何接入阿里云短信服务 (完整指南)
如何接入阿里云短信服务 (完整指南)
57852 1
|
前端开发 JavaScript API
Vue3商品SKU多规格编辑组件
Vue3商品SKU多规格编辑组件
892 5
|
XML JSON 前端开发
一文带你了解 Flutter dio封装
一文带你了解 Flutter dio封装
1984 1
|
JavaScript
Vue3 + Vite + TS项目引入iconfont图标(Svg方式)
前言 每一个项目都避免不了使用各种各样的图标,如果我们使用了 UI 组件库,比如说 ELement 等,那么组件库有一些封装好的图标供我们使用。但是项目是多变的和复杂的,组件库提供的图标很多时候不能满足需求,这个时候就需要我们自己引入想要的图标了。 今天介绍的便是如何将 iconfont 阿里图标库的图标引入到我们的 Vue3 项目中来!
6066 1
Vue3 + Vite + TS项目引入iconfont图标(Svg方式)
|
缓存 iOS开发 开发者
Flutter常用命令
【7月更文挑战第26天】
187 2
|
数据安全/隐私保护 网络架构
Flutter(十)——登录界面实现
Flutter(十)——登录界面实现
1357 2
Flutter(十)——登录界面实现
|
缓存 JavaScript 前端开发
vue + element Table的数据多选,多页选择数据回显,分页记录保存选中的数据。
vue + element Table的数据多选,多页选择数据回显,分页记录保存选中的数据。
761 0