我正在研究需要以這種方式讀取firebase節點的專案:
假設我messages
在 firebase 實時資料庫中有一個節點。在那個節點中,我有20, 000
訊息。當用戶在訊息框中輸入時,我需要顯示訊息。20, 000
但是一次閱讀所有訊息太耗時了。
我想要它,30-40
一次閱讀訊息并將其顯示給用戶。當用戶按下more message
按鈕時,我將閱讀另一條30-40
訊息并將它們顯示給用戶。等等......它會更快更方便。
但我找不到任何方法讓事情像這樣作業。我試過了ValueEventListener()
,但它會讀取該messages
節點中的所有資料,而且很耗時。我也嘗試過reference.limitToFirst(30)
,但它讀取了前 30 條訊息,那我該怎么辦?我如何閱讀接下來的 30 條訊息?
我可以清楚地提出我的問題嗎?:( 提前致謝。
uj5u.com熱心網友回復:
但是一次閱讀所有 20,000 條訊息太耗時了。
20,000 條訊息可以認為是大量資料。所以我強烈建議不要一次性加載這么多的資料。
我想要的是,一次閱讀 30-40 條訊息并將這些訊息顯示給用戶。當用戶按下更多訊息按鈕時,我將閱讀另外 30-40 條訊息并將它們顯示給用戶。等等......它會更快更方便。
您要查找的內容稱為分頁。這意味著您需要以更小的塊逐步加載資料。您需要一個接一個地加載一組 30-40 條訊息。這個之前已經講過很多次了,這個問題對于實時資料庫已經有很多解決方案了:
- https://stackoverflow.com/search?q=Firebase Realtime Database Pagination Android
我也嘗試了 reference.limitToFirst(30) 但它讀取了前 30 條訊息,那我該怎么辦?如何閱讀接下來的 30 條訊息?
我建議您查看其中的一些問題并嘗試一下。如果您難以實作它,請向我們展示您嘗試過的MCVE,這樣,我和其他 Firebase 開發人員可以幫助您。
但是,如果您考慮在某個時間點嘗試使用Cloud Firestore,我認為這個答案會有所幫助:
- 如何使用 Android 對 Firestore 進行分頁?
如果您想更進一步并嘗試使用 Jetpack Compose,那么我認為此資源將有所幫助:
如何使用 Jetpack Compose 在 Firestore 中實作分頁?
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/507495.html