我使用以下依赖项在 Flutter 中实现了SharedPreference :
shared_preferences: ^0.5.12+4
我的偏好类:
class Preference {
static Future<SharedPreferences> _prefs = SharedPreferences.getInstance();
static saveLoginInfo(VerifyUserLoginResult verifyUserLoginResult) async {
SharedPreferences pref = await _prefs;
pref
.setString("user_login", jsonEncode(verifyUserLoginResult))
.then((value) => print('User Login Value Saved : $value'));
}
static Future<bool> isLoggedIn() async {
SharedPreferences pref = await _prefs;
print('is Logged In : ${pref.getString("user_login")}');
return pref.getString("user_login") != null;
}
}
我的日志如下:
I/flutter (28468): User Login Value Saved : true
I/flutter (28468): is Logged In null
I/flutter (28468): is Logged In: false
谁能帮我将 JSON 保存在 Preference 中?如果已经登录,我还想检查 JSON 是否已保存以显示另一个屏幕。
编辑:
我已经调用了保存字符串的方法,如下所示:
if (value.verifyUserLoginResult.mID == '1')
{
Preference.saveLoginInfo(value.verifyUserLoginResult),
Navigator.of(context).pushReplacement(MaterialPageRoute(builder: (context) => Dashboard()))
}