如何使用 ViewModel 和 LiveData 正确编码 RecyclerView

How to correctly code a RecyclerView with ViewModel and LiveData

我一直在尝试使用 ViewModelMutableLiveData 制作一个 RecyclerView 并无限滚动从在线 API 加载数据。除了无休止的滚动外,我一切正常。现在,当我试图让它工作时,我担心我只是在做一些基本错误的事情(主要是 MutableLiveData)。由于没有显示我的整个应用程序代码(我会这样做),所以我不知道如何询问我的问题。注意:这是我第一次使用这些。

所以,我不会那样做(因为我不知道是否有人愿意花时间这样做),我只会要求一些示例(甚至是教程)来说明如何正确地做到这一点。

我看了又看,但找不到任何 具有 RecyclerViewViewModelMutableLiveData 的示例,Web 请求(我是使用 Volley) 和无休止的滚动(它不必有这个),在 Fragment 中,在 java.

所以没有人认为我在寻找免费代码,我在过去的 4 个月里一直致力于此。

Android 团队制作了一个用于分页的库,因为多年来这是许多开发人员的主要痛点。

https://developer.android.com/topic/libraries/architecture/paging/v3-overview

The Paging library helps you load and display pages of data from a larger dataset from local storage or over network. This approach allows your app to use both network bandwidth and system resources more efficiently. The components of the Paging library are designed to fit into the recommended Android app architecture, integrate cleanly with other Jetpack components, and provide first-class Kotlin support.

您还可以查看此 link 上的代码实验室以获取分步指南。

https://developer.android.com/topic/libraries/architecture/paging/v3-overview#codelabs


对于外部或其他第三方文章帮助,请查看以下内容:

本文介绍了一种可扩展架构,介绍了如何使用分页构建高效的 RecyclerView。

https://medium.com/@shashankmohabia/android-paging-efficient-way-to-populate-recycler-view-dynamically-31f39f35cdf9

阅读文章并了解其工作原理后,请查看此示例项目。它使用 Retrofit 而不是 Volley。但是你会通过查看代码来理解完整的实现。

https://github.com/Vanethos/Android-Paging-Example

现在关于分页库的设置,您可以查看这篇文章,其中逐步解释了如何将其包含在 gradle。

https://androidwave.com/android-paging-library/