添加依赖

  shared_preferences: ^0.5.+

工具类

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“);

最新文章

  1. Dynamics CRM 2015-Sign Out选项
  2. review简历之感想和建议
  3. 【转载】GUID vs INT Debate
  4. LNMP软件安装所在的目录详细
  5. [转] JAVA网站高并发解决方案
  6. windows server 2008 r2 搭建文件服务器
  7. OC中两种单例实现方式
  8. Hive JSON数据处理的一点探索
  9. ARM学习笔记10——GNU ARM命令行工具
  10. String 方法
  11. Oracle误删恢复
  12. windows 下odoo 不同版本安装运行问题
  13. PHP面向对象概述
  14. react native android6+拍照闪退或重启的解决方案
  15. 【前端】jQuery移动端左滑删除
  16. nth-child(n)和nth-of-type(n)的区别
  17. 使用openCV打开USB摄像头(UVC 小米micro接口)
  18. Oracle数据库实例的启动及关闭
  19. SpringBoot修改默认端口号,session超时时间
  20. 【oneday_onepage】——Growth Is A Bitch

热门文章

  1. lvm快照备份mysql
  2. [software test - 001] Why we need software test?
  3. jdk1.8换成11,启动项目报错java.net.MalformedURLException: unknown protocol: jrt
  4. 1211 BBS后台管理文章添加
  5. TJOI2016 字符串
  6. C#随机数Random
  7. LightOJ - 1245 - Harmonic Number (II)(数学)
  8. LightOJ - 1259 - Goldbach`s Conjecture(整数分解定理)
  9. .net之大文件断点续传
  10. QGraphicsView,QGraphicsScene,QGraphicsItem