flutter中使用shared_preferences的存储
时间:2019-09-19
本文章向大家介绍flutter中使用shared_preferences的存储,主要包括flutter中使用shared_preferences的存储使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
添加依赖
shared_preferences: ^0.5.1+2
工具类
import 'dart:async'; import 'package:shared_preferences/shared_preferences.dart'; /// 用来做shared_preferences的存储 class SpUtil { static SpUtil _instance; static Future<SpUtil> get instance async { return await getInstance(); } static SharedPreferences _spf; SpUtil._(); Future _init() async { _spf = await SharedPreferences.getInstance(); } static Future<SpUtil> getInstance() async { if (_instance == null) { _instance = new SpUtil._(); await _instance._init(); } return _instance; } static bool _beforeCheck() { if (_spf == null) { return true; } return false; } // 判断是否存在数据 bool hasKey(String key) { Set keys = getKeys(); return keys.contains(key); } Set<String> getKeys() { if (_beforeCheck()) return null; return _spf.getKeys(); } get(String key) { if (_beforeCheck()) return null; return _spf.get(key); } getString(String key) { if (_beforeCheck()) return null; return _spf.getString(key); } Future<bool> putString(String key, String value) { if (_beforeCheck()) return null; return _spf.setString(key, value); } bool getBool(String key) { if (_beforeCheck()) return null; return _spf.getBool(key); } Future<bool> putBool(String key, bool value) { if (_beforeCheck()) return null; return _spf.setBool(key, value); } int getInt(String key) { if (_beforeCheck()) return null; return _spf.getInt(key); } Future<bool> putInt(String key, int value) { if (_beforeCheck()) return null; return _spf.setInt(key, value); } double getDouble(String key) { if (_beforeCheck()) return null; return _spf.getDouble(key); } Future<bool> putDouble(String key, double value) { if (_beforeCheck()) return null; return _spf.setDouble(key, value); } List<String> getStringList(String key) { return _spf.getStringList(key); } Future<bool> putStringList(String key, List<String> value) { if (_beforeCheck()) return null; return _spf.setStringList(key, value); } dynamic getDynamic(String key) { if (_beforeCheck()) return null; return _spf.get(key); } Future<bool> remove(String key) { if (_beforeCheck()) return null; return _spf.remove(key); } Future<bool> clear() { if (_beforeCheck()) return null; return _spf.clear(); } }
使用:
SpUtil sp = await SpUtil.getInstance(); int value =sp.getInt(”key“);
原文地址:https://www.cnblogs.com/loaderman/p/11532239.html
- Apache Hive-2.3.0 快速搭建与使用
- HBase-1.3.1 集群搭建 - 报错整理
- 分布式唯一ID生成器Twitter 的 Snowflake idworker java版本
- 使用 Phoenix-4.11.0连接 Hbase 集群 ,并使用 JDBC 查询测试
- 高并发分布式系统中生成全局唯一Id汇总
- ZooKeeper 可视化监控 zkui
- 关于RBAC(Role-Base Access Control)的理解
- Spring Boot 中使用 Kafka
- 如何评价一段代码
- java系统高并发的解决方案
- Spring Boot 中使用 Redis
- 使用 Jedis 连接操作 Redis
- 浅析ReDoS的原理与实践
- 使用 Executors,ThreadPoolExecutor,创建线程池,源码分析理解
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- (二)golang--windows下vscode的安装以及go环境的配置
- mybatis文件映射之使用#取值时的一些规则
- 【论文笔记】Improved Residual Networks for Image and Video Recognition(ResNet新变体:IResNet)
- SQL语句在MYSQL中的运行过程和各个组件的介绍
- (五)golang--常用的一些玩意
- 关于MYSQL 的日志系统
- (六)golang--变量
- springmvc之文件上传
- (七)golang--变量之基本数据类型(看这篇就够了)
- Mybatis学习笔记(五)Mybatis中已经显示数据已修改但数据库中记录未更新问题
- 【自然语言处理(一)】相关基础技能
- MySQL innoDB的事务隔离
- 多元线性回归模型
- (八)golang--复杂类型之指针
- 关于HttpPost 请求和PostMan请求访问出错