我在Firebase中有两个表,用户和评论。 我在Activity中使用FirebaseRecyclerAdapter显示评论,当我显示它时,我想获得发布此评论的用户的用户名
{
"comments" : {
"-L0hqpk1BGX36jNvaA-h" : {
"comment" : "Hello"
"date_post" : 1513671580718,
"user_id" : "ksRMjacofzZDX1ir0m9iB2HWUhV2"
}
},
"users" : {
"ksRMjacofzZDX1ir0m9iB2HWUhV2" : {
"username" : "user1"
}
}
}
使用FirebaseRecyclerView时是否有获取此人用户名的好方法?
谢谢。
答案 0 :(得分:3)
我建议您也使用评论表添加用户名,然后我猜它会很容易查询并显示它。现在我之所以这么说,Firebase与SQL不同,非规范化是正常的,那就是firebase。
答案 1 :(得分:1)
//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) {
}
});