</>AppInitDev DevelopersCentro de aprendizaje Android
Android • Kotlin · GUÍA PRÁCTICA

Arquitectura MVVM y ViewModel en Android con Kotlin

Separa interfaz, estado de pantalla y acceso a datos para facilitar pruebas.

◎
Lo que aprenderás

Organizar una pequeña app en UI, ViewModel y repositorio.

Antes de comenzar

Parte de un proyecto de prueba o de una copia de trabajo de tu aplicación. Revisa versiones, permisos y dependencias en los enlaces oficiales del final: las plataformas Android y los servicios de Google pueden actualizar sus requisitos.

El objetivo de esta guía es aplicar un proceso concreto y comprobar su resultado. Documenta cualquier cambio relevante para poder mantenerlo y, cuando corresponda, medir sus efectos con datos.

PASO A PASO

Cómo hacerlo

01

Define primero el estado de pantalla que…

Define primero el estado de pantalla que la UI necesita mostrar: cargando, resultado y error.

02

Crea un repositorio que ofrezca los datos…

Crea un repositorio que ofrezca los datos sin depender de componentes visuales.

03

Expón el estado desde ViewModel mediante StateFlow…

Expón el estado desde ViewModel mediante StateFlow y actualízalo cuando se realicen operaciones.

04

En Compose recolecta el estado con APIs…

En Compose recolecta el estado con APIs conscientes del ciclo de vida disponibles para tu configuración.

05

Envía acciones del usuario al ViewModel; evita…

Envía acciones del usuario al ViewModel; evita que un composable lance consultas de base de datos por su cuenta.

06

Prueba por separado el repositorio y el…

Prueba por separado el repositorio y el ViewModel con respuestas simuladas.

EJEMPLO ORIENTATIVO
KOTLIN
data class UiState(val cargando: Boolean = true, val notas: List<String> = emptyList())

class NotasViewModel : ViewModel() {
    private val _uiState = MutableStateFlow(UiState())
    val uiState: StateFlow<UiState> = _uiState.asStateFlow()

    fun mostrarEjemplo() {
        _uiState.value = UiState(false, listOf("Aprender Kotlin"))
    }
}

Fragmento educativo: adapta las importaciones, clases, dependencias y versiones a tu proyecto. Consulta la documentación oficial antes de integrarlo.

PONLO A PRUEBA

Ejercicio práctico

Implementa una lista de notas simulada: muestra un indicador mientras carga y un mensaje cuando no hay resultados.

!
Precaución

ViewModel no debe almacenar referencias a Activity ni Context de vida corta; evita fugas de memoria.

COMPROBACIÓN

Cómo verificar el resultado

  • Completa los pasos anteriores en un entorno de pruebas antes de distribuir cambios.
  • Comprueba que la función, configuración o estrategia responde al objetivo planteado.
  • Revisa errores, impacto para usuarios y políticas aplicables a tu caso.
  • Conserva la evidencia y anota qué deberás revisar cuando cambien las versiones.
DOCUMENTACIÓN

Fuentes oficiales para profundizar

Consulta los requisitos y ejemplos vigentes en estas fuentes antes de publicar una implementación.

SIGUE APRENDIENDO

Tutoriales relacionados

← Más tutoriales de Desarrollo AndroidIr a AppInitDev ↗