小编Sil*_*ui.的帖子

如何在 Flutter 中使用 SharedPreferences 和 Injectable?

我在 flutter 中使用 Injectable 库进行依赖注入,但收到错误,无法使用 SharedPreferences。

错误:发生异常。FlutterError(ServicesBinding.defaultBinaryMessenger 在绑定初始化之前被访问。如果您正在运行应用程序并且需要在runApp()调用之前访问二进制信使(例如,在插件初始化期间),那么您需要显式调用第WidgetsFlutterBinding.ensureInitialized()一个。如果你正在运行一个测试,你可以调用TestWidgetsFlutterBinding.ensureInitialized()作为测试main()方法中的第一行来初始化绑定。) 我尝试创建一个类并放置 @lazySingleton

  Future<SharedPreferences> get prefs => SharedPreferences.getInstance();
Run Code Online (Sandbox Code Playgroud)

我尝试将 WidgetsFlutterBinding.ensureInitialized()

void main() { 
  WidgetsFlutterBinding.ensureInitialized();
  configureInjection(Environment.prod);
  runApp(MyApp());
}
Run Code Online (Sandbox Code Playgroud)

dependency-injection sharedpreferences flutter

4
推荐指数
1
解决办法
3747
查看次数