2017-01-15 6 views
0

In meinem Android App ich diesen Code verwende Beiträge von Firebase-Datenbank abzurufen:Erhalten Sie nur bestimmte Menge an Kinder von Firebase Datenbank

ArrayList<Post> posts = new ArrayList<>(); 
dbRef.addValueEventListener(new ValueEventListener() { 
      @Override 
      public void onDataChange(DataSnapshot dataSnapshot) { 
       for(DataSnapshot dsp : dataSnapshot){ 
        String author = dsp.child("author").getValue().toString(); 
        String text = dsp.child("author").getValue().toString(); 
        posts.add(new Post(author,text)); 
      } 
       @Override 
       public void onCancelled(DatabaseError databaseError) { 

       } 
      }); 

Aber das gibt alle Beiträge und wenn würde es von ihnen, dass ich viele sein denke, es wäre keine gute Idee, sie alle in Erinnerung zu behalten. Gibt es eine Möglichkeit, nur eine bestimmte Anzahl von Knotenkindern zu erhalten? Zum Beispiel möchte ich am Anfang 10 zuerst, dann 10 mehr und so weiter bekommen

Antwort

1

Sie suchen nach limitToFirst() (oder limitToLast()).

ArrayList<Post> posts = new ArrayList<>(); 
Query query = dbRef.orderByKey().limitToFirst(10); 
query.addValueEventListener(new ValueEventListener() { 
     @Override 
     public void onDataChange(DataSnapshot dataSnapshot) { 
      for(DataSnapshot dsp : dataSnapshot){ 
       String author = dsp.child("author").getValue().toString(); 
       String text = dsp.child("author").getValue().toString(); 
       posts.add(new Post(author,text)); 
     } 
      @Override 
      public void onCancelled(DatabaseError databaseError) { 

      } 
     }); 

Siehe Firebase documentation on queries für eine Erklärung aller seiner Fähigkeiten.

1

Sie müssen Ihre DataSnapShot verwenden, um spezifischere Informationen zu erhalten.

Es gibt einen FireBase-Leitfaden für Andoird, der die Verwendung erläutert. Firebase Android Guide

Wenn Sie lieber auf stackOverFlow ein kleines Beispiel sehen möchten, scheint diese Antwort hier etwas von dem zu tun, was Sie erreichen möchten. FireBase Get Children

Hoffe das hilft in Ihrer Firebase Nutzung über Android.

Verwandte Themen