该应用程序应该接受用户的电子邮件和密码,并使用Firebase身份验证作为后端。我正在使用像素2作为模拟器。每当应用程序处理登录功能时,它就会崩溃。
下面是Java文件和gradle文件
Java文件:
private void loginUser() {
//initializing views
EditText editTextEmail = (EditText) findViewById(R.id.editText4);
EditText editTextPassword = (EditText) findViewById(R.id.editText6);
//getting email and password from edit texts
String email = editTextEmail.getText().toString().trim();
String password = editTextPassword.getText().toString().trim();
if (TextUtils.isEmpty(email)) {
Toast.makeText(getApplicationContext(), "Please enter email", Toast.LENGTH_LONG).show();
return;
}
if (TextUtils.isEmpty(password)) {
Toast.makeText(getApplicationContext(), "Please enter password!", Toast.LENGTH_LONG).show();
return;
}
mAuth.signInWithEmailAndPassword(email, password)
.addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if (task.isSuccessful()) {
Toast.makeText(getApplicationContext(), "Login successful!", Toast.LENGTH_LONG).show();
} else {
Toast.makeText(getApplicationContext(), "Login Failed!", Toast.LENGTH_LONG).show();
}
}
});
}
}
答案 0 :(得分:1)
在OnCreate方法中,您应该初始化Firebase身份验证。
mAuth = FirebaseAuth.getInstance();
您在loginUser方法中使用了mAuth,但尚未初始化。那可能是导致飞机坠毁的原因之一。