【发布时间】:2021-10-01 05:18:09
【问题描述】:
我阅读了有关在 Flutter 应用程序中初始化 SharedPreferences 的其他答案(例如 this one),但我想采取另一条路线:一开始就初始化 SharedPreferences 对象,然后根据需要将其传递给特定的客户端(又名依赖注入)。
我尝试让我的主要方法异步,然后使用等待:
void main() async {
var prefs = await SharedPreferences.getInstance();
runApp(MyApp(prefs));
}
直觉上,我预计执行将停止,直到 prefs 被初始化,然后继续到 runApp。不幸的是,我得到的是白屏而不是我的 UI,所以我想我在这里遗漏了一些东西。
我也试过用then:
void main() async {
SharedPreferences.getInstance().then((prefs) => runApp(MyApp(prefs)));
}
同样的结果:白屏。
有没有办法在 Flutter 中以这种方式初始化 SharedPreference?
【问题讨论】:
-
而不是在 main 方法中初始化共享首选项,你以后不能这样做吗?
-
@OMiShah 我只想初始化这个对象一次,然后传递一个引用。如果在 MyApp 中有办法做到这一点,那也没关系。但是,我不想在所有需要此功能的小部件中初始化 SharedPreferences。
-
我必须进行编辑才能将我的投票从否定更改为错误,因为我这样做是错误的。没关系:P
标签: flutter