zoukankan      html  css  js  c++  java
  • Flutter之用SharedPreferences实现本地存储

    我们希望在APP中的配置操作,在关闭APP重启后还能生效,我们可以使用本地存储,即SharedPreferences。

    其get和save函数示例如下:

    import 'package:flutter/material.dart';
    import 'package:shared_preferences/shared_preferences.dart';
    
    getSharedPreferences(key,type) async{
      final prefs = await SharedPreferences.getInstance();
      type = type.toString().toLowerCase();
      switch(type){
        case 'bool':
          return prefs.getBool(key) ?? false;
        case 'int':
          return prefs.getInt(key) ?? 0;
        case 'double':
          return prefs.getDouble(key) ?? 0;
        case 'string':
          return prefs.getString(key) ?? '';
      }
    }
    
    saveSharedPreferences(key,val,type) async{
      final prefs = await SharedPreferences.getInstance();
      type = type.toString().toLowerCase();
      switch(type){
        case 'bool':
          prefs.setBool(key, val);
          break;
        case 'int':
          prefs.setInt(key, val);
          break;
        case 'double':
          prefs.setDouble(key, val);
          break;
        case 'string':
          prefs.setString(key, val);
          break;
      }
    }

    调用方式为:

    getSharedPreferences("isChangeQuizOrder","bool").then((isChangeQuizOrder){
      Global.isChangeQuizOrder = isChangeQuizOrder;
    });

    saveSharedPreferences('isChangeQuizOrder', value, "bool");

    其中Global是全局变量,在global.dart中为

    class Global{
      static bool isChangeQuizOrder = true;
      static bool isChangeOptionOrder = true;
    }
  • 相关阅读:
    jQuery库冲突解决办法
    jquery源码 整体架构
    中文版Chrome浏览器不支持12px以下字体的解决方案
    html5 localStorage
    Git创建分支/GIT提交分支
    Git直接拉取远程分支
    vscode关闭后未打开上次界面的解决办法
    MAC升级nodejs和npm到最新版
    hadoop hue切换中文版
    Hdfs dfs命令使用
  • 原文地址:https://www.cnblogs.com/luoyihao/p/14731309.html
Copyright © 2011-2022 走看看