第三方库
shared_preferences: ^0.5.3+1
app global.drat
import 'package:shared_preferences/shared_preferences.dart';
// 构造函数中不能进行异步操作 在root_scene.dart中初始化
SharedPreferences preferences;
app root_scene.dart
bool _isFinishSetup = false;
@override
void initState() {
setupApp(); // 这里进行初始化
super.initState();
}
@override
Widget build(BuildContext context) {
if (!_isFinishSetup) {
return Container();
}
}
setupApp() async {
preferences = await SharedPreferences.getInstance();
_isFinishSetup = true;
setState(() {
});
}
app user_manager.dart 中用户信息存取的封装
UserManager.saveUser(baseBean.userInfo.uid); // 存
UserManager.uid; // 取
import 'global.dart';
class UserManager {
String _uid;
static String get uid {
return UserManager._getInstance._uid;
}
static void saveUser(String uid) {
UserManager._getInstance._saveUser(uid);
}
static UserManager _instance;
static UserManager get _getInstance {
if (_instance == null) {
_instance = UserManager();
_instance.loadUserFromLocal();
}
return _instance;
}
void _saveUser(String uid) async {
_uid = uid;
preferences.setString('uid', uid);
}
loadUserFromLocal() {
_uid = preferences.getString('uid');
}
}