2017-10-13 72 views
0

我正在開發Firebase聊天應用。如何管理Firebase聊天應用中的朋友 - Android

我已經實施Firebase電子郵件/密碼認證。所以,當用戶註冊成功時,我有一個代碼,通過它在每個註冊/註冊應用程序中存儲用戶詳細信息,如名稱,電子郵件等,在uid節點下的Firebase數據庫中。

然後,使用一個電子郵件ID, 如果與電子郵件ID的UID出現在火力數據庫的朋友的用戶搜索,該函數返回true,

然後,應用程序,補充說,電子郵件ID

<FirebaseApp> 
    <users> 
     ....users details... 

    <friends> 
     <userid> 
      <unique pushed id> : searched email // here the friend's email id is added 

下添加新的朋友, 後,我使用的是recyclerview顯示好友列表。 因此,該應用程序檢索朋友下的所有節點>>當前用戶的uid >>

由於我的數據庫結構描述我只有在好友數據庫中保存朋友uid。

在第一步,用戶將只有朋友的電子郵件ID。假設列表friendsList

然後我用這個friendsList來檢索朋友的所有其他細節,比如個人資料圖片,姓名,聯繫人等等,它保存在用戶節點下。

但是使用每個循環檢索每個朋友的其他細節,然後存儲在數組列表中,然後將該arrayList壓縮到適配器,然後顯示到recyclerview。是一個非常耗時的過程。

因爲它也可以有其他的功能。如將Base64圖像轉換爲位圖等。

因此,每次活動開始時,遵循上述所有步驟,將會產生漫長的過程。

其他的這個,我有另外一種方式,我朋友節點下的朋友也可以節約其他的細節。像一個新朋友加入數據庫時​​的名稱,聯繫方式等。

但是又出現了另一個問題。 是的,我也可以存儲朋友的其他詳細信息......但如果朋友更新他的個人資料圖片,聯繫怎麼辦?

所以,這個程序不適合我的情況。

如何在我的Firebase應用程序中創建WhatsApp喜歡的朋友列表,其中每個用戶的朋友列表都會隨時更新他/她的朋友詳細信息。 也不會在任何漫長的過程下進行。

回答

2

最好的方法是將所有必要的詳細信息保存在朋友節點中。

你可以只保存Opposite_Friends標籤中的每個用戶,在剛剛添加的所有在其好友列表中的用戶uids存在,所以,每當用戶更新任何細節,你可以在每一個用戶的好友節點更新它。

+0

我會盡力讓你知道 –

+0

如果它幫助你解決你的問題,那麼請upvote,如果它解決了你的問題,那麼請標記爲答案,以便可以關閉問題。謝謝 – Anmol

相關問題