Desarrollo de Android: cuatro puntos clave para las aplicaciones de Android
Pero no todas las aplicaciones de Android requieren estos cuatro bloques de construcción. A veces, nuestras aplicaciones sólo requieren una combinación de algunos de estos cuatro componentes.
Una vez que sabemos qué constructores necesita nuestra aplicación, debemos registrar una lista de estos constructores en AndroidManifest.xml. Este es un archivo de configuración XML que define los componentes de la aplicación, sus capacidades y requisitos, etc. Cada aplicación de Android requiere este archivo de configuración. Con respecto al patrón de AndroidMainfest.xml, expliquemos los cuatro tipos de bloques constructores:
1. Actividades
Las actividades son el tipo de bloque de construcción más básico de Android, en la aplicación, el La actividad suele ser una pantalla. Cada actividad se implementa como una clase separada y hereda de la clase base Actividad. La clase de actividad muestra una interfaz de usuario compuesta por múltiples controles de vista y responde a eventos. La mayoría de las aplicaciones contienen varias pantallas. Por ejemplo, una aplicación de mensajería tendría una pantalla para mostrar una lista de contactos, una segunda pantalla para escribir mensajes y una tercera pantalla para explorar mensajes antiguos y realizar configuraciones del sistema. Cada pantalla es una actividad, y navegar de una a otra es muy sencillo. En algunas aplicaciones, una pantalla incluso devolverá el valor de la pantalla anterior.
Al abrir una nueva pantalla, la pantalla anterior se pausará y se guardará en la pila del historial. El usuario puede volver a la pantalla anterior en la pila del historial. Las pantallas también se pueden eliminar de la pila del historial si ya no se utilizan. De forma predeterminada, Android conservará la pantalla de ejecución desde la pantalla de inicio de cada aplicación.
Android utiliza una clase especial de Intents para moverse entre pantallas. La clase Intent describe lo que hará una aplicación. En la estructura de descripción de un Intent, hay dos partes más importantes: la operación y los datos correspondientes a la operación. Los tipos de operación típicos incluyen PRINCIPAL (entrada de actividad), VER (ver), ELEGIR (seleccionar), EDITAR (editar), etc. Los datos correspondientes a la operación se representan en forma de URI.
Una clase relacionada se llama IntentFilter. En relación con las intenciones, los filtros de intención se utilizan para describir una actividad. Si la actividad quiere mostrar la información de contacto de una persona, necesita declarar un IntentFilter, y el IntentFilter necesita saber cómo manejar la operación VIEW y representar el URI de una persona. IntentFilter debe definirse en AndroidManifest.xml.
Navegar de una pantalla a otra es sencillo analizando varias intenciones. Al navegar hacia adelante, la actividad llama al método startActivity(Intent myIntent). Luego, el sistema examina los IntentFilters definidos en todas las aplicaciones instaladas y encuentra la actividad que mejor coincide con la intención de myIntent. myIntent notifica la nueva actividad y comienza a ejecutarse. Cuando se llama al método startActivity, se activa la operación de análisis de myIntent.
Este mecanismo proporciona dos ventajas principales:
Las actividades se pueden reutilizar como solicitudes de intención generadas desde otro componente;
Las actividades pueden ser reutilizadas por nuevas actividades en cualquier momento. coincide con el mismo IntentFilter;
◆La actividad puede ser reutilizada por nuevas actividades, y el nuevo IntentFilter de la nueva actividad coincide con el mismo IntentFilter.
1. IntentFilter se puede utilizar en cualquier momento;
◆Las actividades se pueden reemplazar por nuevas actividades con el mismo IntentFilter en cualquier momento.
2. Receptor de intenciones
Cuando desea que su aplicación responda a eventos externos (por ejemplo, cuando entra una llamada telefónica, cuando la red de datos está disponible o cuando cae la noche). Adviento), puedes utilizar receptores de intención. El receptor de intenciones utiliza NotificationManager para notificar al usuario cuando ocurren eventos relevantes, pero no genera una interfaz de usuario. Los receptores de intenciones se registran en AndroidManifest.xml, pero también se pueden registrar en código usando Context.registerReceiver(). Cuando se activa un receptor de intenciones, su aplicación no necesita llamar al receptor de intenciones cuando lo solicite; el sistema iniciará su aplicación cuando sea necesario. Varias aplicaciones también pueden usar Context.broadcastIntent() para transmitir sus propios receptores de intenciones a otras aplicaciones.
3. Servicio
Un servicio es un programa con un ciclo de vida largo y sin interfaz de usuario. Un buen ejemplo es un reproductor multimedia para canciones de una lista de reproducción. En una aplicación de reproductor multimedia, debe haber múltiples actividades que permitan al usuario seleccionar una canción y reproducirla. Sin embargo, no hay actividad de reproducción de música porque, por supuesto, el usuario asumiría que la música todavía se está reproduciendo cuando navega a otra pantalla. En este ejemplo, la actividad del reproductor multimedia utiliza Context.startService() para iniciar un servicio que mantiene la música reproduciéndose en segundo plano. Al mismo tiempo, el sistema continuará ejecutando el servicio hasta que finalice la operación del servicio. Alternativamente, también podemos usar el método Context.bindService() para conectarnos al servicio (o iniciar el servicio si aún no se está ejecutando). Después de conectarnos al servicio, también podemos comunicarnos con él utilizando la interfaz proporcionada por el servicio. En lo que respecta al reproductor multimedia, podremos pausarlo, reproducirlo, etc.
4. Proveedor de contenido
Las aplicaciones pueden guardar sus datos en archivos, bases de datos SQL o incluso en cualquier dispositivo válido. Los proveedores de contenido son útiles cuando desea compartir datos de la aplicación con otras aplicaciones***. Las clases de proveedor de contenido implementan un conjunto de métodos estándar que permiten a otras aplicaciones guardar o leer los distintos tipos de datos manejados por el proveedor de contenido.