在datasnapshot中,firebase在android中获取一个值

时间:2017-09-02 18:54:42

标签: android firebase firebase-realtime-database

当我尝试从我的Datasnap对象中的firebase中检索android中的数据时,会检索所有值。像这样 但我只需要获得名称价值而不是电子邮件。如何只从firebase中检索单个值。因为我不需要收到电子邮件只是想得到名字。请帮助我

DataSnapshot { key = users, value = {-Kt1RvWFdpJbPalmZ6Mc={name=dd, email=fj@ifgggg.com}, -Kt1RV6lQ-IRRMtY__0s={name=pooja, email=p@gmail.com}, -Kt1RxjkSfkaqkdPepeX={name=mm, email=ssdffff@gnfh.com}, -Kt1Oqj4G_LueUpRanUJ={name=dipak, email=ss@gmail.com}, -Kt1R2cx4p4FoHOgrLBN={name=ss, email=ss@gmail.com}, -Kt1Q2VypwzlUvcP_8z8={name=dhiraj, email=d@gmail.com}} }

1 个答案:

答案 0 :(得分:0)

假设xamarin.forms节点是Firebase根目录的直接子节点,为了只获取名称,我建议您使用以下代码:

users

您的输出将是:

DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference usersRef = rootRef.child("users");
ValueEventListener eventListener = new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        for(DataSnapshot ds : dataSnapshot.getChildren()) {
            String name = ds.child("name").getValue(String.class);
            Log.d("TAG", name);
        }
    }

    @Override
    public void onCancelled(DatabaseError databaseError) {}
};
usersRef.addListenerForSingleValueEvent(eventListener);