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

WorkManager en Android: tareas persistentes en segundo plano

Programa reintentos y trabajos diferidos sin bloquear la aplicación.

◎
Lo que aprenderás

Programar una sincronización de datos que sobreviva al cierre de la pantalla.

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

Distingue tareas cortas en pantalla, servicios y…

Distingue tareas cortas en pantalla, servicios y trabajo persistente para elegir WorkManager correctamente.

02

Añade la dependencia oficial de WorkManager para…

Añade la dependencia oficial de WorkManager para Kotlin y crea un CoroutineWorker.

03

Implementa doWork con operación idempotente y devuelve…

Implementa doWork con operación idempotente y devuelve success, retry o failure según el resultado.

04

Declara restricciones como conectividad cuando de verdad…

Declara restricciones como conectividad cuando de verdad sean necesarias.

05

Encola trabajo único para evitar duplicados y…

Encola trabajo único para evitar duplicados y observa su estado para informar al usuario.

06

Prueba sin red, interrupciones del proceso y…

Prueba sin red, interrupciones del proceso y varios reintentos; WorkManager no garantiza ejecución en un instante exacto.

EJEMPLO ORIENTATIVO
KOTLIN
class SyncWorker(context: Context, params: WorkerParameters) :
    CoroutineWorker(context, params) {
    override suspend fun doWork(): Result = try {
        // Aquí llama al repositorio para sincronizar.
        Result.success()
    } catch (e: IOException) {
        Result.retry()
    }
}

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

Encola un trabajo único que intente subir datos de prueba cuando haya conexión y registre el resultado.

!
Precaución

No uses WorkManager como un temporizador exacto ni para ejecutar bucles infinitos en segundo plano.

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 ↗