[英]Just Get Newly added Child Firebase android
我正在嘗試獲取 firebase 上新添加的孩子的參考或快照我已經通過不同的方式解決了它
myRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
}
myRef.addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(@NonNull DataSnapshot dataSnapshot, @Nullable String s) {
}
@Override
public void onChildChanged(@NonNull DataSnapshot dataSnapshot, @Nullable String s)
{
}
我的問題是兩者都返回一個完整的快照意味着 firebase 中的所有這些節點有沒有辦法讓新添加的孩子(“這將提高速度”)
當您將偵聽器附加到某個位置或查詢時,偵聽器最初將使用該位置存在的所有數據或與查詢匹配的所有數據觸發。 數據庫沒有“新”數據的概念,盡管您的應用程序可能有這個概念。
有幾個選項可以減少檢索到的數據或傳遞給偵聽器的數據:
如果您使用磁盤持久性,應用程序可能在其磁盤緩存中擁有數據的先前快照。 在這種情況下,僅從服務器檢索前一個快照和當前快照之間的增量。 但是整個當前快照會傳遞給您的偵聽器,以便您可以正確呈現當前數據的 UI。
如果您只想處理某個時刻以來的數據,則只需從數據庫中請求該數據。 您通常可以通過將上次處理的數據的密鑰存儲在本地 state 中來執行此操作,然后使用這樣的查詢來僅獲取新的更新:
myRef.orderByKey().startAt("mostRecentKeyWeHaveAlreadyProcessed").add...Listener
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.