本文主要是介绍shared_preferences使用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
在前端开发中经常会把服务端请求回来的数据存放到localstorage,方便接下来的操作使用,如:把token存放到localstorage中,下次发起网络请求时,把token附带到Header中。
flutter中其实和开发前端大同小异,有开发前端的基础,上手flutter会容易很多。在flutter中使用类似localstorage的功能需要在 pubspec.yaml
引入依赖。
dependencies:flutter:sdk: fluttershared_preferences: ^0.5.6 # localstorage 用到的依赖包
接下来将其封装成工具类,方便程序中的调用。
// 导入依赖 import 'package:shared_preferences/shared_preferences.dart'; /// 本地存储工具类 class LocalStorage {/// 设置布尔的值static setBool(String key, bool value) async {final prefs = await SharedPreferences.getInstance();await prefs.setBool(key, value);}/// 设置double的值static setDouble(String key, double value) async {final prefs = await SharedPreferences.getInstance();await prefs.setDouble(key, value);}/// 设置int的值static setInt(String key, int value) async {final prefs = await SharedPreferences.getInstance();await prefs.setInt(key, value);}/// 设置Sting的值static setString(String key, String value) async {final prefs = await SharedPreferences.getInstance();await prefs.setString(key, value);}/// 设置StringListstatic setStringList(String key, List<String> value) async {final prefs = await SharedPreferences.getInstance();await prefs.setStringList(key, value);}/// 获取返回为bool的内容static Future<bool> getBool(String key) async {final prefs = await SharedPreferences.getInstance();bool value = prefs.getBool(key);return value;}/// 获取返回为double的内容static Future<double> getDouble(String key) async {final prefs = await SharedPreferences.getInstance();double value = prefs.getDouble(key);return value;}/// 获取返回为int的内容static Future<int> getInt(String key) async {final prefs = await SharedPreferences.getInstance();int value = prefs.getInt(key);return value;}/// 获取返回为String的内容static Future<String> getString(String key) async {final prefs = await SharedPreferences.getInstance();String value = prefs.getString(key);return value;}/// 获取返回为StringList的内容static Future<List<String>> getStringList(String key) async {final prefs = await SharedPreferences.getInstance();List<String> value = prefs.getStringList(key);return value;}/// 移除单个static remove(String key) async {final prefs = await SharedPreferences.getInstance();await prefs.remove(key);}/// 清空所有static clear() async {final prefs = await SharedPreferences.getInstance();await prefs.clear();} }
在程序用使用
// 定义变量 String token; // 发起登录请求 User.login("admin", "123456").then((value) async => {print("token:$value"),// 登录成功,设置token到localstorage中LocalStorage.setString("token", value),// 从localstorage中获取 tokentoken = await LocalStorage.getString("token"),print("localtoken:$token") });
工具类封装的方法都是静态方法,可以直接用类名.方法名调用,flutter是由dart语言所写,和javascript有很多相似之处。
以上就是localstorage在flutter中的应用。
这篇关于shared_preferences使用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!