2017-12-17 5 views
0

私はリストや配列リストを使ってFirebaseリアルタイムデータベースにデータを追加する方法を見つけようとしています。 たとえば、投稿を好きなユーザーのリストを作成してリスト/ arraylistに追加し、そのリスト/ ArrayListsをリアルタイムデータベースにアップロードしたいとします。 その後、firebaseからデータを取得したいと思います。リスト/アレイリストを使用してFirebaseにデータを追加および取得する方法は?

答えて

0

での動作を記述し、次のコードを使用してください:すべてのそれらの名前を取得するには

Firebase-root 
    | 
    --- friends 
      | 
      --- John: true 
      | 
      --- Steve: true 
      | 
      --- Anna: true 

List<String> friends = new ArrayList<>(); 
friends.add("John"); 
friends.add("Steve"); 
friends.add("Anna"); 

DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference(); 
for(String friend : friends) { 
    rootRef.child("friends").child(friend).setValue(true); 
} 

あなたのデータベースには、次のようになります。 Listには、次のコードを使用してください。

DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference(); 
DatabaseReference friendsRef = rootRef.child("friends"); 
ValueEventListener eventListener = new ValueEventListener() { 
    @Override 
    public void onDataChange(DataSnapshot dataSnapshot) { 
     List<String> friends = new ArrayList<>(); 
     for(DataSnapshot ds : dataSnapshot.getChildren()) { 
      String friend = ds.getKey(); 
      friends.add(friend); 
     } 
     Log.d("TAG", friends); 
    } 

    @Override 
    public void onCancelled(DatabaseError databaseError) {} 
}; 
friendsRef.addListenerForSingleValueEvent(eventListener); 

出力は

[John, Steve, Anna] 
+0

ありがとうございます。それはうまく動作します – user9109541

+0

あなたは大歓迎です!それを聞いてうれしい。乾杯! –

0

私はちょうど説明をします。投稿を好きなユーザーリストを手動で追加しますか?これは私にとって奇妙に思える一般的にユーザーが個別にポストを好むと、ポストのようなレートのようなユーザーのIDとそのポストのようにあなたがそのポストを表示するユーザーのためにそれを表示します。ここでは、読み取りのためのいくつかのドキュメントやこれを達成するためにfirebase link

関連する問題