Firebase Android:仅从当前用户的朋友检索帖子
我正在使用FirebaseRecyclerAdapter显示帖子。但我不想显示所有帖子。我只想显示当前用户朋友发布的帖子。在实时数据库 当前用户的朋友被存储在这样:Firebase Android:仅从当前用户的朋友检索帖子
和每一个岗位存储与用户的UID谁贴吧,在下列方式:
所以,只有当前用户的朋友检索帖子的有效方式是什么?
解决此问题是使用FirebaseIndexRecyclerAdapter而不是FirebaseRecyclerAdapter。 链接:https://github.com/firebase/FirebaseUI-Android/blob/master/database/README.md#using-firebaseui-with-indexed-data
分步:
首先 - >维持在一个节点的每个用户的岗位让说 “My_Challenges”:
所以每当用户发布任何东西,复制在该节点内的用户uid下发布id。
二 - >维护帖子,你可以看到(以我来说,我只想看到我的朋友们的帖子),另一个节点让说:“timelineIndex”:
让我们说用户1(1014382358695053)和用户2(10207254337991322)是朋友。因此,请将用户1的My_Challenges的所有帖子ID复制到用户2的时间轴索引,反之亦然。 (注意:你必须在你的uid将它复制到你的朋友下的uid timelineIndex这个新职位ID来每次做)
最后 - >使用FirebaseIndexRecyclerAdapter: 正如上面给出的链接,使用
keyRef = databaseReference.child(“timelineIndex”)。child(mUserId);
dataRef = databaseReference.child(“Blogs”);
就是这样。我希望它有帮助。
为了防止人们看到帖子,您应该使用一些方法身份验证。通过这种方式,可以看到帖子的人,就被记录在谁的人 火力地堡一对一的消息在此之前的问题表示不直接支持:
只有认证后,才允许每个用户使用应用。我如何限制他们看不到朋友的帖子。 –
我在谈论除Gmail登录以外的其他身份验证,例如服务器专用的用户名和密码。 – JordanH
我认为你没有得到我。我在谈论Facebook,如果我的朋友发布了一些内容,它应该会出现在我的时间表上。事实上,它应该符合其朋友的每一个时间表。并说,如果你发布了一些东西,而你不是我的朋友,我不会在你的时间线上发布你的帖子。这就像Facebook一样。 –