Flutter:如何从 Sharedpreference 数据中设置文本?

Flutter : How to setText from Sharedpreference data?

我有一个小问题要问大家,我想将 sharefref 变量中的数据显示到 UI 小部件。刚学flutter,还是一头雾水

这是我读取数据的共享偏好。

void loginStatus() async {
    final SharedPreferences prefs = await SharedPreferences.getInstance();
    String user = prefs.getString('username');
    String pasw = prefs.getString('password');
  }

我想在UI小部件Text($user)中设置“用户”,希望你们能给我一些参考或一些代码,谢谢你们的理由,我希望你们在这种情况下很好

您可以在 class 顶部定义您的 var,以便在 class

中访问它们
String user='';

然后在 initState()

中调用您的登录状态
@override
void initState() {
  super.initState();
  loginStatus(); 
}

然后按如下方式附加您的 loginstatus

void loginStatus() async {
  final SharedPreferences prefs = await SharedPreferences.getInstance();
  setState()({
    user = prefs.getString('username');
    pasw = prefs.getString('password');
  }); 
}

现在您可以在任何地方使用 Text("$user")。

我不确定问题出在哪里,但您需要更好地确定变量的范围。 在方法外声明 String userString pasw。我假设它们是私有字段,因此将它们重命名为 _user_pasw。下划线使它们在 dart 中是私有的。

然后:

void loginStatus() async {
    final SharedPreferences prefs = await SharedPreferences.getInstance();
    setState(() => {
       user = prefs.getString('username');
       pasw = prefs.getString('password');
     })
  }