flustars
flustars copied to clipboard
SpUtil 在第一个页面可以正常存取,跳转页面_prefs后为null
1.在登录页面存下用户信息, 2.然后跳转到首页可以正常获取, 3.再从首页跳转到用户详情页,_prefs为null
回到首页,仍然可以正常获取
初始化部分 void main() async { WidgetsFlutterBinding.ensureInitialized(); await SpUtil.getInstance();
登录成功保存 SpUtil.putString(SPKey.USER_INFO, json.encode(data));
跳转首页 Navigator.pushReplacementNamed(context, RouteUtil.INDEX_PAGE);
首页正常读取 @override void initState() { super.initState();
_userStr = SpUtil.getString(SPKey.USER_INFO);
_userInfo = JsonUtil.getObj(_userStr, (v) => UserInfo.fromJson(v));
}
跳转个人中心 Navigator.pushNamed(context, RouteUtil.USER_INFO_PAGE)
个人中心读取 @override void initState() { super.initState(); String userStr = SpUtil.getString(SPKey.USER_INFO);
}
没有做什么特殊的操作,读取的方式也一样的
另外SpUtil是支持存取Object的。 SpUtil.putObject("loc_city", city); City hisCity = SpUtil.getObj("loc_city", (v) => City.fromJson(v));
刚才demo写好了,但是没有出问题,我又检查了一下我的项目。发现原因是因为一键导包的时候ide 自己分成了两种方式导包。 import 'file:///D:/FlutterProjects/flutter_test/lib/common/sp_util.dart'; import 'package:flutter_test/utils/sp_util.dart';
还是非常感谢