我使用FirebaseRecyclerAdapter来显示帖子。但我不想显示所有帖子。我只想展示当前用户的朋友发布的帖子。 当前用户在实时数据库中的朋友以这种方式存储:
并且每个帖子都与发布它的用户的uid一起存储,方式如下:
那么,从当前用户的朋友那里检索帖子的有效方法是什么呢。
答案 0 :(得分:1)
此问题的解决方案是使用FirebaseIndexRecyclerAdapter而不是FirebaseRecyclerAdapter。 链接:https://github.com/firebase/FirebaseUI-Android/blob/master/database/README.md#using-firebaseui-with-indexed-data
一步一步:
<强>第一强> - &GT;维护节点中每个用户的帖子,让我们说“我的挑战”#34;:
因此,每当用户发布任何内容时,也要在此节点内的用户uid下复制该帖子ID。
<强>第二强> - &GT;为你可以看到的帖子维护另一个节点(在我的情况下,我只想看到我的朋友帖子)让我们说&#34; timelineIndex&#34;:
假设用户1(1014382358695053)和用户2(10207254337991322)是朋友。因此,将用户1的 My_Challenges 的所有帖子ID复制到用户2的 timelineIndex ,反之亦然。 (注意:每次在你的uid上将新的帖子ID复制到你的朋友uid timelineIndex 时,你必须这样做)
<强>最后强> - &GT;使用FirebaseIndexRecyclerAdapter: 如上面给出的链接,使用
keyRef = databaseReference.child(&#34; timelineIndex&#34;)。child(mUserId);
dataRef = databaseReference.child(&#34; Blogs&#34;);
那就是它。我希望它有所帮助。
答案 1 :(得分:0)
为防止人们看到帖子,您应该使用身份验证的某种方法。这样,唯一可以看到帖子的人就是登录的人。 如前一个问题中所述,不直接支持Firebase一对一消息传递: