• 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“);
  • 相关阅读:
    自然语言交流系统 phxnet团队 创新实训 项目博客 (十一)
    install ubuntu on Android mobile phone
    Mac OS, Mac OSX 与Darwin
    About darwin OS
    自然语言交流系统 phxnet团队 创新实训 项目博客 (十)
    Linux下编译安装qemu和libvirt
    libvirt(virsh命令总结)
    深入浅出 kvm qemu libvirt
    自然语言交流系统 phxnet团队 创新实训 项目博客 (九)
    自然语言交流系统 phxnet团队 创新实训 项目博客 (八)
  • 原文地址:https://www.cnblogs.com/loaderman/p/11532239.html
Copyright © 2020-2023  润新知