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

问题描述 投票:-1回答:1

我试图打电话给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;
      }
    });
  }
flutter
1个回答
0
投票

检查您在创建首选项时使用的密钥以及用于访问它的密钥。它们是不同的。 sharedPreferences.setBool("is_logged_in ", isloggedIn)应该是await sharedPreferences.setBool("is_logged_in", isloggedIn)。删除"is_logged_in ""password "中的空格。即使您不包含sharedPreferences.commit();,您的偏好也会保存

© www.soinside.com 2019 - 2024. All rights reserved.