El RecyclerView utilizado en los proyectos de Android muestra una gran lista de datos para el usuario. Sin embargo, no se considera un enfoque eficiente. Obtener un montón de información de la red y cargarla en una aplicación es una tarea vital. Además, mientras usa una aplicación móvil, el usuario observa solo una pequeña porción de datos a la vez. Para solucionar este problema, Google actualizó la biblioteca de componentes arquitectónicos de paginación para Android junto con el lanzamiento de Android 11 beta. Google lanzó la biblioteca Paging 3 para simplificar la implementación de Paging en las aplicaciones de Android.
Nota: la biblioteca Paging 3.0 se encuentra actualmente en sus primeras etapas y Google lanzó solo su versión alfa. La versión más estable de esta biblioteca es Paging 2.
La biblioteca Paging 3 se introdujo como parte de la serie Android Jetpack y está escrita en su totalidad con Kotlin Coroutines . Esta biblioteca proporciona una metodología completamente nueva para cargar un gran conjunto de datos en una aplicación. El enfoque es obtener pequeños fragmentos de datos a la vez, y cuando el usuario llega al final de la lista, inmediatamente carga más datos en RecyclerView. Este proceso se denomina Paginación. Esta biblioteca de Paging 3 proporciona una forma de cargar más datos automáticamente cuando sea necesario. Los desarrolladores pueden usar Paging Library v3 para implementar la paginación en su aplicación. Pero , ¿qué es la paginación? ¿Por qué necesitamos la paginación ? Uno puede referirse al siguiente diagrama para obtener la respuesta.
Ventajas de usar la biblioteca de paginación
La versión Paging 3.0 es única en comparación con las versiones anteriores de la biblioteca de Android Paging. Las siguientes son las nuevas características y sus ventajas:
- Brinda soporte para el manejo de errores junto con la funcionalidad de actualización y reintento.
- El mejor soporte para rutinas de Kotlin, Flow, LiveData y RxJava.
- Funcionalidad integrada para agregar encabezados, pies de página y separadores de lista de estado de carga.
- Proporciona almacenamiento en memoria caché de los datos paginados que asegura el uso sistemático de los recursos del dispositivo.
- Realiza un seguimiento de las claves para obtener datos de las páginas siguientes y anteriores.
- Evita la duplicación de la solicitud de API y garantiza que la aplicación utilice el ancho de banda de la red y los recursos del sistema de manera eficiente.
- Mejora la capa de repositorio al proporcionar soporte de cancelación y una interfaz de fuente de datos simplificada.
Uso de la biblioteca de paginación en el proyecto de Android:
Aplique la biblioteca Paging 3.0 en un proyecto agregando su implementación en el archivo build.gradle de nivel de aplicación para importar los componentes de Paging.
dependencias {
def paginación_versión = “3.0.0-alpha11”
implementación “androidx.paging:paging-runtime:$paging_version”
}
Para usar RxJava o LiveData , es necesario agregar la siguiente implementación:
// Compatibilidad con RxJava2: opcional
implementación “androidx.paging:paging-rxjava2:$paging_version”
// Compatibilidad con Guava ListenableFuture – opcional
implementación “androidx.paging:paging-guayaba:$paging_version”
La arquitectura de la biblioteca de paginación
La biblioteca de paginación requiere la separación adecuada de las preocupaciones del proyecto y, por lo tanto, integra el patrón de arquitectura de Android recomendado. Los componentes de la biblioteca funcionan en tres capas de una aplicación:
- La capa de repositorio
- La capa ViewModel
- La capa de la interfaz de usuario
- Capa de repositorio: esta capa contiene componentes, a saber, PagingSource y RemoteMediator. La tarea de PagingSource es definir una fuente de datos y obtener los datos de esa fuente. Es capaz de cargar datos desde una base de datos local o cualquier fuente de red. El componente RemoteMediator controla la paginación sobre cualquier fuente de datos en capas.
- ViewModel: las instancias de PagingData se crean mediante una API pública proporcionada por el componente Pager de ViewModel. Estos PagingData se exponen en flujos reactivos que conectan ViewModel a la capa de la interfaz de usuario.
- Interfaz de usuario: la representación visual de los datos paginados está representada por esta capa. Su componente principal es PagingDataAdapter, que es un RecyclerView para manejar los datos paginados.
Referencia: https://developer.android.com/topic/libraries/architecture/paging/v3-overview
Publicación traducida automáticamente
Artículo escrito por pratthamarora y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA