2016-12-24 19 views
1

이 내 DB에서 두 사용자가 지금있다 중포 기지 - 안드로이드

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

Firebase-

에 내 데이터입니다에 orderByChild - equalsTo를 사용하여 어린이를 가져옵니다. 내 입력이 내 코드 -

 

    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에 중단 점을 설정 했습니까? - John O'Reilly

감사합니다.

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

해결 되었습니까? –