2017-03-08 62 views
0

似乎限制了我只能從我的數據庫獲取快照以從數據更改中讀取數據。有沒有關於OnDataChange的信息?爲什麼我需要調用Firebase的OnDataChange方法來獲取Datasnapshot?

如果我想使用從我的數據庫動態讀取的數據填充頁面,但是數據庫中沒有數據發生變化,該怎麼辦?我仍然需要調用OnDataChange?

+0

https://firebase.google.com/docs/database/android/read-and-write#read_data_once – cartant

回答

2

Firebase的onDataChange立即觸發數據庫中當前值的快照,隨後數據發生更改。

事實上,Firebase documentation這樣說:

當聽者每次連接又一次的數據,其中包括兒童,改變這個方法被觸發一次。

0

簡單的答案是,您無法通過長時間運行的任務(如數據庫查詢或網絡請求)阻止用戶界面。最好的情況是用戶在最壞的情況下會有一個沒有響應的應用程序,「應用程序沒有響應的異常」(ANR)崩潰就會發生。這就是爲什麼它設計有一個偵聽器模式。我認爲這是我們正在討論的android,但是答案對其他平臺有效。如果你是在後臺線程中這樣做的,那麼理論上你可以做你正在說的話。我不認爲firebase是這樣設計的。

相關問題