2017-05-31 92 views
0

我有一个用户ID,我想从Firebase取他的名字。所以,我试图使用orderByKey()方法来查找某个用户,然后从他的配置文件中获取信息。但不顺心的事...使用特定ID从Firebase检索数据

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

回答

0

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

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

    } 
}); 
+1

现在,它的工作,非常感谢 –