如何在Android中使用分页而无需服务器端分页?

3

我遇到了这个问题已经两天了,但我还没有找出我在这里做错了什么。

情况是:我使用 Retrofit(POST 方法调用)向我的 API 传递了 2 个参数,第一个是 Token,第二个是 CompanyId。我获得了一个包含 700 多条数据的列表(JSON 响应)。因此,我尝试实现 Android Architecture 的分页库来从该列表中接收 20 个项目。

然后当加载了 20 个项目之后,再加载另外 20 个项目,以便比通常更快地接收响应。

我的假设:我认为我的 API 服务器页面没有进行分页。

我的问题是:是否可能从包含 700 多个项目的列表中接收 20 个项目而不需要进行分页?

每次调用 API 时,加载 700 多个项目需要太多时间。

在这种情况下,如何使用分页库?

如果您需要我的代码块,可以在下面的评论中请求。

感谢您的任何帮助。


1
99%不可能。分页是一个API功能。 - undefined
2个回答

4
无法在API未分页的情况下从700多个项目的列表中获取20个项目。 如果API产生如此多的数据并且不允许您请求更少,则无法影响此行为。
在这种情况下,如何使用分页库呢?您可以获取这700多个记录并将其存储在设备上的DB中,或者在内存结构中,不重要。 然后,所有显示都应基于缓存的数据进行,而不进行API调用。 这是完美的方案,因为分页库抽象了数据源。
请参见https://developer.android.com/topic/libraries/architecture/paging/

0

从评论中:嗨,虽然链接是分享知识的好方法,但如果它们在将来失效了,它们实际上无法回答问题。在你的回答中添加回答问题的链接的关键内容。如果内容太复杂或太大而无法适应此处,请描述所提出解决方案的一般思路。请记住始终保留对原始解决方案网站的链接引用。参见:如何撰写一个好的答案? - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接