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;
    }
  • 相关阅读:
    SQL语句建表、设置主键、外键、check、default、unique约束
    郝斌老师的SQL教程
    Hello WPF!
    指针
    穷举法破解 zebrone1.1
    一条汇编指令引发的 蝴蝶效应 (后记)
    浮点 汇编指令基础知识
    收敛数列极限唯一性证明
    MFC SkinMagic使用方法
    Python初学1
  • 原文地址:https://www.cnblogs.com/luoyihao/p/14731309.html
Copyright © 2011-2022 走看看