Releases: IESSanVicente/AppDummy
Releases · IESSanVicente/AppDummy
Release list
v7. Ejemplo práctico Tema 5
- Se añaden las dependencias necesarias para realizar el tema 5 (Retrofit2).
- Se añaden los DTOs
LibroDTOyBusquedaResponseDtopara mapear la respuesta de la API REST. - Se crea el objeto
OpenLibrarypara gestionar las URLs de las carátulas y el resto de constantes de la API. - Se crea el mappeador
LibroMapperpara convertir los DTOs en entidades de dominio. - Se añade un test unitario para el mappeador
LibroMapperTest. - Se crea la interfaz
OpenLibraryApiServicepara definir los endpoints de la API REST. - Se crea el objeto
RetrofitClientpara configurar Retrofit2 y OkHttpClient. - Se crea la clase
RemoteDataSourcepara gestionar la obtención de datos desde la API REST. - Se modifica la clase
RepositorioLibrospara que utilice elRemoteDataSourcey la base de datos ROOM para obtener los libros. - Se configura
Coilpara que utiliceOkHttpClientcon Retrofit2 en la carga de imágenes. - Se añade el composable
CaratulaLibropara mostrar la carátula del libro en la pantalla de detalle. - Nueva ruta de navegación para la pantalla que permite añadir libros.
- Se crea en
utilsel objetoIsbnpara validar el ISBN de los libros. - Se añade la pantalla de añadir libro con validación de ISBN y control de errores.
v6. Ejemplo práctico Tema 4
- Se añaden las dependencias necesarias para realizar el tema 4 (ROOM).
- Modificación de la clase
Libropara que sea una entidad de ROOM. - Se crea la interfaz
LibrosDaopara definir las operaciones de acceso a la base de datos. - Se crea la clase
AppDatabasepara definir la base de datos ROOM y su configuración. - Se añade la clase
Converterspara definir los conversores de tipos de datos personalizados. - Se añade la persistencia de datos utilizando ROOM para almacenar los libros favoritos y leídos.
- Se modifica la clase
RepositorioLibrospara que utilice ROOM en lugar de datos simulados. - Se añade la clase
AppDummyApplicationpara inicializar la base de datos y el repositorio. - Se modifica la clase
LibrosViewModelpara que utilice el repositorio de ROOM.
v5. Ejemplo práctico Tema 3
- Se añaden las dependencias necesarias para realizar el bloque 3 (Navegación).
- Se añade la navegación entre pantallas y la pantalla de detalle de libro.
- Se crea navegación entre pantallas utilizando
NavigationBarutilizandoNavHostyNavController.
v4. Ejemplo práctico Tema 2
- Se añaden las dependencias necesarias para realizar el bloque 2 (ViewModel, Lifecycle, Corrutinas y Testing).
- Se añade la clase
LibrosViewModelpara gestionar el estado de la pantalla de listado de libros. - Se crea la clase
Libropara representar los datos de cada libro, sustituyendo la versión anterior,LibroUI. - Se crea la clase
LibrosUiStatepara representar los posibles estados de la pantalla de listado de libros. - Se crea la clase
RepositorioLibrospara simular la obtención de datos de libros desde un repositorio. - Se modifica la pantalla de listado de libros para que utilice el
ViewModely el estado de la pantalla se gestione a través deLibrosUiState. - Se añade un evento de un solo disparo para mostrar un Snackbar al marcar favoritos y libros leídos.
- Se añade la clase
LibrosViewModelTestpara realizar pruebas unitarias delViewModel. - Modificación de la clase
MainActivitypara lanzar la pantalla listado, pero se mantiene el método preview para lanzar directamente la pantalla listado.
v3. Ejemplo práctico Tema 1D
- Se añade la pantalla de gestión de permisos en la carpeta screens.
- Se añade el permiso de acceso a la cámara y características hardware en el archivo
AndroidManifest.xml.
v2. Ejemplo práctico Tema 1C
- Se añade la dependencia Coil (
io.coil-kt.coil3:coil-compose:3.5.0) para la carga de imágenes. - Se añade la dependencia Coil Network OkHttp (
io.coil-kt.coil3:coil-network-okhttp:3.5.0) para la carga de imágenes remotas. - Se añade el permiso de acceso a Internet en el archivo
AndroidManifest.xml. - Se añade imagen nocover.jpg para libros sin portada en la carpeta
res/drawable. - Se mueve la pantalla de bienvenida a la carpeta screens.
v1. Ejemplo práctico Tema 1B
- Creación de la pantalla de bienvenida y se añade dependencia de Material Icons Extended.
v0. Creación inicial del proyecto AppDummy
- Creación inicial del proyecto AppDummy en Android Studio con corrección de versiones de librerías para su correcto funcionamiento con API 36.