2017-05-08 5 views
0

Im neu mit Feuerbasis Ich weiß nicht, wie Feuerbasis aktuelle Benutzerinformationen in meinem Profil Aktivität java zeigen, das ist mein aktueller Code istFirebase Android Wie bekomme ich aktuelle Benutzerinformationen aus der Datenbank?

databaseReference.addValueEventListener(new ValueEventListener() { 
     @Override 
     public void onDataChange(DataSnapshot dataSnapshot) { 
      showData(dataSnapshot); 
     } 

     @Override 
     public void onCancelled(DatabaseError databaseError) { 

     } 
    }); 
private void showData(DataSnapshot dataSnapshot) { 
    for(DataSnapshot ds : dataSnapshot.getChildren()){ 
     DataUser uinfo = new DataUser(); 

     uinfo.SetName(ds.child(Userid).getValue(DataUser.class).name); 
     uinfo.SetDOB(ds.child(Userid).getValue(DataUser.class).name); 


    } 
} 

Und das ist mein Dataview Java für die Setter Getter

public class DataUser { 

String name, DOB; 

public DataUser(){ 
} 

public void SetName(String name){ 
    this.name = name; 
} 
public String getName(){ 
    return name; 
} 
public void SetDOB(String DOB){ 
    this.DOB = DOB; 
} 
public String getDOB(){ 
    return DOB; 
} 

} 

Meine Frage ist mein Code korrekt? Und ich habe eine Textansicht sowohl für den Namen als auch für den Titel, aber ich weiß nicht, wie ich sie dazu bringen kann, die Benutzerinformationen anzuzeigen, die ich bereits in meinem Code anrufe.

+0

Fügen Sie bitte Ihre Datenbankstruktur hinzu. –

+0

https://www.dropbox.com/s/3fxu5xmjsdkfpfn/S__17350661.jpg?dl=0 Hier ist meine Datenbank –

Antwort

0

Sie können Benutzerdaten aus dem firebaseUser Objekt wie folgt erhalten:

FirebaseAuth auth = FirebaseAuth.getInstance(); 
    FirebaseAuth.AuthStateListener authListener = new FirebaseAuth.AuthStateListener() { 
     @Override 
     public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) { 
      FirebaseUser firebaseUser = firebaseAuth.getCurrentUser(); 
      if (firebaseUser != null) { 
       String uid = firebaseUser.getUid(); 
       String email = firebaseUser.getEmail(); 
       String name = firebaseUser.getDisplayName(); 
       //and so on for other values 

       editText.setText(name); 

       Toast.makeText(MainActivity.this, "You are signed in Firebase!", Toast.LENGTH_SHORT).show(); 
      } else { 
       Toast.makeText(MainActivity.this, "You are signed out from Firebase!", Toast.LENGTH_SHORT).show(); 
      } 
     } 
    }; 

Hoffe, es hilft.

+0

hmm Ich möchte den aktuellen Benutzernamen und dob zeigen in ihrem eigenen editiertext wissen Sie wie? –

+0

Verwenden Sie bitte: 'editText.setText (getName (());' und 'editText.setText (getDOB());' –

+0

Haben Sie es herausgefunden? –

Verwandte Themen