2016-08-04 5 views
0

Ich bin Ich habe die folgende DatenbankAbrufen aller Kinder von einem Knoten Firebase-Android

-Root 
     -IT 
      -KOKlB####nryPhkTaA 
        -name: value 
        -location: value 
        -website: value 
      -KOKlBBPh###nryPhkTaA 
        -name: value 
        -location: value 
        -website: value 
     -Media 
      -KOKlBBP##nryPhkTaA 
        -name: value 
        -location: value 
        -website: value 
      -KOKlBBPhm##yPhkTaA 
        -name: value 
        -location: value 
        -website: value 

Die Idee, Feuerbasis ist ich die Kinder jedes Knotens zu einem Listview für ex abrufen möchten: I eine Listenansicht haben Jede Zeile enthält den Namen, den Standort und die Website jeder Firma.

Dies ist, wie ich Datenbank schieben

 public class Company { 

private String name; 
private String location; 
private String website; 

public Company(){} 

public Company(String name,String location, String website) 
{ 
    this.name=name; 
    this.location=location;  
    this.website=website;  
} 

    public Map<String, Object> toMap() 
{ 
    HashMap<String, Object> result= new HashMap<>(); 
    result.put("name",name); 
    result.put("location",location); 
    result.put("website",website); 

    return result; 
} 

    public void addNewCompany(String category,String name,String location, String website) 
{ 
    Company company= new Company(name,location,city,website); 
    String key= mRootRef.child("0").child(category).push().getKey(); 
    Map<String, Object> companyValues=company.toMap(); 

    Map<String, Object> childUpdates=new HashMap<>(); 
    childUpdates.put("0/"+category+"/" + key,companyValues); 

    mRootRef.updateChildren(childUpdates); 

} 

Wie ich

  DatabaseReference mConditionRef=mRootRef.child(category); 
     mConditionRef.addChildEventListener(new ChildEventListener() { 
     @Override 
     public void onChildAdded(DataSnapshot dataSnapshot, String s) { 
       for (DataSnapshot dsp : dataSnapshot.getChildren()) { 
       CoLists.add(String.valueOf(dsp.getValue())); 

       for(String data:CoLists){ 
        mCompanies.add(data); 
} 

aber diese abrufen eine Liste enthält eine Gesamtheit der Daten innerhalb der Kategorie root..I abzurufen versucht möchte, dass es sich um eine Liste von Company-Objekten handelt.

Danke

Antwort

1

Sie .getKey oder .getValue() Funktion von DataSnapshot auf die erforderlichen Daten verwenden können.

Verwandte Themen