如何在Firebase Android中获取Child?

时间:2017-10-01 12:46:37

标签: android firebase firebase-realtime-database

我尝试使用login我的firebase节点在我的应用中执行Users操作,如下所示:

my model

mUserCompounds.orderByChild("email").equalTo("test@gmail.com").addValueEventListener(new ValueEventListener() {
                    @Override
                    public void onDataChange(DataSnapshot dataSnapshot) {
                        System.out.println(dataSnapshot.getChildrenCount());                        }

                    @Override
                    public void onCancelled(DatabaseError databaseError) {

                    }
                });

我希望得到与我的名字匹配的完整object。这样

我也可以比较密码等 谢谢你的帮助。

3 个答案:

答案 0 :(得分:2)

访问Firebase文档 enter link description here

read firebase data 也总是使用Pushkey将数据推送到firebase,这样你就可以获得整个对象。

答案 1 :(得分:1)

这很简单

mUserCompounds.orderByChild("email").equalTo("test@gmail.com").addValueEventListener(new ValueEventListener() {
                        @Override
                        public void onDataChange(DataSnapshot dataSnapshot) {

                        Log.i("your tag",""+dataSnapshot.toString());
    }

                        @Override
                        public void onCancelled(DatabaseError databaseError) {

                        }
                    });

答案 2 :(得分:1)

首先制作一个用户数据的pojo类。

Class User {
 String about;
 String email;
 String image;
 String name;
 String password;
 String pointsTotal;
 String totalTasksDone;
}

制作getter setter并定义构造函数。

mUserCompounds.orderByChild("email").equalTo("test@gmail.com").addValueEventListener(new ValueEventListener() {
                @Override
                public void onDataChange(DataSnapshot dataSnapshot) {
                    if (dataSnapshot.exists()) {
                         //User already exists
                         User user1 = dataSnapshot.getValue(User.class); 
                         System.out.println(user1.getPassword());
                       }
                  }

                @Override
                public void onCancelled(DatabaseError databaseError) {

                }
            });