美文网首页Flutter
Flutter 封装存储数据

Flutter 封装存储数据

作者: 景小帮 | 来源:发表于2021-03-24 10:23 被阅读0次

    什么是shared_preferences?

    shared_preferences是Flutter社区开发的一个本地数据存取插件,它有以下特性:

    1.简单的,异步的,持久化的key-value存储系统;

    2.在Android上它是基于SharedPreferences的;

    3.在iOS上它是基于NSUserDefaults的;

    shared_preferences如何使用?

    在pubspec.yaml 中添加

    # 数据存储        shared_preferences: ^0.5.12+4

    封装代码如下:

    import 'package:shared_preferences/shared_preferences.dart';

    ///

    /// SharedPreferences 存储封装

    ///

    class SpDataUtils {

    static setDate(String key, value)async {

    SharedPreferences prefs =await SharedPreferences.getInstance();

        if (valueis String) {

        prefs.setString(key, value);

        }else if (valueis num) {

        prefs.setInt(key, value);

        }else if (valueis double) {

        prefs.setDouble(key, value);

        }else if (valueis bool) {

        prefs.setBool(key, value);

        }else if (valueis List) {

        prefs.setStringList(key, value.cast());

        }

    }

    /// 返回数据data -> replace -> null

      static FuturegetData(String key, [dynamic replace])async {

       SharedPreferences prefs =await SharedPreferences.getInstance();

        var data = prefs.get(key);

        return data ?? replace ??null;

      }

    ///删除指定数据

      static void remove(String key)async {

       SharedPreferences prefs =await SharedPreferences.getInstance();

        prefs.remove(key); //删除指定键

      }

    ///清除数据

      static void clear()async {

       SharedPreferences prefs =await SharedPreferences.getInstance();

        prefs.clear(); ////清空缓存

      }

    }

    使用:

    取值:

    SpDataUtils.getData('isSplash',false).then((result){

    });

    设置值

    SpDataUtils.setDate('isSplash', true);

    相关文章

      网友评论

        本文标题:Flutter 封装存储数据

        本文链接:https://www.haomeiwen.com/subject/zqpchltx.html