consideraciones de diseño de Android: AsyncTask vs Service (IntentService?)

Estoy diseñando una aplicación de Android que deberá seguir los siguientes pasos:

el usuario presiona un botón o indica "sincronizar datos".El proceso de sincronización utilizará los servicios web REST para mover datos hacia y desde el servidor.los datos se almacenarán localmente en una base de datos sqlite.el proceso de sincronización debe proporcionar actualizaciones / mensajes de estado a la IUNo se debe permitir que el usuario se pasee a otras partes de la aplicación y realice más trabajo durante el proceso de sincronización.

La primera vez que se ejecuta el proceso de sincronización, puede tardar entre 10 y 20 minutos. Después de la sincronización inicial, se transferirán y almacenarán menos datos y espero que el proceso tome 1-2 minutos o menos.

He estado leyendo mucho sobre AndroidAsyncTask y varios ejemplos de uso de un Servicio ... Pero no entiendo completamente las consideraciones de diseño y las compensaciones de elegir un diseño sobre el otro. Actualmente tengo mi proyecto de demostración apagado usando una AsyncTask. Después de ver (la mayoría de) Desarrollar aplicaciones cliente REST de Android:http://code.google.com/events/io/2010/sessions/developing-RESTful-android-apps.html# Me siento confundido, los patrones de diseño descritos aquí se sienten demasiado complejos, tal vez porque simplemente "no lo entiendo" todavía.

Vengo de un fondo de aplicaciones java, spring, web y de escritorio. Pensar y diseñar en términos de un dispositivo portátil es bastante nuevo para mí. (¿Qué sucede cuando se cambia el diseño de la pantalla? ¿Qué sucede cuando suena el teléfono mientras estoy ejecutando una sincronización?) Si retrocedimos 2 pasos, si la sincronización inicial ES un proceso tan largo, ¿hay una mejor manera de hacerlo? ¿Pienso en el problema-> solución, la experiencia del usuario, las expectativas del usuario de una aplicación que se ejecuta en un teléfono?

Me encantaría saber de algunos desarrolladores de Android más experimentados que ya han luchado con estas preguntas.

Respuestas a la pregunta(5)

Su respuesta a la pregunta