2017-01-10 64 views
4

正如標題所示,我想知道Firebase的addValueEventListener()addListenerForSingleValueEvent()之間的區別。firebase的addValueEventListener()和addListenerForSingleValueEvent()之間的區別

+1

這不包括在文檔中嗎? –

+0

不,我認爲..... –

+1

這兩個聽衆實際上在[官方文檔](https://firebase.google.com/docs/database/android/read-and-write#listen_for_value_events)中都有詳細記錄。閱讀**監聽值事件**和**讀取數據一次**部分 – Wilik

回答

15

addValueEventListener()不斷監聽它附加到的查詢或數據庫引用。

但是addListenerForSingleValueEvent()立即執行onDataChange方法,並且在執行該方法一次後,它會停止監聽它所附加的引用位置。

+0

所以如果我想繼續收聽,我必須使用addValueEventListener() –

+0

是的。廣告你需要刪除偵聽器,當它不需要.. 例如,如果你添加偵聽器在OnCreate()這將是一個很好的做法,在OnDestroy()中刪除它。 –

+1

我已經在代碼中嘗試了它們,並且我注意到以下內容,addListenerForSingleValueEvent()不止一次獲取值值還會將數據快照直接提供給您的參考,例如console.firebase.google.com/any/any/database/data/這是它的datasnapshot是key = this,value =它的子節點,而addValueEventListene,key = this和vlaue的子節點,那麼你會向我解釋一下還是請回顧一下答案? –