Merhaba, şöyle bir kod hazırladım. Kendim de firebase döngülerimde kullanıyorum ve gayet sağlıklı çalışıyor. Parantez hatası olabilir kontrol edersiniz.
private int santiagoRetries,updateRetries;
private DatabaseReference mDatabase;
try {
mDatabase.child("/firebase/mydatabase").addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot snapshot) {
if (snapshot.exists()) {
Integer firebasedatasi = snapshot.getValue(Integer.class);
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
// Calistirilacak kod
}
}, 500);
} else {
if (updateRetries > 3) {
//finish();
} else {
updateRetries++;
updatecontrol();
}
}
}
@Override
public void onCancelled(@NonNull DatabaseError error) {
if (updateRetries > 3) {
//finish();
} else {
updateRetries++;
updatecontrol();
}
}
});
} catch (RuntimeExecutionException e) {
Log.e("MainActivity", e.getMessage(), e);
}