Intuitivamente entender las tareas de Android
Tasks and Back Stack es el recurso definitivo para comprender el mecanismo que implica las tareas y su interacción con el botón Atrás. En un primer párrafo:
Una tarea es una colección de actividades con las que los usuarios interactúan cuando realizan un determinado trabajo. Las actividades se organizan en una pila (la "pila trasera"), en el orden en que se abre cada actividad.
- Inserción de una vista de texto en medio de una vista de imagen de Android
- ¿Puedo usar varias formas en un Android dibujable?
- Tratar de que Android LinearLayout se estire horizontal y verticalmente
- Utilizar interfaces para constantes de espacio de nombres en Android
- ¿Cómo enviar la vista hacia atrás? ¿Cómo controlar la orden z de forma programática?
Las tareas se explican a continuación en términos de la pantalla de inicio y cómo se inicia los procesos. Esto tiene sentido. Tengo curiosidad, sin embargo: ¿Qué debería determinar el uso de múltiples tareas en aplicaciones de "usuario"?
Estoy interesado en una comprensión intuitiva o heurística que guía el uso de la tarea en lugar de simplemente intentar lograr órdenes específicas de actividades en la pila trasera.
- Combinar lienzo y diseño (Android)
- Android detectar si constructor llamado en modo de diseño?
- ¿Cómo hacer ScrollView con un RelativeLayout con varios diseños de niño llenar la pantalla?
- Importar nueva biblioteca de soporte de diseño de Android
- Cómo organizar mejor mi clase de base de datos SQLite en Android
- ¿Cómo puedo saber que OnResume viene después de onCreate?
- Diseño con posición dinámica
- LinearLayout analógico dentro de la tabla en LibGDX
Una tarea es un grupo de componentes que trabajan coherentemente juntos para cumplir un propósito para el usuario (no necesariamente un propósito muy específico, pero un propósito no obstante). Es lo que el usuario ve como una aplicación.
Existe un reproductor de música que permite al usuario administrar y reproducir canciones. Puede incluir varias actividades que muestren metadatos de álbum / artista / canción, control de reproducción, listas de reproducción, etc. También puede incluir servicios que implementan la reproducción y que buscan nuevas canciones. El usuario no sabe qué es una actividad y un servicio; Él o ella sólo sabe que esta serie de pantallas le permite administrar y reproducir canciones.
Las actividades de una tarea no necesitan pertenecer a la misma 'aplicación' desde el punto de vista del desarrollo. Si la tarea del reproductor de música permite a los usuarios vincular una imagen a una canción, puede iniciar una actividad de galería de imágenes o la actividad de la cámara. Dado que la nueva actividad sigue trabajando hacia el propósito de administrar canciones, sigue siendo parte de la misma tarea.
Por otro lado, si el usuario rompe totalmente con el propósito de la tarea, podría ser el momento de iniciar una tarea diferente. Por ejemplo, si inicia un navegador web para ver el sitio web del artista, el usuario ahora está haciendo algo diferente. El usuario probablemente no asocie navegación web con la gestión y reproducción de canciones, por lo que probablemente debería ser una tarea diferente.
Creo que una tarea en ese contexto dado es una especie de flujo de trabajo. Tome correo electrónico. Escribir un nuevo correo electrónico puede consistir en rellenar primero los destinatarios y, a continuación, en la siguiente actividad, seleccionar destinatarios y hacer clic en enviar finalmente envía el correo electrónico desactivado. Otra tarea podría ser la selección de múltiples correos electrónicos y, a continuación, eliminar todo de una sola vez.
En la práctica, lo que a menudo se encuentra es un AsyncTask
que básicamente está haciendo un trabajo en segundo plano que de otro modo bloquearía el hilo de interfaz de usuario y haría que la aplicación no responda.
- Desarrollo Android S / MIME
- Problema: "Extracción" de JSON usando ascensor-json en una aplicación Android (Scala)