2016-08-10 12 views
3

firebaseデータベースからリストビューにオンライン(ハイライト表示)しているユーザーのユーザー名(青色で強調表示されている)をすべて抽出します。firebaseデータベースからオンラインになっているすべてのユーザーのユーザー名を抽出する方法。

enter image description here

+1

query queryRef = myFirebaseRef.Child( "drivers")。orderByChild( "online")。equalTo( "true"); ' –

+0

これはどうしますか?あなたは完全な例を挙げてもらえますか?私はfirebaseを初めて使っています。 –

+0

私はアンドロイドの開発者ではありませんが、これは値を取得するためにobseverを追加するよりもクエリを追加する必要がある方法です。 –

答えて

3

私は、助けを求めるA.オマールとフランク・バンPuffelenのおかげ質問への答えを見つけました:これはのような唯一のオンラインユーザーに印刷されます

DatabaseReference ref = FirebaseDatabase.getInstance() 
      .getReferenceFromUrl("https://<your-app>.firebaseio.com/drivers/"); 

    ref.addValueEventListener(new ValueEventListener() 
    { 

     @Override 
     public void onDataChange(DataSnapshot dataSnapshot) { 
      for (DataSnapshot driverSnapshot: dataSnapshot.getChildren()) 
      { 
       if(driverSnapshot.child("online").getValue().toString()=="true"){ 
       Log.d(TAG, driverSnapshot.getKey() + " - " + driverSnapshot.child("online").getValue().toString()); 
       } 
      } 
     } 

     public void onCancelled(FirebaseError firebaseError) { 

     } 
    }); 

を:

2332424を - true

+0

残念ながら私はあなたが非推奨の方法を使用していると思います^^ https://www.firebase.com/docs/移行ガイド:https://firebase.google.com/support/guides/firebase-android xD –

+1

ああ、ごめんなさいそれを知らなかった。答えを更新します。それでも動作します。 –

+0

@ A.Omarありがとうございました。あなたの時間と援助は大変ありがとうございます。 –

5

ちょうどこれをテストして動作します。

FirebaseDatabase database = FirebaseDatabase.getInstance(); 
DatabaseReference reference = database.getReference("drivers"); 
Query query = reference.orderByChild("online").equalTo("true"); 


query.addValueEventListener(new ValueEventListener() { 
    @Override 
    public void onDataChange(DataSnapshot dataSnapshot) { 
     Log.d(TAG, dataSnapshot.toString()); 
    } 

    public void onCancelled(DatabaseError databaseError) { } 
}); 
+3

'onDataChange()'でドライバをループしたいと思うかもしれません。例えば。 (DataSnapshot driverSnapshot:dataSnapshot.getChildren()){LogD(TAG、driverSnapshot.getKey()+ " - " driverSnapshot.child( "available")。getValue()); } ' –

+0

" FirebaseReference "のインポートは何ですか?どのようなライブラリの依存関係を含める必要がありますか? –

+0

申し訳ありません** DatabaseReference **です。私はちょうどあなたの方法が正しいと思うが、それはどちらも動作していない、それは何も印刷されていません。 –

関連する問題