2010-09-08 10 views
18

¿Qué estamos haciendo actualmente?
Tenemos algunos datos estructurados y textuales en un servidor que se expone usando servicios web (RESTful). Mi aplicación sondea este servidor regularmente (AlarmManagerService) para recuperar los datos y guardarlos en la base de datos local (sqlite). Además, un usuario está autenticado y autorizado de antemano para el acceso.Caso de uso de Android SyncAdapter

Preguntas:

  1. Hay una clase SyncAdapter/administrador de cuentas en el SDK y me preguntaba si puede ser de alguna utilidad en mi solicitud para conseguir la sincronización antes mencionado?

  2. En caso afirmativo, ¿qué tipo de infraestructura se necesita en la parte posterior para admitir una configuración de sincronización con este adaptador? Se agradecen los enlaces a artículos, etc. que proporcionan detalles sobre el uso de este adaptador y otra información.

Respuesta

18

Sí SyncAdapter/AccountManager es útil para su uso. El Authenticator (que llama a AccountManager detrás de la escena) puede administrar la autenticación de su aplicación. SyncAdapter puede manejar sincronizaciones periódicas desde el servidor al almacén de datos local. No tendrá que implementarlo usted mismo usando AlarmManager. Para el código de ejemplo en el uso de SampleSycnAdapter/Authenticator, consulte el SampleSyncAdapter en android devguide.

Su servidor REST back-end funcionará con SyncAdapter sin problemas, sin muchos cambios. Las únicas diferencias serían en su cliente, como por ejemplo, en lugar de llamar a los métodos de búsqueda de datos del servidor en AlarmManager, en su lugar los llamaría a OnPerformSync() de su clase que extiende SyncAdapter. El código de ejemplo mencionado anteriormente lo hará más claro. Espero que esto ayude.

+0

Gracias Megha! Comprobaré el proyecto de muestra (parece que tendré que descargar 2.2 para eso). Por favor, valide mi comprensión: ¿esta es básicamente una clase que está diseñada para facilitar la actividad de sincronización entre dos partes? Tendré que escribir toda la comunicación de red, el análisis XML, la lógica de persistencia de datos y aplicar una capa de SyncAdapter para encapsular todos los flujos. – Samuh

+0

Sí, eso es correcto. –

Cuestiones relacionadas