Configurar Hilt, Retrofit y Moshi en Android

Resumen

Montar el entorno inicial de un proyecto Android que consume una API simulada requiere dos piezas: una herramienta de mocking y un proyecto bien configurado en Android Studio. Aquí verás cómo levantar tu API falsa con Bisector y dejar listo un proyecto en Kotlin con Hilt, Retrofit y Moshi para empezar a desarrollar la app Biz Order.

¿Cómo crear una API simulada con Bisector?

Bisector te permite crear endpoints falsos sin necesidad de un backend real. Es ideal cuando estás desarrollando la app móvil en paralelo al servidor.

Para el proyecto Biz Order necesitas configurar tres reglas dentro del endpoint:

  • Get Orders: define un path /orders, un status code 200 y un response body en formato JSON con la lista de órdenes.
  • Pre Order Success: usa el path /pre-order-success, status code 200 y un response body con estado exitoso.
  • Pre Order Error: termina el path en /error, devuelve status code 400 y un response body con el mensaje de error.

¿Qué es un mock de API? Es una versión simulada de un servicio real. Devuelve respuestas predefinidas para que puedas probar tu app sin depender del backend.

Guarda cada regla y tu API simulada estará lista para responder peticiones [01:30].

¿Cómo crear el proyecto Biz Order en Android Studio?

Abre Android Studio y selecciona New Project con la plantilla Empty Activity. La configuración base que usarás es:

  • Nombre de la aplicación: Biz Order.
  • Package name con el formato nombredesarrollador.bizorder.
  • Minimum SDK: API 24, que cubre el 97,4% de los dispositivos Android.
  • Build configuration en Kotlin DSL.

Esta combinación te da un proyecto moderno con amplio alcance de mercado y un sistema de build tipado [02:50].

¿Qué librerías agregar al Libs Version Catalog?

El archivo libs.versions.toml centraliza las versiones de tus dependencias. Para Biz Order necesitas declarar:

  • Hilt versión 2.54 para la inyección de dependencias.
  • Hilt Navigation Compose versión 1.2.0 para integrar Hilt con Jetpack Compose.
  • Retrofit 2 versión 2.9.0 como cliente HTTP.
  • Moshi versión 1.15 para deserializar los JSON de la API en objetos Kotlin.
  • Logging Interceptor para imprimir en consola las peticiones y respuestas HTTP.

¿Para qué sirve Moshi en Android? Convierte JSON en objetos Kotlin y viceversa. Es la pieza que traduce la respuesta del servidor a clases que tu app entiende.

Dentro del bloque de librerías, registra hilt-android, hilt-compiler, hilt-navigation-compose, los dos artefactos de Retrofit (incluyendo el converter para Moshi), moshi-kotlin y el logging-interceptor [04:30].

¿Qué plugins necesitas declarar?

La inyección de dependencias con Hilt requiere procesamiento de anotaciones, así que en el bloque de plugins agrega dos entradas:

  • Kotlin KAPT, el procesador de anotaciones para Kotlin.
  • Hilt Gradle Plugin para Android.

Luego replica esos plugins en el build.gradle del proyecto y en el build.gradle del módulo app. Sincroniza después de cada cambio para que Gradle resuelva las dependencias sin errores.

¿Cómo configurar el manifiesto y la clase Application?

Para que la app pueda hablar con tu API en Bisector, abre el AndroidManifest.xml y agrega el permiso de acceso a Internet. Sin este permiso, Retrofit no podrá realizar peticiones, aunque tu código esté perfecto.

Después crea una clase llamada BizOrderApplication dentro del módulo de la app. Esta clase será el punto de entrada para Hilt y debe cumplir tres condiciones:

  • Extender de Application.
  • Tener la anotación @HiltAndroidApp, que genera el contenedor de dependencias a nivel de aplicación.
  • Estar registrada en el manifiesto con el atributo android:name=".BizOrderApplication".

¿Qué hace la anotación @HiltAndroidApp? Le indica a Hilt que genere el componente raíz de inyección de dependencias. Sin ella, Hilt no funciona en ninguna parte de tu app.

Este paso es el que conecta toda la arquitectura: a partir de aquí, cualquier Activity, ViewModel o repositorio puede recibir dependencias inyectadas [08:15].

¿Por qué importa esta configuración inicial?

Dejar el proyecto bien cimentado evita retrabajos cuando empieces a escribir lógica de negocio. Tienes una API falsa con tres rutas controladas, un proyecto Android con las versiones correctas de Hilt, Retrofit y Moshi, y la clase Application lista para orquestar las dependencias.

El siguiente paso natural es organizar el código por capas siguiendo Clean Architecture e inyectar los módulos de Retrofit con Hilt. ¿Tú ya tienes experiencia configurando Hilt en proyectos con Compose? Cuéntame en los comentarios qué versión usaste y si tuviste algún problema con KAPT.