2016-12-24 12 views
1

は、これが今の私のデシベルでの2人のユーザーがありますFirebase-
Firebase-アンドロイドでorderByChild-equalsToを使って子どもたち

app-<br /> 
-Users<br /> 
+366MWex62IhUaOwbkjjGedIgLQJ3<br /> 
-sfsfaegaergg<br /> 
    firstname: "John"<br /> 
    lastname: "Doe"<br /> 
    phone: "+1123456789"<br /> 

に私のデータで取得します。私の入力は、これは私のコード -

 

    DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference(); 
     DatabaseReference rf = rootRef.child("Users"); 
     com.google.firebase.database.Query query = rf.orderByChild("phone").equalTo("+1123456789"); 
     query.addValueEventListener(new ValueEventListener() { 
      @Override 
      public void onDataChange(DataSnapshot dataSnapshot) { 
       for(DataSnapshot snap: dataSnapshot.getChildren()) { 
        Log.v("children", snap.getChildren().toString()); 
       } 
      } 
      @Override 
      public void onCancelled(DatabaseError databaseError) { 
      } 
    }); 

私は第二のユーザの詳細情報を取得していない午前ですphone = "+1123456789" (2nd user)<br />

です。デバッガはaddValueListenerまで移動し、そのまま終了します。どこで修正する必要がありますか?ありがとうございました。

+1

"デバッガはaddValueListenerまで行ってから直接終了します" - 結果は非同期に戻ります。 'onDataChange'にブレークポイントを設定しましたか? –

+0

はい。それはしばらく後に戻ってくる。これは正常ですか? – Kedar

+0

@Kedarはい、そうです。それであなたの問題は解決されましたか? – koceeng

答えて

1

"デバッガはaddValueListenerまで行ってから直接終了します。結果が非同期に戻ってきます。 onDataChangeにブレークポイントを設定しましたか? - ジョン・オライリー

ありがとう。

0
mFirebaseRef = mFirebaseInstance.getReference(); 
    DatabaseReference queryLocation = 
mFirebaseRef.child("BloodGroupDetail"); 
    Query query = queryLocation.orderByChild("bloodgroup").equalTo("B+"); 
    query.addValueEventListener(new ValueEventListener() { 

     @Override 
     public void onDataChange(DataSnapshot dataSnapshot) { 
      getUpdate(dataSnapshot); 
     } 

     @Override 
     public void onCancelled(DatabaseError databaseError) { 

     } 


    }); 
+0

あなたのためのこの仕事かもしれない.....試してこれを試す –

+0

あなたの時間を感謝します。 John O'Reillyがその質問に答えました。 :) – Kedar

+0

あなたは解決されましたか? –

関連する問題