2016-08-04 88 views
0

我新的火力點 我有以下的數據庫檢索所有的孩子從一個節點火力地堡,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 

的想法是我想要檢索每個節點的孩子爲前一個ListView :我有一個列表視圖,每行包含每個公司的名稱,位置和網站。

這是我推到數據庫

 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); 

} 

我如何嘗試檢索

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

但這檢索列表中包含的類別root..I內的整體數據希望它成爲公司對象的列表。

謝謝

回答

1

可以使用DataSnapshot的.getKey或.getValue()函數所需的數據。

相關問題