2

Я попытался создать пользователя с использованием Firebase Auth, отправив электронное письмо и пароль. Теперь я хочу сохранить имя и фамилию после создания пользователя. Поскольку я новичок в Android и Firebase, я просто не понимаю, как это сделать. Может ли кто-нибудь помочь мне в этом?Хранить дополнительную информацию при регистрации в Firebase на Android

Мой код:

public class RegistrationActivity extends AppCompatActivity { 

private FirebaseAuth auth; 
Button cancel, submit; 
EditText email, password, firstName, lastName; 
private ProgressDialog progressDialog; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_registration); 

    progressDialog = new ProgressDialog(this); 

    email = (EditText) findViewById(R.id.email); 
    password = (EditText) findViewById(R.id.password); 
    firstName = (EditText) findViewById(R.id.firstName); 
    lastName = (EditText) findViewById(R.id.lastName); 

    submit = (Button) findViewById(R.id.submit); 
    submit.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      String inputEmail = email.getText().toString().trim(); 
      String inputPassword = password.getText().toString().trim(); 
      registerUser(); 
     } 
    }); 
} 

private void registerUser(){ 
    final String inputFirstName = firstName.getText().toString(); 
    String inputLastName = lastName.getText().toString(); 
    final String inputEmail = email.getText().toString(); 
    String inputPassword = password.getText().toString(); 

    progressDialog.setMessage("Registering.."); 
    progressDialog.show(); 

    //create user 
    auth.createUserWithEmailAndPassword(inputEmail, inputPassword) 
      .addOnCompleteListener(RegistrationActivity.this, new OnCompleteListener<AuthResult>() { 
       @Override 
       public void onComplete(@NonNull Task<AuthResult> task) { 
        if (!task.isSuccessful()) { 
         Toast.makeText(RegistrationActivity.this, "Authentication failed." + task.getException(), 
           Toast.LENGTH_SHORT).show(); 
        } else {      
         Toast.makeText(RegistrationActivity.this, "User created successfully.", Toast.LENGTH_SHORT).show(); 
         progressDialog.hide(); 
         startActivity(new Intent(RegistrationActivity.this, MainActivity.class)); 
        } 
       } 
      }); 
} 
+0

Где вы хотите хранить информацию? –

+0

После создания пользователя с помощью createUserWithEmailAndPassword() я хочу создать узел с именем «пользователь». Под пользователем я хочу сохранить имя, фамилию, адрес электронной почты и пароль. – sangeeta

+0

Хорошо, где проблема? Просто получите данные и сохраните их в firebase. –

ответ

3

Вы можете создать класс пользователей, как это:

public class User{ 

String name; 
String surname; 
String website; 
.... 

public User(){ 
    // Default constructor required 
} 

public void setName(String name){this.name = name;} 
public void setSurname(String surname){this.surname = surname;} 
public void setWebsite(String website){this.website = website;} 

public String getName(){ return name; } 
..... 

} 

Затем просто использовать:

User user = new User(); 
user.setName("xxxx"); 
user.setSurname("xxxx"); 
user.setWebsite("xxxx"); 

mDatabase.child("users").push().setValue(user); 
+0

В JavaScript есть способ отправить все данные как объект JSON сразу. Есть ли способ, которым я могу это сделать на Java, так это единственный способ? – sangeeta

+0

@sangeeta Ваш вопрос был в java ... в любом случае вы можете сделать это разными способами и на многих языках. Для проверки js: https://firebase.google.com/docs/database/web/read-and-write –

+0

Нет. Я думал только о том, есть ли другой способ. Я пытаюсь сделать это в Android. Во всяком случае, у меня появилась идея. Спасибо вам за помощь. – sangeeta