2016-06-11 19 views
2

我有一个Firebase数据库。当im保存数据时,我使用push()来生成自动增量密钥。检索通过推送保存的Firebase数据()

现在我的分贝这样

recipe{ 
    Categories{ 
    -KJxZi0jbE1sY5cCFgqf{ 
     name: "Sri Lankan" 
     } 
     } 
    } 

当IM检索数据我得到这个错误

W/ClassMapper: No setter/field for -KJxz53rLIc4rZPVjK48 found on class com.kosala.uyamu2.Data_Category

这是我Data_Category

public class Data_Category { 

    String name; 

    public Data_Category() {} 
    public Data_Category(String name) { 
     this.name = name;} 
    public String getName() { 
     return name;} 
    public void setName(String name) { 
     this.name = name;}} 

这是我检索数据

mDatabase.child("recipe").child("Categories").addListenerForSingleValueEvent(new ValueEventListener() { 
        @Override 
        public void onDataChange(DataSnapshot dataSnapshot) { 
         Data_Category data = dataSnapshot.getValue(Data_Category.class); 
         Log.d("name", data.getName()); 
        } 

        @Override 
        public void onCancelled(DatabaseError databaseError) { 

        } 
       }); 

任何人都可以帮助我here.Thanks。

回答

2

使用

public void onDataChange(DataSnapshot dataSnapshot) { 
     for (DataSnapshot data : dataSnapshot.getChildren()) 
        Data_Category category = data.getValue(Data_Category.class); 
     } 
}