2016-03-19 8 views
1

Verileri Firebase'den yetkilendirmeden önce silmek istiyorum. Sorun, mFirebaseRef.unauth() yalnızca sorgu boş değilse çalışır. Ama sorgu boş olsa bile çalışmaya ihtiyacım var.Firebase sorgusunun boş olup olmadığını nasıl kontrol edilir

final Firebase pushNotificationRef = new Firebase(Constant.FIREBASE_URL_PUSHNOTIFICATIONS); 
    final Query queryRef = pushNotificationRef.orderByChild("deviceToken").equalTo(token); 
    queryRef.addChildEventListener(new ChildEventListener() { 
     @Override 
     public void onChildAdded(DataSnapshot dataSnapshot, String s) { 
      if (dataSnapshot.exists()) { 
       Log.e("MyTag", dataSnapshot.getKey()); 
       pushNotificationRef.child(dataSnapshot.getKey()).removeValue(); 
      } 
      mFirebaseRef.unauth(); 
     } 
+0

'onChildAdded()' yöntem yalnızca adı verilecek ** çocuk mevcutsa ** eğer, bunu

if (dataSnapshot.exists()) // user found else // user not found 

demo örneği Hiçbir çocuğun bulunmadığını tespit etmek için kullanamaz. Bunu nasıl algılayacağınızı öğrenmek için şu soruya bakın: http://stackoverflow.com/questions/34460779/what-happens-if-a-firebase-url-doesnot-exist-and-we-try-to-add-a-listener -to-it/34463972 # 34463972 –

cevap

3

kullanımı bu ...

Query query = dbstud.child("users").orderByChild("name").equalTo("XYZ"); 

query.addValueEventListener(new ValueEventListener() { 
    @Override 
    public void onDataChange(DataSnapshot dataSnapshot) { 

     if(dataSnapshot.exists()) { 
     for (DataSnapshot snapshot : dataSnapshot.getChildren()) { 


       Toast.makeText(getApplicationContext(), "id = " + snapshot.getKey(), Toast.LENGTH_LONG).show(); 
      } 

     } 
     else { 
      Toast.makeText(getApplicationContext(), "User Not found ", Toast.LENGTH_LONG).show(); 


     } 
    } 

    @Override 
    public void onCancelled(DatabaseError databaseError) { 
     throw databaseError.toException(); 
    } 
});