2017-07-02 2 views
0

Ich bin neu hier und ich würde mich freuen, wenn mir jemand helfen kann.Was ich tun möchte ist UID und Benutzername aller Benutzer zu erhalten und es in einer Liste anzeigen.Wie man einen Benutzer liest Informationen aus Firebase-Datenbank und Anzeige als Liste in Android App

Hier ist mein zugehöriger Code: Benutzerinformation zum Einfügen

public class User { 

    public String username; 
    public String phone; 

    public User() { 
     // Default constructor required for calls to DataSnapshot.getValue(User.class) 
    } 

    public User(String username, String phone) { 
     this.username = username; 
     this.phone = phone; 
    } 

    public String getUsername() { 
     return username; 
    } 

    public void setUsername(String username) { 
     this.username = username; 
    } 

    public void setPhone(String phone) { 
     this.phone = phone; 
    } 

    public String getPhone() { 
     return phone; 
    } 


} 

mDatabase = FirebaseDatabase.getInstance().getReference(); 
     listView = (ListView) v.findViewById(R.id.listview); 

     mDatabase.addValueEventListener(new ValueEventListener() { 
      @Override 
      public void onDataChange(DataSnapshot dataSnapshot) { 


       for(DataSnapshot user : dataSnapshot.getChildren()){ 

        **// Not sure what to do here** 

        array.add(username); 
        } 

       ArrayAdapter adapter = new ArrayAdapter(getContext(), android.R.layout.simple_list_item_1, array); 
       listView.setAdapter(adapter); 
       } 

Meine Benutzer Class, die ich verwende Und das ist, wie meine Datenbank Sieht aus wie Firebase Database

Antwort

0

Bitte verwenden Dieser Code:

DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference(); 
DatabaseReference usersRef = rootRef.child("users"); 
ValueEventListener eventListener = new ValueEventListener() { 
    @Override 
    public void onDataChange(DataSnapshot dataSnapshot) { 
     for(DataSnapshot ds : dataSnapshot.getChildren()) { 
      String phone = ds.child("phone").getVelue(String.class); 
      String username = ds.child("username").getValue(String.class); 
      Log.d("TAG", phone + "/" + username); 
     } 
    } 

    @Override 
    public void onCancelled(DatabaseError databaseError) {} 
}; 
usersRef.addListenerForSingleValueEvent(eventListener); 

Und Ihre uotput wird:

uo/pol 
809151699/shivam 
//and so on 

Hoffe, es hilft.

+0

Vielen Dank. –

Verwandte Themen