检索Firebase字段的父级和子级

ElGreato

我正在尝试获取Firebase数据库中的字段及其子项的父值。Firebase数据库 为了澄清:

我想遍历快照以查找要通过其ID登录的用户,此后,我想获取该ID的父级(即,用户是女性还是男性),然后再获取州和名称。

所以我正在做的是:

database=FirebaseDatabase.getInstance();
rootRef = database.getReference();
users = rootRef.child("Users");

然后

users.orderByChild("name").addListenerForSingleValueEvent(new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        for (DataSnapshot child : dataSnapshot.getChildren()) {
            if (child.getValue().equals(curUser.getUid())) {
                String gender = child.getKey().toString();
                currentPolUser.setuGender(gender);
                currentPolUser.setuName(child.child("Name").getValue().toString());
                Log.d("FirebaseUsers", "SUCCESSSSSS: "+currentPolUser.getuName() + " " + currentPolUser.getuGender());
            }
        }
    }

    @Override
    public void onCancelled(DatabaseError databaseError) {

    }
});

问题是child.getValue()返回了无法与用户ID字符串进行比较的对象。

列维·莫雷拉(Levi Moreira)

试试这个:

 ref.child("Users").orderByChild("name").addListenerForSingleValueEvent(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            for (DataSnapshot child : dataSnapshot.getChildren()) {
                String gender = child.getKey();
                for(DataSnapshot finalChild : child.getChildren()){
                    if (finalChild.getKey().equals(curUser.getUid())) {
                        HashMap<String, Object> map = (HashMap<String, Object>) finalChild.getValue();
                        String name = (String) map.get("name");
                        currentPolUser.setuGender(gender);
                        currentPolUser.setuName(name);
                        Log.d("FirebaseUsers", "SUCCESSSSSS: "+currentPolUser.getuName() + " " + currentPolUser.getuGender());

                        Log.e("TTT", name);
                    }
                }
            }
        }

        @Override
        public void onCancelled(DatabaseError databaseError) {

        }
    });

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章