2

Ich habe versucht, einen Benutzer mit Firebase Auth erstellen, indem Sie eine E-Mail und ein Kennwort senden. Jetzt möchte ich den Vor- und Nachnamen speichern, nachdem ein Benutzer erstellt wurde. Da ich neu in Android und Firebase bin, sehe ich einfach nicht, wie das geht. Kann mir jemand dabei helfen?Speichern Sie zusätzliche Informationen während der Registrierung bei Firebase in Android

Mein Code:

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

Wo sehen Sie die Informationen speichern? –

+0

Nachdem ein Benutzer mit createUserWithEmailAndPassword() erstellt wurde, möchte ich einen Knoten namens "user" erstellen. Unter Benutzer möchte ich Vorname, Nachname, E-Mail und Passwort speichern. – sangeeta

+0

Ok, wo ist das Problem? Holen Sie einfach die Daten und speichern Sie sie in Firebase. –

Antwort

3

Sie eine Benutzerklasse wie folgt erstellen:

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; } 
..... 

} 

Dann ist es nur verwenden:

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

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

In JavaScript gibt es eine Möglichkeit, alle Daten als JSON-Objekt auf einmal zu senden. Gibt es irgendeinen Weg, dass ich das in Java tun kann, also ist es der einzige Weg? – sangeeta

+0

@sangeeta Ihre Frage war in Java ... auf jeden Fall können Sie es auf viele Arten und in vielen Sprachen tun. Für js überprüfen: https://firebase.google.com/docs/database/web/read-and-write –

+0

Nein, ich dachte nur, wenn es anders geht. Ich versuche es in Android zu machen. Jedenfalls bin ich auf die Idee gekommen. Danke für die Hilfe. – sangeeta

Verwandte Themen