检索使用push()

时间:2016-06-11 05:54:33

标签: android firebase

我有一个Firebase数据库。当我保存数据时,我使用push()生成自动增量键。

现在我的数据库就像这样

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

当我检索数据时出现此错误

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

这是我的Data_Category Bean

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

                    }
                });

任何人都可以帮助我。谢谢。

1 个答案:

答案 0 :(得分:2)

使用

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