我注册时会将数据添加到数据库中,但是我得到了
Java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法“java.lang.String com.google.firebase.auth.FirebaseUser.getUid()”
我尝试了一些东西,但没有成功
这是我的代码
auth = FirebaseAuth.getInstance();
database = FirebaseDatabase.getInstance();
mRef = database.getReference();
FirebaseUser user = auth.getCurrentUser();
userID = user.getUid();
btnSignUp.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final String fname = etFname.getText().toString().trim();
final String lname = etLname.getText().toString().trim();
final String id_card = etIdCard.getText().toString().trim();
final String email = etEmail.getText().toString().trim();
final String mobile = etMobile.getText().toString().trim();
String password = etPassword.getText().toString().trim();
if (TextUtils.isEmpty(email)){
Toast.makeText(getApplicationContext(), "Enter email address!", Toast.LENGTH_SHORT).show();
return;
}
if (TextUtils.isEmpty(password)){
Toast.makeText(getApplicationContext(), "Enter password!", Toast.LENGTH_SHORT).show();
return;
}
if (TextUtils.isEmpty(fname)){
Toast.makeText(getApplicationContext(), "Enter FirstName!", Toast.LENGTH_SHORT).show();
return;
}
if (password.length() < 8) {
Toast.makeText(getApplicationContext(), "Password too short, enter minimum 8 characters!", Toast.LENGTH_SHORT).show();
return;
}
progressBar.setVisibility(View.VISIBLE);
auth.createUserWithEmailAndPassword(email,password)
.addOnCompleteListener(new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if (!task.isSuccessful()) {
UserInfo userInfo = new UserInfo(fname,lname,id_card,mobile,email);
mRef.child("users").child(userID).setValue(userInfo);
etFname.setText("");
etLname.setText("");
etIdCard.setText("");
etMobile.setText("");
etEmail.setText("");
Toast.makeText(RegisterActivity.this, "Authentication failed." + task.getException(),
Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(RegisterActivity.this, "Register Successfully" + task.isSuccessful(), Toast.LENGTH_SHORT).show();
progressBar.setVisibility(View.GONE);
finish();
}
}
});
}
});
}
现在得到这样的新错误
java.lang.NoSuchMethodError:类 Lcom/google/firebase/FirebaseApp 中没有虚拟方法 zzTt()Z;或其超类(“com.google.firebase.FirebaseApp”的声明出现在 /data/app/com.example.androiddev.army31-1/split_lib_dependency_apk.apk:classes36.dex 中)
现在我可以修复它,因为在 gradle 上编译不是同一版本
并得到了同样的东西