存储
SharedPreferences preferences = await SharedPreferences.getInstance();
await preferences.setString("userMsg", loginMsg.data.loginToken);
print("用户本地token == ${preferences.getString("userMsg")}");
取值
SharedPreferences sharedPreferences = await SharedPreferences.getInstance();
String token = sharedPreferences.getString("token");
使用 flustars: ^0.2.6+1
初始化
void main(){
runApp(MyApp());
Global.init();
}
import 'dart:io';
import 'package:flustars/flustars.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
class Global{
//初始化全局信息
static Future init() async {
await SpUtil.getInstance();//初始化
if (Platform.isAndroid) {
// 以下两行 设置android状态栏为透明的沉浸。写在组件渲染之后,是为了在渲染后进行set赋值,覆盖状态栏,写在渲染之前MaterialApp组件会覆盖掉这个值。
SystemUiOverlayStyle systemUiOverlayStyle =
SystemUiOverlayStyle(statusBarColor: Colors.transparent);
SystemChrome.setSystemUIOverlayStyle(systemUiOverlayStyle);
}
}
}
使用(存取对象)
SpUtil.putObject(Constants.keyUserModel, loginMsg);
LoginMsg loginMsg = SpUtil.getObj(Constants.keyUserModel, (v)=>LoginMsg.fromJson(v));