Join in Firebase Android



我在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) {
        }
    });

最新更新