android中使用List转化成String使用,和String转化成list使用

1.先来第一个场景,做一个mmkv本地存储list,需要把集合转化成string进行传递,和把string转化成list的

将List集合转化成String进行存储

  if (mVideoHistorySumList != null && mVideoHistorySumList.size() > 0) {
                    //存储历史列表  //对象类型转化成json串存储
                    String strHistoryList = gson.toJson(mVideoHistorySumList);
                    mmkv.putString("videoHistoryList", strHistoryList);
                }

将String转化成List集合进行存储

   String strExistList = mmkv.getString("videoHistoryList", "");//获取数据
        Gson gson = new Gson();
        mVideoHistoryList = gson.fromJson(strExistList, new TypeToken<List<VideoVpModel>>() {

        }.getType()); //将json字符串转换成List集合

2.sp的场景使用
将sp的List集合转化成String进行存储
//和读取的收藏做对比
if (getActivity().getSharedPreferences(“sp_collect_img”, MODE_PRIVATE) != null) {

        SharedPreferences sp = getActivity().getSharedPreferences("sp_collect_img", MODE_PRIVATE);//创建sp对象,如果有key为"SP_PEOPLE"的sp就取出
        String peopleListJson = sp.getString("collect_img", "");  //取出key为"KEY_PEOPLE_DATA"的值,如果值为空,则将第二个参数作为默认值赋值
        ArrayList<ImgEntryResponse> collectImgList = new ArrayList<>();
        if (!TextUtils.isEmpty(peopleListJson))  //防空判断
        {
            Gson gson = new Gson();
            collectImgList = gson.fromJson(peopleListJson, new TypeToken<List<ImgEntryResponse>>() {

            }.getType()); //将json字符串转换成List集合
        }

将sp的String转化成List集合进行存储

    //拿到历史列表最新数据,更新
        SharedPreferences spHistory = getActivity().getSharedPreferences("sp_picConfig", Activity.MODE_PRIVATE);//创建sp对象,如果有key为"SP_PEOPLE"的sp就取出
        String historyListJson = spHistory.getString("pic_history", "");  //取出key为"KEY_PEOPLE_DATA"的值,如果值为空,则将第二个参数作为默认值赋值
        //获取项目中的静态资源文件
        if (!TextUtils.isEmpty(historyListJson))  //防空判断
        {
            Gson gson = new Gson();
            mSPHistoryImgList = gson.fromJson(historyListJson, new TypeToken<List<ImgEntryResponse>>() {

            }.getType()); //将json字符串转换成List集合
        }

将String转换成LIst集合,这里主要用了Gson,的 gson.fromJson()这个方法

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值