Sugerencias para proporcionar comentarios de los usuarios para una operación en curso: ¿Android 3.0?

En mi aplicación tengo que hacer muchas tareas de larga duración. Por lo general, estos acceden a la red y hacen algunas cosas en un servidor remoto. Obviamente, estas son tareas asincrónicas. Ahora la pregunta es: ¿qué se considera una forma sencilla de notificar al usuario que algo está sucediendo?

He usado una solución que muestra un cuadro de diálogo modal con el círculo de carga de animación predeterminado e indefinido girando mientras la tarea se está ejecutando. Esto es terrible, el usuario no puede interactuar con la aplicación durante este tiempo (el diálogo es modal) y es muy intrusivo.

¿Qué solución sugieren ustedes para proporcionar comentarios de los usuarios para:

A. ¿una tarea asíncrona se inició presionando un botón en la escucha de ListView? B. ¿una tarea asíncrona se inició presionando un elemento de menú? (desde ActionBar, o el menú normal, no importa)

Preferiría que la solución no fuera intrusiva, pero el usuario debería notar que algo realmente está sucediendo.

preguntado el 16 de mayo de 11 a las 16:05

3 Respuestas

La mayoría de las aplicaciones que he visto usan una barra de progreso indeterminada ubicada en algún lugar de la interfaz de usuario. De esta manera, el usuario ve que algo está funcionando, pero aún puede interactuar con todas las demás secciones de la IU en la actividad.

contestado el 16 de mayo de 11 a las 20:05

Para A, probablemente dejaría espacio en el elemento ListView para una barra de progreso. Luego actualice la barra de progreso para ese elemento.

Para B, creo que algo como una notificación continua con una barra de progreso sería una solución bastante ideal.

contestado el 16 de mayo de 11 a las 21:05

En mi aplicación tengo que hacer muchas tareas de larga duración. Por lo general, estos acceden a la red y hacen algunas cosas en un servidor remoto. Obviamente, estas son tareas asincrónicas.

Según la descripción, este podría no ser un caso en el que usar una AsyncTask sea el enfoque correcto. ¿Qué sucede si la actividad de la aplicación que inició AsyncTask se detiene o se destruye, pero la transferencia de datos se completó en un 95%? ¿Debería descartarse el progreso? ¿La transacción fue atómica?

Recomiendo encarecidamente mirar Presentación de Google I / O 2010 de Virgil Dobjanschi sobre aplicaciones cliente REST de Android, en el que describe el diseño de una aplicación para manejar dichos datos y comunicaciones de red. He es el autor de la aplicación oficial de Twitter para Android.

contestado el 16 de mayo de 11 a las 21:05

Gracias por la advertencia, soy consciente de estos problemas y utilizo IntentService para tareas importantes y AsyncTasks para tareas menos importantes, que deben terminarse cuando se destruye la actividad. - Zsombor Erdődy-Nagy

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.