我正在使用FirebaseRecyclerAdapter顯示帖子。但我不想顯示所有帖子。我只想顯示當前用戶朋友發佈的帖子。在實時數據庫 當前用戶的朋友被存儲在這樣:Firebase Android:僅從當前用戶的朋友檢索帖子
和每一個崗位存儲與用戶的UID誰貼吧,在下列方式:
所以,只有當前用戶的朋友檢索帖子的有效方式是什麼?
我正在使用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一樣。 –