使用特定ID从Firebase检索数据

时间:2017-05-31 16:02:19

标签: android firebase firebase-realtime-database

我有一个用户ID,我想从firebase中取出他的名字。所以,我试图使用orderByKey()方法来查找某个用户,然后从他的个人资料中获取信息。但出了点问题......

reference = FirebaseDatabase.getInstance().getReference("Users");
    Query query = reference.orderByKey().equalTo(task.author_id);
    query.addListenerForSingleValueEvent(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            fullName = dataSnapshot.getValue(User.class).getFullName();
        }

        @Override
        public void onCancelled(DatabaseError databaseError) {

        }
    });

Firebase Structure

1 个答案:

答案 0 :(得分:2)

如果您已经知道该节点的特定路径,那么在这种情况下您不需要查询。只需直接添加监听器即可。

reference = FirebaseDatabase.getInstance().getReference("Users");
reference.child(task.author_id).addListenerForSingleValueEvent(new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        fullName = dataSnapshot.getValue(User.class).getFullName();
    }

    @Override
    public void onCancelled(DatabaseError databaseError) {

    }
});