问题描述
一般来说,我是Firebase和Android编程的新手。在我的应用中,我只是保存了全名,密码,电话号码,电子邮件,性别和已确认的密码。所有这些字段都存储在数据库中,但它们混杂在一起
用户 +23407066082195 电子邮件:“ 0000”
fullName:“ + 23407066082195”
性别:“男性”
密码:“ k..gmail.com”
电话号码:“提姆...”
retypedPassword:“ 0000”
这是我的代码:第一次活动
btnSignUp = findViewById(R.id.btnSignUp);
btnSignUp.setonClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (!validateEdtName() | !validateEdtEmail() | !validatePhoneNumber() | !validateEdtPassword() | !validateEdtRePassword() | !validateGender()) {
return;
}
progressBar.setVisibility(View.VISIBLE);
selectedGender = findViewById(gender.getCheckedRadioButtonId());
String gender = selectedGender.getText().toString();
String myName = fullName.getEditableText().toString().trim();
String myEmail = email.getEditableText().toString().trim();
String myPassword = password.getEditableText().toString().trim();
String myRetypedPassword = retypedPassword.getEditableText().toString().trim();
String getUserEnteredPhoneNumber = phoneNumber.getEditableText().toString().trim();
String phoneNo = "+" + countryCodePicker.getFullNumber() + getUserEnteredPhoneNumber;
Intent intent = new Intent(SignUp.this,VerifyOTP.class);
intent.putExtra("PhoneNumber",phoneNo);
//intent.putExtra("fullName",fullName);
intent.putExtra("myName",myName);
intent.putExtra("myEmail",myEmail);
intent.putExtra("myPassword",myPassword);
intent.putExtra("myRetypedPassword",myRetypedPassword);
intent.putExtra("gender",gender);
startActivity(intent);
下一个活动:创建一个类来保存字符串UserHelperClass
FirebaseDatabase rootNode = FirebaseDatabase.getInstance();
DatabaseReference reference = rootNode.getReference("Users");
UserHelperClass addNewUser = new UserHelperClass(fullName,phoneNo,password,email,retypedPassword,gender);
reference.child(phoneNo).setValue(addNewUser);
任何建议都会有所帮助。
解决方法
我分析了您的代码。您可能没有正确初始化EditText
(可能是它们的ID不正确),或者您没有正确实现UserHelperClass
的构造函数。同时检查它们,您可能会看到错误。
P.S。我鼓励您检查Parcelable documentation。它用于通过意图共享对象。