Cómo transferir datos mediante adaptadores de sincronización

Nota: Recomendamos usar WorkManager como la solución más apropiada para la mayoría de los casos prácticos de procesamiento en segundo plano. Consulta la guía de procesamiento en segundo plano para conocer la solución que funcionará mejor en tu caso.

La sincronización de datos entre un dispositivo Android y servidores web puede hacer que tu app sea bastante más útil y atractiva para los usuarios. Por ejemplo, la transferencia de datos a un servidor web representa una copia de seguridad útil, y la transferencia de datos desde un servidor la pone a disposición del usuario, incluso cuando el dispositivo no tiene conexión. En algunos casos, para los usuarios es más fácil ingresar y editar sus datos en una interfaz web y, luego, tener esos datos disponibles en sus dispositivos. También pueden recopilar datos con el paso del tiempo y, luego, subirlos a un área de almacenamiento central.

Si bien puedes diseñar tu propio sistema para realizar transferencias de datos en tu app, debes considerar usar el marco de trabajo del adaptador de sincronización de Android, que ayuda a administrar y automatizar las transferencias de datos, y coordina las operaciones de sincronización en diferentes apps. Si usas ese marco de trabajo, podrás aprovechar varias funciones que no están disponibles para los esquemas de transferencia de datos que tú mismo diseñas:

Arquitectura de complementos
Permite agregar códigos de transferencia de datos al sistema en forma de componentes que admiten llamadas.
Ejecución automática
Permite automatizar la transferencia de datos según diferentes criterios, incluidos cambios en los datos, el tiempo transcurrido o la hora del día. Además, el sistema agrega transferencias que no se pueden ejecutar en una cola y las ejecuta cuando es posible.
Verificación automática de red
El sistema solo ejecuta tu transferencia de datos cuando el dispositivo tiene conectividad de red.
Mejora del rendimiento de la batería
Te permite centralizar todas las tareas de transferencia de datos de tu app en un solo lugar, de modo que se ejecuten todas al mismo tiempo. La transferencia de datos también se programa junto con las transferencias de datos de otras apps. Estos factores disminuyen la frecuencia con que el sistema debe encender la red, lo que reduce el uso de batería.
Administración de cuentas y autenticación
Si tu app requiere credenciales de usuario o acceso al servidor, puedes integrar la administración de cuentas y la autenticación en tu transferencia de datos.

En esta clase, se muestra cómo crear un adaptador de sincronización y el objeto vinculado Service que lo une, cómo proporcionar los otros componentes que te permiten conectar el adaptador de sincronización en el marco de trabajo y cómo configurar el adaptador de sincronización para que se ejecute de varias maneras.

Nota: Los adaptadores de sincronización se ejecutan de forma asíncrona, por lo que debes usarlos con la expectativa de que transfieran datos de manera regular y eficiente, pero no instantánea. Si necesitas hacer una transferencia de datos en tiempo real, debes realizarla en AsyncTask o IntentService.

Lecciones

Cómo crear un autenticador de stub
Obtén información sobre cómo agregar un componente de administración de cuentas que el marco de trabajo del adaptador de sincronización interprete como parte de tu app. En esta lección, se muestra cómo crear un componente de autenticación de stub para mayor simplicidad.
Cómo crear un proveedor de contenido de stub
Obtén información sobre cómo agregar un componente de proveedor de contenido que el marco de trabajo del adaptador de sincronización interprete como parte de tu app. En esta lección, se asume que tu app no usa un proveedor de contenido, por lo que se muestra cómo agregar un componente de stub. Si ya tienes un proveedor de contenido en tu app, puedes omitir esta lección.
Cómo crear un adaptador de sincronización
Obtén información sobre cómo encapsular tu código de transferencia de datos en un componente que el marco de trabajo del adaptador de sincronización pueda ejecutar automáticamente.
Cómo ejecutar un adaptador de sincronización
Obtén información sobre cómo activar y programar transferencias de datos utilizando el marco de trabajo del adaptador de sincronización.