【发布时间】:2020-08-25 16:20:03
【问题描述】:
我在 Flutter 中使用库 Injectable 进行依赖注入,但在无法使用 SharedPreferences 时出现错误。
错误:
发生异常。
FlutterError(在初始化绑定之前访问了ServicesBinding.defaultBinaryMessenger。
如果您正在运行一个应用程序并且需要在调用runApp() 之前访问二进制信使(例如,在插件初始化期间),那么您需要首先显式调用WidgetsFlutterBinding.ensureInitialized()。
如果您正在运行测试,您可以调用 TestWidgetsFlutterBinding.ensureInitialized() 作为测试的 main() 方法的第一行来初始化绑定。)
我试过创建一个类并把@lazySingleton
Future<SharedPreferences> get prefs => SharedPreferences.getInstance();
我试着把 WidgetsFlutterBinding.ensureInitialized()
void main() {
WidgetsFlutterBinding.ensureInitialized();
configureInjection(Environment.prod);
runApp(MyApp());
}
【问题讨论】:
标签: flutter dependency-injection sharedpreferences