我阅读了有关在 Flutter 应用程序中初始化 SharedPreferences 的其他答案(例如这个),但我想采取另一条路线:在一开始就初始化 SharedPreferences 对象,然后根据需要将其传递给特定的客户端(又名依赖注入)。
我试图使我的主要方法异步,然后使用 await:
void main() async {
var prefs = await SharedPreferences.getInstance();
runApp(MyApp(prefs));
}
Run Code Online (Sandbox Code Playgroud)
直觉上,我预计执行将停止直到prefs被初始化,然后继续执行runApp。不幸的是,我得到了一个白屏而不是我的用户界面,所以我想我在这里遗漏了一些东西。
我也尝试使用then:
void main() async {
SharedPreferences.getInstance().then((prefs) => runApp(MyApp(prefs)));
}
Run Code Online (Sandbox Code Playgroud)
相同的结果:白屏。
有没有办法在 Flutter 中以这种方式初始化 SharedPreference?
在您偏好实例之前添加这个
WidgetsFlutterBinding.ensureInitialized();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
537 次 |
| 最近记录: |