2017-11-22 15 views
-1

私はアンドロイドアプリケーションでフォロワー機能を実装したいと思います。アンドロイドのfirebaseのフォロワー構造

  1. 最初の画像は、後に続くユーザーiのリストを参照します。
  2. 2番目の画像には、ユーザーが投稿するすべての投稿のすべてのIDが含まれています。
  3. 3番目の画像havin投稿の詳細。

私がやりたかったのは、自分が従ったユーザーの投稿のみを読み込むことでした。

は私がやっていることは、私は信者ノードからのメールを取得し、使用して、私はデータをロードrecyclerview

をインデックス化が、recyclerviewが動的参照を取得されていないため、それが働いていないです。

解決済みの解決策はありますか?

First

Second

third

+0

あなたの最初の写真は、壊れたリンクを持っています。あなたの投稿を更新してください。 –

+0

@AlexMamo私は新しい評価を投稿するほど十分な評価がありません。https://stackoverflow.com/questions/47434927/followers-structure-firebase-android –

+1

[Followers structure firebase android]の複製が可能です(https://stackoverflow.com)。/questions/47434927/followers-structure-firebase-android) –

答えて

0

あなたはやり方を以下でユーザーテーブルを構築する必要があります。私はあなたの投稿テーブルが正しいと信じていますが、あなたはmy_postsを削除することができます。

{ 
    "users": { 
     "xlkfdjklahsf231": { 
       "userId": "xlkfdjklahsf231", 
       "userName": "userName", 
       "posts": {"posdId1", "postId2",.....} 
       "followedUser": { "userId1", "userId2" ...}, 
     }, 
     "xlkfdjkl123jljasd": { 
       "userId": "xlkfdjkl123jljasd", 
       "userName": "userName", 
       "posts": {"posdId111", "postId222",.....} 
       "followedUser": { "userId5", "userId12" ...}, 
     }, 
    } 
    } 

あなたは次のようにクエリを実行する必要があります。

private void getUserById(String userId) { 
    firebaseRef.child("users") 
      .equalTo(userId) 
      .addListenerForSingleValueEvent(new ValueEventListener() { 
       @Override 
       public void onDataChange(DataSnapshot dataSnapshot) { 
        // This will give you the user from the table 
       } 

       @Override 
       public void onCancelled(DatabaseError databaseError) { 

       } 
      }); 
} 
+0

もし私があなたの構造に従えば、私はそれに従ったユーザーのすべてのpostidを取り出すことができますか? –

+0

@Ali HaiderあなたはuserIdを持つfollowUser配列からユーザを問い合わせる必要があります。例。 firebaseRef.child( "users")。equalTo(userId1){.....};ここでuserId1は追跡されたユーザーであり、すべての投稿を与えるposts配列を取得します –

+0

@AliHaider followerIdとuserPostIdをuserテーブルに置き、followerIdとuserPostIdの配列用に別のテーブルを作成することもできます –

関連する問題