/ApiRestUnsplash

Mediante este ejemplo accederemos a la api de Unsplash, la particularidad de este endpoint es que la api_key esta al final de la misma url, para ello haremos uso los Interceptor para agregar dicha api_key.

Primary LanguageKotlin

Consumo de la Api Unsplash usando Retrofit, ROOM, patrón MVVM e inyección de dependencia con Dagger Hilt

Mediante este ejemplo accederemos a la api de Unsplash, la particularidad de este endpoint es que la api_key esta al final de la misma url, para ello haremos uso los Interceptor para agregar dicha api_key. El resultado obtenido de la api será almacenado en ROOM.

Requisitos

  • Android Studio Iguana | 2023.2.1 o superior.
  • Android Gradle Plugin Version 8.3.0
  • Gradle Version 8.4
  • Kotlin 1.9.22 o superior.
  • Api key, para ello deberá de ingresar a la página (https://unsplash.com/developers) y registrarse para obtener dicha api key.

Dependencias

  • Retrofit: Para el consumo de la api.
  • ViewModel y LiveData: Para la implementación del patrón MVVM.
  • Dagger Hilt: Para la inyección de dependencias.
  • Coil: Sera usado para cargar las imagenes.
  • ROOM: Para almacenar la info recibida de la api.

Estructura del proyecto

  • di: Contiene las inyeccion de dependencia a nivel de módulo.
  • data: Contiene las clases, interfaces para el consumo de la api, manejo de room, implementacion del repositorio, etc.
  • domain: Contiene el modelo, repositorio y el use case.
  • presentation: Contiene la interfaz de usuario, funcionalidades comunes, adaptador y el viewmodel.

Resultado del endpoint

De todo el resultado obtenido del endpoint, estos serán los campos que manejaremos.

Image text

Estructura de la app

Image text

Imagen de la app

Login

Image text

Registrar una nueva cuenta

Image text

Datos de la api

Image text

Info de la app

Image text