【问题标题】:Difference between addValueEventListener() and addListenerForSingleValueEvent() of firebasefirebase 的 addValueEventListener() 和 addListenerForSingleValueEvent() 的区别
【发布时间】:2017-05-25 13:01:48
【问题描述】:

正如标题所说,我想知道Firebase的addValueEventListener()addListenerForSingleValueEvent()的区别。

【问题讨论】:

  • 文档中没有介绍吗?
  • 不,我认为.....
  • 这两个监听器实际上都在the official documentation 中有详细记录。读取监听值事件读取数据一次部分

标签: android firebase firebase-realtime-database


【解决方案1】:

addValueEventListener() 继续监听它所附加的查询或数据库引用。

但是addListenerForSingleValueEvent() 立即执行onDataChange 方法,并且在执行该方法一次后,它停止侦听它所附加到的参考位置。

【讨论】:

  • 所以如果我想继续听我必须使用 addValueEventListener()
  • 是的。广告您需要在不需要时删除侦听器。例如,如果您在 OnCreate() 中添加侦听器,最好在 OnDestroy() 中删除它。
  • 我已经在代码中尝试过它们,我注意到以下内容,addListenerForSingleValueEvent() 不止一次地获取值值还直接将数据快照提供给您的参考,例如 console.firebase.google.com/any /any/database/data/this,它的datasnapshot是key=this,value=它的children,而addValueEventListene,key=children of this,vlaue=children=key的children,请你给我解释一下或者再看一遍答案?
  • @DasserBasyouni 我同意你的看法,我观察到 addListenerForSingleValueEvent() 被多次调用。
  • @SreekanthKarumanaghat 看起来确实不言自明。您调用 singleEventValueListener 的次数,每次调用它都会触发一次。而另一方面, addValueEventListener() 每次在它所引用的 Firebase 实时数据库节点中更改值时都会获取该值。
猜你喜欢
  • 1970-01-01
  • 2021-05-10
  • 2021-12-26
  • 2016-04-01
相关资源
最近更新 更多