android - 火力地堡安卓 : Retrieve post from current user's friends only

标签 android firebase firebase-realtime-database

我正在使用 FirebaseRecyclerAdapter 来显示帖子。但我不想显示所有帖子。我只想显示当前用户的 friend 发布的帖子。 当前用户在实时数据库中的好友是这样存储的:

enter image description here

并且每个帖子都存储有发布它的用户的 uid,按照以下方式:

enter image description here

那么,什么是仅从当前用户的 friend 那里检索帖子的有效方法。

最佳答案

此问题的解决方案是使用 FirebaseIndexRecyclerAdapter 而不是 FirebaseRecyclerAdapter。 链接:https://github.com/firebase/FirebaseUI-Android/blob/master/database/README.md#using-firebaseui-with-indexed-data

一步一步:

首先->维护节点中每个用户的帖子让我们说“My_Challenges”: enter image description here

因此,每当用户发布任何内容时,也将该发布 ID 复制到该节点内的用户 uid 下。

其次-> 为您可以看到的帖子维护另一个节点(在我的例子中,我只想看到我 friend 的帖子)假设“timelineIndex”: enter image description here

假设用户 1(1014382358695053) 和用户 2(10207254337991322) 是 friend 。因此,将用户 1 的 My_Challenges 中的所有帖子 ID 复制到用户 2 的 timelineIndex 中,反之亦然。 (注意:每次您的 uid 下出现新的帖子 id 时,您都必须执行此操作,将其复制到 timelineIndex 下的 friend uid)

最后-> 使用 FirebaseIndexRecyclerAdapter : 如上面给出的链接,使用

keyRef = databaseReference.child("timelineIndex").child(mUserId);

dataRef = databaseReference.child("博客");

就是这样。希望对您有所帮助。

关于android - 火力地堡安卓 : Retrieve post from current user's friends only,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42194639/

相关文章:

firebase - 使用 Firestore : StreamBuilder vs StreamProvider flutter

javascript - 如何在 node.js 中关闭 firebase 连接

swift - 查询嵌套数据如何工作?我还能检索下一级的数据吗?

android - 无法解析 Base64.encodeToString

android - 如何从 TabHost Activity 返回结果(startActivityForResult)?

android - 在 GridView 中居中子项

javascript - Firestore 公开可写集合

MongoDB 作为实时数据库

android - 如何在应用程序停止时在 Android 中获取本地通知?

android - 用户退出 : clearing the default Google account does not cause the account picker to show up in Android app