Java 当进入使用Firebase Auth&;的活动时,我的应用程序崩溃;数据库
每次我使用intent启动此活动时,我的应用程序都会崩溃。此活动允许人们输入一些详细信息,以便使用Firebase Auth&Database注册自己,并使用电子邮件和密码创建一个帐户进行登录。 包com.example.jamsecureJava 当进入使用Firebase Auth&;的活动时,我的应用程序崩溃;数据库,java,firebase,firebase-realtime-database,firebase-authentication,Java,Firebase,Firebase Realtime Database,Firebase Authentication,每次我使用intent启动此活动时,我的应用程序都会崩溃。此活动允许人们输入一些详细信息,以便使用Firebase Auth&Database注册自己,并使用电子邮件和密码创建一个帐户进行登录。 包com.example.jamsecure import android.content.Intent; import android.os.Bundle; import android.util.Patterns; import android.view.View; import android.w
import android.content.Intent;
import android.os.Bundle;
import android.util.Patterns;
import android.view.View;
import android.widget.EditText;
import android.widget.ProgressBar;
import android.widget.Spinner;
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;
import com.google.firebase.database.FirebaseDatabase;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
public class Register extends AppCompatActivity {
EditText email, pw, mob, pwr, fname;
Spinner loc;
ProgressBar progressBar;
private FirebaseAuth mAuth;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_user_register);
progressBar=(ProgressBar) findViewById(R.id.progressBar);
progressBar.setVisibility(View.GONE);
email=findViewById(R.id.temail);
pw=findViewById(R.id.tpw);
mob=findViewById(R.id.tcn);
loc=findViewById(R.id.tl);
pwr=findViewById(R.id.tpwr);
fname=findViewById(R.id.tfn);
mAuth = FirebaseAuth.getInstance();
findViewById(R.id.br).setOnClickListener((View.OnClickListener) this);
}
@Override
protected void onStart() {
super.onStart();
if(mAuth.getCurrentUser()!=null){
//handle it
}
}
private void registerUser(){
final String em=email.getText().toString().trim();
final String name=fname.getText().toString().trim();
String password=pw.getText().toString().trim();
String password_re=pwr.getText().toString().trim();
final String phone=mob.getText().toString().trim();
final String location=loc.getSelectedItem().toString().trim();
if(name.isEmpty()){
fname.setError("Please Enter Full Name");
fname.requestFocus();
return;
}
if(em.isEmpty()){
email.setError("Email Required");
email.requestFocus();
return;
}
if(!Patterns.EMAIL_ADDRESS.matcher(em).matches()){
email.setError("Enter Valid Email");
email.requestFocus();
return;
}
if(password.isEmpty()){
pw.setError("Enter Password");
pw.requestFocus();
return;
}
if(password_re.isEmpty()){
pw.setError("Enter Password Again");
pw.requestFocus();
return;
}
if(phone.isEmpty()){
mob.setError("Please Enter Contact Info");
mob.requestFocus();
return;
}
if(location.isEmpty()){
Toast toast = Toast.makeText(this, "Please Select Location", Toast.LENGTH_LONG);
toast.show();
return;
}
progressBar.setVisibility(View.VISIBLE);
mAuth.createUserWithEmailAndPassword(em,password).addOnCompleteListener(new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if(task.isSuccessful()){
User user = new User(name,em,phone,location);
FirebaseDatabase.getInstance().getReference("Users")
.child(FirebaseAuth.getInstance().getCurrentUser().getUid())
.setValue(user).addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
progressBar.setVisibility(View.GONE);
if(task.isSuccessful()){
Toast.makeText(Register.this,"Registration Successful" ,Toast.LENGTH_LONG).show();
Intent i = new Intent(Register.this,MainActivity.class);
startActivity(i);
}
else{
Toast.makeText(Register.this,"Unable To Register",Toast.LENGTH_LONG).show();
}
}
});
}
else{
Toast.makeText(Register.this, task.getException().getMessage(),Toast.LENGTH_LONG).show();
}
}
});
}
public void onClick(View v){
switch (v.getId()){
case R.id.br: registerUser();
break;
}
}
}
您必须实现查看。OnClickListener:
public class Register extends AppCompatActivity implements View.OnClickListener {
并将@Override添加到onClick方法。使您的类实现View.OnClickListener,然后在代码中向onClick方法添加@Override
public class Register extends AppCompatActivity implements View.OnCLickListener {
//your code here
}
@Override
public void onClick(View v){
switch (v.getId()){
case R.id.br: registerUser();
break;
}
}
这回答了你的问题吗???这回答了你的问题吗?
public class Register extends AppCompatActivity implements View.OnCLickListener {
//your code here
}
@Override
public void onClick(View v){
switch (v.getId()){
case R.id.br: registerUser();
break;
}
}