2016-08-04 5 views
0

Я новичок в Firebase У меня есть следующие базы данныхПолучение всех детей от узла 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 

Идея заключается в том, я хочу, чтобы получить детей каждого узла к 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

Вы можете использовать функцию .getKey или .getValue() от DataSnapshot до требуемых данных.