У меня есть приложение, которое пользователи регистрируют и хранят эти данные в базе данных Firebase. Firebase-сборка похожа на корневую базу данных firebase. Пользователи:
"test" : {
"email" : "test@gmail.com",
"gender" : "Male",
"password" : "test",
"userName" : "test",
"user_class" : "Barbarian"
},
Я хочу добавить аутентификацию Firebase с электронной почтой и паролем, но я хочу сохранить структуру базы данных (с полем пользователя). Как я могу это сделать?
Это моя форма отправки для создания пользователя в базе данных:
private void submitForm() {
String user_class = String.valueOf(spinner.getSelectedItem());
int selectedId = genderRadioGroup.getCheckedRadioButtonId();
String gender;
if (selectedId == R.id.female_radio_btn)
gender = "Female";
else
gender = "Male";
final User user = new User(signupInputName.getText().toString(),
signupInputPassword.getText().toString(),
signupInputEmail.getText().toString(),
gender,
user_class);
users.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
if (dataSnapshot.child(user.getUserName()).exists())
Toast.makeText(RegisterActivity.this, "User already exists! ", Toast.LENGTH_SHORT).show();
else {
users.child(user.getUserName())
.setValue(user);
Toast.makeText(RegisterActivity.this, "User registration success! ", Toast.LENGTH_SHORT).show();
Intent intent = new Intent(
RegisterActivity.this,
MainActivity.class);
startActivity(intent);
finish();
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});