2017-10-20 7 views
0
firebase

内のすべての子を取得する方法:そのようfirebaseの値をデータベースに追加した後

writeNewUser("0",name , "0", "1"); 
writeNewUser("1",name , "0", "2"); 
writeNewUser("2",name , "0", "3"); 
writeNewUser("3",name , "0", "4"); 

private void writeNewUser(String GameID, String name, String wpm , String userID) { 
     User user = new User(name, wpm , userID); 

     mDatabase.child("games").child(GameID).setValue(user); 
    } 

    @IgnoreExtraProperties 
    public class User { 

     public String name; 
     public String wpm; 
     public String userID; 

     public User() { 
      // Default constructor required for calls to DataSnapshot.getValue(User.class) 
     } 

     public User(String name, String wpm , String userID) { 
      this.name = name; 
      this.wpm = wpm; 
      this.userID = userID; 
     } 

    } 

そして、それはfirebaseでどのように見えるかの例: ゲーム> 0>名前を:、WPMを:、ID :> 1 ゲーム>名前は:、WPM:ID:

私が受信したい何が高い

にGameIDのソートローからデータベースからですされて私は以来、いくつかの助けを得るために喜んでいるだろうこのデータベースを初めて利用していて、何時間も探していました。 eady。

+0

コードを取得してデータを投稿できますか? –

+0

@MohammadAldefrawy getChildren()を使用しようとしていましたが、どのように動作していて、どのvarを使用する必要があるのか​​理解できませんでした。 – user124532053452

+0

最初にデータを1回だけ取得したいのですか、ゲームのデータベースが変更されるたびに? –

答えて

1

ここでは、リアルタイム更新が不要であると仮定して、キー(GameID)でデータベース内のすべてのゲームを取得するコードを示します。

final HashMap<Long,User> userMap = new HashMap<>(); 
    FirebaseDatabase.getInstance().getReference("games").orderByKey().addListenerForSingleValueEvent(new ValueEventListener() { 
     @Override 
     public void onDataChange(DataSnapshot dataSnapshot) { 
      Iterable<DataSnapshot> snapshotIterable = dataSnapshot.getChildren(); 

      for (DataSnapshot aSnapshotIterable : snapshotIterable) { 
       userMap.put(Long.parseLong(aSnapshotIterable.getKey()),aSnapshotIterable.getValue(User.class)); 
      } 
      Set<Long> gameIds = userMap.keySet(); 
     } 

     @Override 
     public void onCancelled(DatabaseError databaseError) { 

     } 
    }); 
+0

ありがとうございます。リアルタイムアップデートについてはどこで読むことができますか? – user124532053452

+0

ここでの相違点について読むことができます.https://firebase.google.com/docs/database/android/read-and-write#listen_for_value_events –

+0

正確な変更が得られない場合は、差"。ユースケースをよりよく理解できるように助けてくれれば、私はあなたをより良く助けることができます。 –

関連する問題