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“);
  • 相关阅读:
    linux下设置SSH无密码登陆
    设置sudo权限
    集群重启后启动ambari-server访问Web页面无法启动集群解决
    使用Ambari部署hadoop集群
    centos7.6安装python3.7
    Locust
    测试框架(自然语言)
    Maven之(七)pom.xml配置文件详解
    git的使用
    elastic search(es)安装
  • 原文地址:https://www.cnblogs.com/loaderman/p/11532239.html
Copyright © 2011-2022 走看看