是正常的。
我在firebase,用户和评论中有两个表。我通过FirebaseRecyclerAdapter在活动中显示评论,当我显示它时,我想获取发布此评论的用户用户名
{
"comments" : {
"-L0hqpk1BGX36jNvaA-h" : {
"comment" : "Hello"
"date_post" : 1513671580718,
"user_id" : "ksRMjacofzZDX1ir0m9iB2HWUhV2"
}
},
"users" : {
"ksRMjacofzZDX1ir0m9iB2HWUhV2" : {
"username" : "user1"
}
}
}
当我使用FirebaseRecyClerview时,是否有一种很好的方法来获取此人的用户名?
谢谢。
我建议您还在评论表中添加用户名,然后我想查询并显示它会很容易。现在,我说这是Firebase与SQL不同的原因是firebase。
das是正确的。您可能应该将用户名添加到评论表中。这样,您就不必下载用户的配置文件来获取用户名。但是,如果您确实想通过其个人资料获取用户名,那么这很容易,因为您已经拥有他们的ID。只是这样做:
//Get the user id when you retrieve the comment
FirebaseDatabase.getInstance.getReference.child("users").child(userid).addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
User user = dataSnapshot.getValue(User.class);
String username = user.getUsername();
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});