API de media store con paginación.Aprenda a usar MediaStore … | por Priyansh Kedia | Agosto de 2021
Comencemos creando la estructura para MVVM, es decir, las clases Repo y ViewModel.
Almacén de documentos: Esta es la clase de repositorio que creamos. Esta clase contendrá la lógica central detrás de la paginación.
Modelo de vista de documento: La clase ViewModel contiene datos en tiempo real para observar datos de imágenes.
Como has visto como creamos Cursor, idColumn, dateModifiedColumn, con Muestra la columna de nombre.
Ahora use el siguiente código para crear una función de suspensión:
En la función anterior, primero creamos una variable de lista local para almacenar datos de imagen.
La función moveToPosition (i) mueve el cursor a una posición absoluta, y si hay datos en esa posición, devuelve un valor booleano. Comenzamos a indexar desde el índice 0 (el valor inicial de inicio es 0) hasta el último índice.
Como puede ver, mantenemos una variable de conteo que especifica la cantidad de imágenes que queremos seleccionar a la vez.
Se puede ver que el tipo de retorno de la función es una lista mutable. Tres 😳.
Esta es una clase que creé, similar a Sí (Kotlin), Pero le permite agregar tres valores en lugar de dos.
data class Three<A,B,C>(var a: A, var b: B, var c: C)
Almacenamos la imagen Uri, el nombre para mostrar y la fecha en la lista.
La función regresa Lista de imágenes Lo que creamos, Todo cargado Nos dice si podemos cargar más imágenes y Una generación, Este es el próximo índice que comenzaremos a indexar.