【问题标题】:SharedPreferences always null on Startup - FlutterSharedPreferences 在启动时始终为空 - Flutter
【发布时间】:2020-06-11 18:15:18
【问题描述】:

如果用户没有注销,我一直试图让他们保持登录状态,只是简单的SharedPreferences 东西,但每次我保存我的 SP 并热重载或热重启我的应用程序时,该功能返回null,就像它没有保存任何东西一样。我已经尝试了一切,但无法弄清楚。这是我的代码:

在启动时获取我的 SP

Future<void> main() async {
  WidgetsFlutterBinding.ensureInitialized();
  SharedPreferences prefs = await SharedPreferences.getInstance();
  isLoggedIn = prefs.getBool('isLoggedIn');
  Timer(Duration(milliseconds: 100), ()=>{print(isLoggedIn)});

  runApp(MyApp());
}

用户登录成功后保存我的 SP

SharedPreferences prefs = await SharedPreferences.getInstance();
  prefs.setBool('isLoggedIn', true);

  bool isLoggedIn = prefs.getBool('isLoggedIn');

  print(isLoggedIn);

【问题讨论】:

    标签: flutter dart sharedpreferences


    【解决方案1】:

    Shared Preferences 上的写入函数是异步的,所以你需要等待它们。

    试试await prefs.setBool('isLoggedIn', true);

    【讨论】:

      猜你喜欢
      • 2021-02-26
      • 2021-10-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-01
      • 2017-06-26
      • 1970-01-01
      • 2023-04-05
      • 2021-07-07
      相关资源
      最近更新 更多