• 关于Flutter 利用 sharedPreferences 存取 Map


    选择 sharedPreferences 是因为轻量简单, 记录一下存取 map

    //利用SharedPreferences存储数据
      Future saveString(key,msg) async {
        SharedPreferences sharedPreferences = await SharedPreferences.getInstance();
        sharedPreferences.setString(key,
            msg);
      }

    有个问题就是 msg 只能是字符串类型,但是字符串转map那可是太费劲了。。。   所以利用 json 存储。原本代码里是没有json相关方法接口的,需要在最开始 import 一下

    import 'dart:convert' as JSON;

    开始存储!

    //保存信息到集合
      saveAction() {
          var msg = {
            'message': ‘111’,
            'time': ‘222’,
            'date': ‘aaa’,
            'dayNum': ‘bbb’
          };
          String saveTemp = JSON.jsonEncode(msg);  //转成json字符串
          saveString(msg['message'],saveTemp);  //在这里我把 msg的message值当做key值了
    }

    这里是获取所有数据,也就是说之前可能存储了很多个map

    //获取所有数据
      Future getAllData() async {
        var tempList = new List();
        SharedPreferences sharedPreferences = await SharedPreferences.getInstance();
        Set<String> keys = sharedPreferences.getKeys();
        if(keys!=''&&keys!=null){
          for (var item in keys) {
            var content = sharedPreferences.get(item);
            Map msgMap =  JSON.jsonDecode(content);   //把json转成map
            tempList.add(msgMap);    //把取出来的map都放到数组里了
          }
        }
      }

    取一条数据

    //获取存在SharedPreferences中的某一项数据
      Future getString(key) async {
        var tempMap = new Map();
        SharedPreferences sharedPreferences = await SharedPreferences.getInstance();
        setState(() {
          tempMap =
              JSON.jsonDecode(sharedPreferences.get(key));   //取出来并转换成map
        });
      }

    总结:利用json存取就可以了

  • 相关阅读:
    centOS7下安装GUI图形界面
    centos7 安装VMware Tools 遇到的一系列问题的解决方案
    centos7 更新源 安装ifconfig
    隐写 小案例
    linux shell脚本编程笔记(二): 分支结构
    strncmp memcmp区别
    linux shell脚本编程笔记(一): 构建基本脚本
    linux: sort排序数据 grep搜索数据
    C/C++控制台输出时设置字体及背景颜色
    boost.asio包装类st_asio_wrapper开发教程(转)
  • 原文地址:https://www.cnblogs.com/yinniora/p/14333508.html
Copyright © 2020-2023  润新知