Android。如何使用干净架构的分页?

Android. How to use pagination with clean architecture?

我正在使用 MVVM 和干净的架构编写应用程序。在其中一个屏幕上,我需要使用 pagination 实现 RecyclerView。我要使用库 Paging3.

Android 开发人员建议在存储层中使用 PagingSourceRemoteMediator。但与此同时,在许多资料中,我读到数据层和领域层应该对 android 框架一无所知。

但现在我必须在我的数据层的数据源中使用 android 库。这在 clean architecture 的上下文中是否正确?

请帮我弄清楚,我不明白如何使用干净的架构实现分页。

分页库被拆分成多个工件。有 paging-common,这是一个包含 PagingSourceRemoteMediator 等的纯 kotlin 库。然后,有一个 paging-runtime 是一个 android 库,它将分页源与 RecyclerViewpaging-compose 连接起来,另一个 android 库对 Jetpack Compose 做同样的事情UI.

这意味着您可以在纯 kotlin 模块和您的存储库中使用 paging-common 就好了,那里没有 android 特定代码。如果您自己编写特定于平台的接线,您甚至可以在不同的平台上使用该存储库。