Flutter中SharedPreferences存取对象

存储

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));

你可能感兴趣的:(Flutter)