无法在Flutter中保存共享首选项

时间:2019-03-26 11:59:43

标签: flutter

我正在尝试致电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;
      }
    });
  }

1 个答案:

答案 0 :(得分:0)

检查用于创建首选项的密钥和用于访问它的密钥。他们是不同的。 sharedPreferences.setBool("is_logged_in ", isloggedIn)应该是await sharedPreferences.setBool("is_logged_in", isloggedIn)。删除"is_logged_in ""password "中的空格。即使您不包括sharedPreferences.commit();

,您的偏好设置也会被保存