Если вы хотите сохранить данные из вашей формы в базе данных Firebase, рекомендуем сделать что-то похожее на это:
Вы пытаетесь сохранить данные из формы регистра, чтобы структура данных была такой же каждый раз. Создайте новый объект с полями, которые вы хотите сохранить в базе данных (пример с 2 полями приведен ниже):
public class User {
private String username;
private String email;
public User() {
// Default constructor required for calls to DataSnapshot.getValue(User.class)
}
public User(String username, String email) {
this.username = username;
this.email = email;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}
Поскольку ваше приложение связано с базой данных, вам не нужно указывать URL. Вы можете просто использовать выражение:
private DatabaseReference mDatabase;
mDatabase = FirebaseDatabase.getInstance().getReference().child("users").child("user_id");
После этого соедините поля из макета с переменными:
Button registerBtn = (Button) findViewById(R.id.register_button);
EditText userName = (EditText) findViewById(R.id.name);
EditText userEmail = (EditText) findViewById(R.id.mail);
Затем, нажав кнопку регистрации, вы можете получить данные из Поля EditText и передать их другой функции.
registerBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String name = userName.getText().toString();
String mail = userEmail.getText().toString();
pushNewUser(name, mail);
}
});
Последний шаг - установка значений в базу данных.
private void pushNewUser(String name, String email){
User newUser = new User(name, email);
mDatabase.setValue(newUser);
}
Чтобы добавить больше полей, вы должны добавить их в User. java (не забывайте о costructor / getters / setters) и затем передать больше значений в функцию pushNewUser.