Flutter:尝试在空对象引用上调用虚拟方法

时间:2019-05-09 13:35:16

标签: android firebase flutter firebase-authentication

我目前在尝试允许用户使用Firebase身份验证通过我的应用程序创建帐户时遇到问题。方法: createUserWithEmailAndPassword()

错误: 尝试在空对象引用上调用虚拟方法'com.google.android.gms.tasks.Task com.google.firebase.auth.FirebaseAuth.createUserWithEmailAndPassword(java.lang.String,java.lang.String)'

我不得不将我的应用程序迁移到Android X,因为我使用Firestore作为数据库,并且一切正常,直到需要测试帐户的创建。我已经尝试了一切,从更改build.gradle文件中的依赖关系到更改pubspec.yaml文件中的插件版本。什么都没用。我还启用了Firebase控制台中的电子邮件和密码登录。

当前正在使用的Pubspec插件:

  http: ^0.12.0+2
  cloud_firestore: ^0.9.0
  google_sign_in: ^4.0.1+3
  firebase_auth: ^0.9.0
  location: "^2.3.5"
  geolocator: ^4.0.0

Firebase身份验证代码:

FirebaseAuth _auth = FirebaseAuth.instance;
 Future<FirebaseUser> handleRegistration (String *,
  String *,String *, String *, String *,
  String *, String *, String *, String *, 
  String *, String *, String *,
  String medName, String medNum, String emrgName, 
  String emrgNum,  String emailAdd,String password) async{
    try{
      final FirebaseUser user = await _auth.createUserWithEmailAndPassword(email: emailAdd,password: password);
      assert(user != null);
      assert(await user.getIdToken()!= null);
      if(user!= null){
        getLocation();
      if(await user.getIdToken() != null){
        if(isMember == "Yes"){
          String validateMembership = checkUsersClubReg(user.uid, clubName);
          if(validateMembership == "Active"){
            var clubDetails = validateMembership.split(',');
            createUsersAccount(*, *, *, *, *,
             *, *, *, *, *, *, "*",
              *, user.uid, medName, medNum, emrgName, emrgNum,"Inactive","0" );
          }else{
            createUsersAccount(*, *, *, *, *,
             *, *, *, *, *, *, "*",
              *, user.uid, medName, medNum, emrgName, emrgNum,"Inactive","0");
          }
        }
      }
      return user;
    }
    }on AuthException catch(ex){
      print(ex.code.toString());

    }
  }

预期结果:用户帐户已写入Firebase身份验证 实际结果: 代码中断,错误: 尝试在空对象引用上调用虚拟方法'com.google.android.gms.tasks.Task com.google.firebase.auth.FirebaseAuth.createUserWithEmailAndPassword(java.lang.String,java.lang.String)'

0 个答案:

没有答案