我正在尝试使用电子邮件和密码在Android Studio 3.1.4中创建Firebase身份验证应用程序,但是当我单击注册按钮时,它会崩溃并显示以下摘要。
MainActivity.java
package com.example.vatsal2416.firebaseauth;
import android.app.Activity;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
import com.google.android.gms.tasks.OnCompleteListener;
import com.google.android.gms.tasks.Task;
import com.google.firebase.auth.AuthResult;
import com.google.firebase.auth.FirebaseAuth;
public class MainActivity extends Activity {
private FirebaseAuth mAuth;
@Override
protected void onCreate(Bundle savedInstanceState) {
final TextView textEmail = findViewById(R.id.et1);
final TextView textPassword= findViewById(R.id.et2);
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//Initialize buttons
Button btn_Login = findViewById(R.id.login);
Button btn_regsiter = findViewById(R.id.register);
//intialize Firebase Authentication
mAuth = FirebaseAuth.getInstance();
btn_Login.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
methodLogin(textEmail.getText().toString(),textPassword.getText().toString());
}
});
btn_regsiter.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
methodRegister(textEmail.getText().toString(),textPassword.getText().toString());
}
});
}
public void methodRegister(String email, String password){
mAuth.createUserWithEmailAndPassword(email, password)
.addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if (task.isSuccessful()) {
Toast.makeText(getApplicationContext(), "Authentication Successful", Toast.LENGTH_SHORT).show();
}else{
Toast.makeText(getApplicationContext(), "Authentication Successful", Toast.LENGTH_SHORT).show();
}
}
});
}
public void methodLogin(String email, String password){
mAuth.signInWithEmailAndPassword(email, password)
.addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if (task.isSuccessful()) {
Toast.makeText(getApplicationContext(), "Authentication Successful", Toast.LENGTH_SHORT).show();
}else{
Toast.makeText(getApplicationContext(), "Authentication Successful", Toast.LENGTH_SHORT).show();
}
}
});
}
}
项目的Github链接
任何人都可以告诉我代码中实际上有什么问题。
答案 0 :(得分:1)
使用
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final TextView textEmail = findViewById(R.id.et1);
final TextView textPassword= findViewById(R.id.et2);
代替
final TextView textEmail = findViewById(R.id.et1);
final TextView textPassword= findViewById(R.id.et2);
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);