我已经使用firebase auth创建了一个注册表单。 gradle构建运行得很好。但是,当我运行应用程序时,它说myapp已停止工作。
通过电子邮件和密码验证,我想输入用户信息,如电话号码和车牌号(因为它是停车场应用程序)
public class RegisterScreen extends AppCompatActivity {
private EditText emailet;
private EditText password2et;
private EditText phonenoet;
private EditText carplatenoet;
Button register2btn;
ProgressDialog mProgressDialog;
private FirebaseAuth mAuth;
private DatabaseReference mDatabase;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.register_screen);
emailet = (EditText) findViewById(R.id.emailet);
password2et = (EditText) findViewById(R.id.password2et);
phonenoet = (EditText) findViewById(R.id.phonenoet);
carplatenoet = (EditText) findViewById(R.id.carplatenoet);
register2btn = (Button) findViewById(R.id.register2btn);
mProgressDialog = new ProgressDialog(this);
mAuth = FirebaseAuth.getInstance();
register2btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String email = emailet.getText().toString().trim();
String password = password2et.getText().toString().trim();
String phoneno = phonenoet.getText().toString().trim();
String carplateno = carplatenoet.getText().toString().trim();
if (!TextUtils.isEmpty(email) && !TextUtils.isEmpty(password) && !TextUtils.isEmpty(phoneno) && !TextUtils.isEmpty(carplateno)) {
mProgressDialog.setTitle("Loading...");
mProgressDialog.setMessage("Please Wait");
mProgressDialog.setCanceledOnTouchOutside(true);
mProgressDialog.show();
register(email, password, phoneno, carplateno);
}
}
public void register(final String email, final String password, final String phoneno, final String carplateno) {
mAuth.createUserWithEmailAndPassword(email, password).addOnCompleteListener(new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if (task.isSuccessful()) {
FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
String uid = user.getUid();
mDatabase = FirebaseDatabase.getInstance().getReference().child("users").child(uid);
HashMap<String, String> userMap = new HashMap<>();
userMap.put("Email", email);
userMap.put("Password", password);
userMap.put("PhoneNo", phoneno);
userMap.put("CarPlateNo", carplateno);
mDatabase.setValue(userMap).addOnSuccessListener(new OnSuccessListener<Void>() {
@Override
public void onSuccess(Void aVoid) {
Intent intent = new Intent(RegisterScreen.this, MainNavigationActivity.class);
startActivity(intent);
}
});
}
}
});
}
});
}
}