Belgeler, bir Firebase veritabanı konumundaki değişikliklerin her ikisini de dinlediğini söylüyor.ChildEventListener ve ValueEventListener Firebase arabirimleri arasındaki fark nedir?
cevap
Onlar hemen hemen aynı şeyi yaparlar.
Ayrıca, ChildEventListener, ChildEventListener bir tüm düğümün DataSnapshot'ını sağlarken ChildSventListener, çocuğun konumuna DataSnapshots (verilerin değişmez kopyaları) sağlar.
ValueEventListener yalnızca bu belirli değer değiştiğinde tetiklenir, ancak ChildEventListener yalnızca bu düğümün değerini değil, aynı zamanda tüm ağaç düğümleri için de dinler. Söyle, bir çocuğunuz olan düğümünüz var. Bu düğüm değiştiğinde ValueEventListener tetiklenecek, ancak ChildEventListener da çocuk değerleri de değiştirildiği zaman tetiklenecektir. Dokümantasyon, ChildEventListener'ı dikkatli kullanmanız gerektiğini söylüyor - çok kez tetiklenebilir. ValueEventListener sadece onDataChanged
sağlarken size, 4 eylemler (onChildAdded
, onChildChanged
, onChildMoved
ve onChildRemoved
) için farklı bir davranış belirtebilirsiniz ChildEventListener ile: ChildEventListener bazen daha esnek olabilir gerçi
Teşekkürler, ancak değer olay dinleyicisi her defasında bir değişiklik olduğunda yeni bir anlık görüntü alıyor? Ve kapsamı, childeventlistener ile aynı şeyi etkin bir şekilde yapan tüm veritabanı olacak şekilde yapılandırabilirsiniz. Bu benim kafa karışıklığım – Gil
- 1. Firebase - Ref ve çocuk arasındaki fark nedir?
- 2. FirebaseUI ve Firebase, fark nedir?
- 3. Firebase ile Firestore Arasındaki Fark Nedir?
- 4. Cloud Function ve Firebase Functions arasındaki fark nedir?
- 5. Python'da {} ve [] arasındaki fark nedir?
- 6. UNIX'teki $ @ ve $ * arasındaki fark nedir?
- 7. $ arasındaki fark nedir? ve PowerShell
- 8. Firebase için childEventListener öğesinin tamamını güncellemeyi tamamladı.
- 9. Fark() arasındaki fark nedir mustache.js
- 10. arasındaki fark nedir?
- 11. Java arasındaki fark nedir
- 12. arasındaki fark nedir?
- 13. arasındaki fark nedir?
- 14. app.doScript ve $ .evalFile arasındaki fark nedir?
- 15. gVim ve gVim arasındaki fark nedir?
- 16. isAlpha ve isLetter arasındaki fark nedir?
- 17. Control.Enter ve Control.GotFocus olayları arasındaki fark nedir?
- 18. .got ve .got.plt bölümü arasındaki fark nedir?
- 19. AutomationProperties.AutomationID ve AutomationProperties.Name arasındaki fark nedir?
- 20. Android'de getDir ve getFilesDir arasındaki fark nedir?
- 21. R içinde `=` ve `<-` arasındaki fark nedir?
- 22. uint ve System.UInt32 arasındaki fark nedir?
- 23. PropertyChangeListener ve VetoableChangeListener arasındaki fark nedir?
- 24. XSS'de IDREF ve IDREFS arasındaki fark nedir?
- 25. Cacerts ve keystore arasındaki fark nedir?
- 26. GPLv2 ve GPLv3 arasındaki fark nedir?
- 27. VarIsEmpty ve VarIsEmptyParam işlevleri arasındaki fark nedir
- 28. ActiveSupport'ta mattr_accessor ve cattr_accessor arasındaki fark nedir?
- 29. Hashtable ve Dictionary arasındaki fark nedir?
- 30. RoutedCommand ve RoutedUICommand arasındaki fark nedir?
aynı zamanda bir DataSnapshot immutable değil mi? Dolayısıyla tek fark, ChildEventListener'ın 4 özel yönteme sahip olması, ValueEventListener'ın ise 1 geniş yöntem (herhangi bir değişiklik) – Gil
yep olmasıdır. DataSnapshot her zaman değişmez. Ve haklısınız - eğer 1 geniş yönteme ihtiyacınız varsa, ValueEventListener'ı kullanmayı tercih edersiniz. Alt öğeler eklemek/değiştirmek/taşımak/kaldırmak için bazı işlevleriniz varsa, ChildEventListener kullanılmalıdır. –
Ayrıca, bu yanıt http://stackoverflow.com/a/34532739/2915480 "Firebase Events Guarantee" ile ilgili ilginç bir konuyla ilgilidir. Bu yine, ValueEventListener ile ilgili sözlerinizi ChildEventLIstener'den daha geniştir. –