具有Firebase身份验证的登录用户

时间:2019-12-12 07:35:49

标签: android firebase-authentication

该应用程序应该接受用户的电子邮件和密码,并使用Firebase身份验证作为后端。我正在使用像素2作为模拟器。每当应用程序处理登录功能时,它就会崩溃。

下面是Java文件和gradle文件

Java文件:

1st Part

    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();


                        }

                    }
                });

    }
}

enter image description here

1 个答案:

答案 0 :(得分:1)

在OnCreate方法中,您应该初始化Firebase身份验证。

mAuth = FirebaseAuth.getInstance();

您在loginUser方法中使用了mAuth,但尚未初始化。那可能是导致飞机坠毁的原因之一。