SharedPreferences 在启动时始终为空 - Flutter
Posted
技术标签:
【中文标题】SharedPreferences 在启动时始终为空 - Flutter【英文标题】:SharedPreferences always null on Startup - 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);
【问题讨论】:
【参考方案1】:Shared Preferences 上的写入函数是异步的,所以你需要等待它们。
试试await prefs.setBool('isLoggedIn', true);
【讨论】:
以上是关于SharedPreferences 在启动时始终为空 - Flutter的主要内容,如果未能解决你的问题,请参考以下文章
如何在颤振中创建 SharedPreferences 的 Singleton 类