Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/184.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何向changenotifier注入依赖项并在Flatter中的main.dart中注册提供程序_Android_Flutter_Dart_Iso - Fatal编程技术网

Android 如何向changenotifier注入依赖项并在Flatter中的main.dart中注册提供程序

Android 如何向changenotifier注入依赖项并在Flatter中的main.dart中注册提供程序,android,flutter,dart,iso,Android,Flutter,Dart,Iso,我在我的应用程序中使用提供程序进行状态管理,在下面的提供程序类中,我将依赖项SignWithFacebook注入到提供程序类中所需的SignInWithFacebookProvider,并且我在运行main.dart中的runApp函数之前注册了依赖项,但我收到了此错误 Failed assertion: line 13 pos 76: 'signInWithFacebook != null': is not true. 如果我从提供程序构造函数中删除断言,它将抛出null异常 我的提供者类

我在我的应用程序中使用提供程序进行状态管理,在下面的提供程序类中,我将依赖项SignWithFacebook注入到提供程序类中所需的SignInWithFacebookProvider,并且我在运行main.dart中的runApp函数之前注册了依赖项,但我收到了此错误

Failed assertion: line 13 pos 76: 'signInWithFacebook != null': is not true.

如果我从提供程序构造函数中删除断言,它将抛出null异常

我的提供者类

class SignInWithFaceBookProvider extends ChangeNotifier {
  final SignInWithFacebook signInWithFacebook;

  SignInWithFaceBookProvider({@required this.signInWithFacebook}) : assert(signInWithFacebook != null);

  Future<Either<Failure, UserEntity>> signIn() async {
    return await signInWithFacebook(NoParams());
  }
}
在应用程序启动之前注册依赖项的My init方法


final sl = GetIt.instance;
Future<void> init() async {


  //use cases
  sl.registerFactory(
    () => SignInWithFacebook(
      signInRepository: sl(),
    ),
  );

  // Features
  sl.registerFactory(
        () => SignInWithFaceBookProvider(
      signInWithFacebook: sl(),
    ),
  );

  //repositories
  sl.registerLazySingleton<SignInRespository>(
    () => SignInRepositoryImpl(
      networkInfo: sl(),
      remoteDataSource: sl(),
    ),
  );


final sl=GetIt.instance;
Future init()异步{
//用例
注册工厂(
()=>使用Facebook登录(
符号还原:sl(),
),
);
//特征
注册工厂(
()=>使用FaceBookProvider登录(
使用Facebook登录:sl(),
),
);
//存储库
sl.registerLazySingleton(
()=>SignenRepositoryImpl(
networkInfo:sl(),
remoteDataSource:sl(),
),
);
PS:这个init方法在开始呈现UI之前被调用


final sl = GetIt.instance;
Future<void> init() async {


  //use cases
  sl.registerFactory(
    () => SignInWithFacebook(
      signInRepository: sl(),
    ),
  );

  // Features
  sl.registerFactory(
        () => SignInWithFaceBookProvider(
      signInWithFacebook: sl(),
    ),
  );

  //repositories
  sl.registerLazySingleton<SignInRespository>(
    () => SignInRepositoryImpl(
      networkInfo: sl(),
      remoteDataSource: sl(),
    ),
  );