我正在尝试致电saveName
,但没有保存任何内容。而且我也看到提交已被弃用,因此如何在SharedPreferences
Future saveName(bool isloggedIn,String passwordval) async {
sharedPreferences = await SharedPreferences.getInstance();
sharedPreferences.setBool("is_logged_in ", isloggedIn);
sharedPreferences.setString("password ", passwordval);
sharedPreferences.commit();
}
getCredential() async {
print("###coming inside getcredentials");
sharedPreferences = await SharedPreferences.getInstance();
setState(() {
isloggedIn = sharedPreferences.getBool("is_logged_in");
if (isloggedIn != null) {
if (isloggedIn) {
print("###isloggedin=true");
passwordController.text = sharedPreferences.getString("password");
} else {
print("###isloggedin=false");
passwordController.clear();
sharedPreferences.clear();
}
} else {
isloggedIn = false;
}
});
}
答案 0 :(得分:0)
检查用于创建首选项的密钥和用于访问它的密钥。他们是不同的。 sharedPreferences.setBool("is_logged_in ", isloggedIn)
应该是await sharedPreferences.setBool("is_logged_in", isloggedIn)
。删除"is_logged_in "
和"password "
中的空格。即使您不包括sharedPreferences.commit();