我有一个使用 Firebase Android SDK 作为服务器的聊天项目。 3 个月后,我的应用程序有了很多用户,并且他们互相聊天很多。从 Firebase 加载所有聊天列表需要很长时间。所以现在,我想知道如何使用 Android SDK 从 Firebase 进行分页查询。
我研究了这个link https://firebase.google.com/docs/reference/android/com/google/firebase/database/Query找到针对此问题的查询命令但失败。我只查询第一行或最后一行的一些行。我无法从 Firebase 中的随机位置进行查询。使用示例skip
and take
查询键。
如果您有任何相关文件。请告诉我。
感谢您的提前。
像这样的概念skip()
or take()
不能很好地映射到 Firebase 数据库的实时世界。这就是为什么分页也很难实施。从技术上讲这是可能的,但为了获得良好的用户体验,请务必记住,当用户看到页面上的数据时,页面上的数据可能会发生变化。
回到如何实现分页:startAt()
and endAt()
方法采用可选的第二个参数,该参数记录为(强调我的):
public Query startAt (String value, String key)
创建一个查询,约束为仅返回值大于或等于给定值的子节点,使用给定的orderBy
指令或优先级作为默认值,另外仅具有大于或等于给定键的键的子节点.
因此,如果您有一个按日期排序的项目列表,您可以传入日期and key上一页的最后一项以获取下一页。您必须请求一项额外的项目(通常称为锚项目),但开销应该很小。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)