仅从实时数据库中获取第五条和第十条记录之间的记录

问题描述 投票:0回答:1

我用:

commentRef.child(poi.Id).child("text").orderByKey().limitToLast(5).addListenerForSingleValueEvent(new ValueEventListener() {   

获取最后5条记录。

现在,当我单击“更多”按钮时,我需要从服务器接收之前的 5 条录音。我可以将限制增加到 10 个注册,但这意味着再次接收最后 5 个注册,这会增加数据流量,从而隐含成本。

我希望只接收之前的 5 个录音,并将它们添加到我的现有录音列表中。

如何获取某个海滩的数据库记录?不是节点中的所有记录,而是例如从位置 5 到位置 10 的记录。

java android firebase firebase-realtime-database android-paging
1个回答
0
投票

您正在寻找的称为分页或无限滚动。您可以使用 Query#startAt()Query#endAt() 方法来实现此目的。通过这种方式,您将能够通过指定起始元素和停止的元素以较小的块加载数据。我不知道官方示例,但这个主题之前已经讨论过多次:

如果您了解 Kotlin,那么我认为这个 资源 会有帮助。这是相应的repo

© www.soinside.com 2019 - 2024. All rights reserved.