zoukankan      html  css  js  c++  java
  • 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“);
  • 相关阅读:
    什么是MSI文件?
    学习window系统下的注册表
    AngularJS学习手册
    学习ajax 总结
    jquery基础教程读书总结
    overflow:hidden清除浮动原理解析及清除浮动常用方法总结
    javascript进阶-原型prototype
    javascript-函数进阶
    小技巧之a标签自动解析URL
    Myeclipse出现 java文件中文乱码问题
  • 原文地址:https://www.cnblogs.com/loaderman/p/11532239.html
Copyright © 2011-2022 走看看