Flutter 本地存储 SharedPreferences 的使用

1.添加插件引用 :

shared_preferences: ^2.0.3 # 本地存储插件

2.使用 :

import 'package:shared_preferences/shared_preferences.dart';
//存值的方法和类型
SharedPreferences prefs = await SharedPreferences.getInstance();
prefs.setString(key, value)
prefs.setBool(key, value)
prefs.setDouble(key, value)
prefs.setInt(key, value)
prefs.setStringList(key, value)
//取值的方法和类型
SharedPreferences prefs = await SharedPreferences.getInstance();
prefs.getBool(key);
prefs.getDouble(key);
prefs.getInt(key);
prefs.getString(key);
prefs.getStringList(key);
//移除和清空
SharedPreferences prefs = await SharedPreferences.getInstance();
prefs.remove(key); //删除指定键
prefs.clear();//清空键值对

3.通过这些可以写一个自己需要的工具类:

import 'package:shared_preferences/shared_preferences.dart';

///数据库相关的工具
class LoginPrefs {

  static const String USER_ID = "USER_ID";//用户ID

  ///保存用户
  static void saveUseId(String _useid) async {
    SharedPreferences sp = await SharedPreferences.getInstance();
    sp.setString(USER_ID,_useid);
  }
  static Future  getUseId() async {
    SharedPreferences sp = await SharedPreferences.getInstance();
    return sp.getString(USER_ID);
  }

}

下面如何使用工具类取值呢?

需要在使用的地方写一个异步的方法获取,如果直接获取会报错。

mUserId = LoginPrefs.getUseId();//直接获取

报错:Flutter : 'Future <dynamic>' is not a subtype of type String

//异步方法获取

initPrefs() async {
  mUserId = await LoginPrefs.getUseId();
}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值