如何在没有服务器端分页的情况下在android中使用分页?

3 android android-recyclerview android-architecture-components android-paging

我在过去的两天里遇到了这个问题,我无法确定我在这里做错了什么。

情况是:我使用 Retrofit (POST 方法调用)将 2 个参数传递给我的 API,第一个参数是Token,第二个参数是CompanyId。我得到了大约 700 多个数据作为列表(JSON 响应)。所以我尝试实现 Android 架构的分页库来接收该列表中的 20 个项目。

然后,当加载 20 个项目时,再加载 20 个项目,以便我比平常更快地收到回复。

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

我的问题是:是否可以在不分页 API 的情况下从 700 多个项目的列表中接收 20 个项目。

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

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

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

任何帮助将不胜感激,谢谢。

Mar*_*ski 5

是否可以在不分页 API 的情况下从 700 多个项目的列表中接收 20 个项目。

不会。如果 API 吐出那么多数据并且不允许您请求更少的数据,那么您就无法影响此行为。

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

您获取 700 多条记录并将其本地存储在设备上的数据库中,内存结构中,并不重要。然后所有的显示都应该基于缓存的数据完成,无需执行 API 调用。这是非常好的场景,因为分页库抽象了数据源。

请参阅https://developer.android.com/topic/libraries/architecture/paging/