componentes de la aplicación Android
Los cuatro componentes principales del desarrollo de Android son: Actividad: se utiliza para expresar funciones. Servicio: ejecuta servicios en segundo plano y no proporciona representación de interfaz. BroadcastReceiver: utilizado para recibir transmisiones. Proveedor de contenido: admite el almacenamiento y la lectura de datos en múltiples aplicaciones, equivalente a una base de datos. En Android, Activity es la base de todos los programas. Todos los procesos del programa que se ejecutan en Activity pueden considerarse los más frecuentes para los desarrolladores y también es uno de los módulos más básicos en Android. En los programas de Android, la Actividad generalmente representa una pantalla de la pantalla del teléfono móvil. Si se compara un teléfono móvil con un navegador, entonces Actividad equivale a una página web. Puede agregar algunos botones, casillas de verificación y otros controles a la Actividad. Puedes ver que el concepto de Actividad es bastante similar al de una página web.
Generalmente, una aplicación de Android se compone de múltiples actividades. Estas múltiples actividades pueden saltar entre sí. Por ejemplo, después de presionar un botón, puede saltar a otras actividades. Ligeramente diferente de los saltos de páginas web, los saltos entre actividades pueden devolver valores. Por ejemplo, si salta de la Actividad A a la Actividad B, cuando finalice la Actividad B, puede devolver un valor a la Actividad A. Esto resulta bastante conveniente muchas veces.
Cuando se abre una nueva pantalla, la pantalla anterior se pondrá en estado de pausa y se enviará a la pila del historial. El usuario puede volver a una pantalla abierta previamente mediante la operación de reversión. Puede eliminar selectivamente algunas pantallas que no es necesario conservar, porque Android guardará cada pantalla desde el principio de cada aplicación hasta la actual en la pila.
(Fuente de la imagen del álbum de la aplicación de Android:) El servicio es un componente del sistema Android. Está al mismo nivel que la Actividad, pero no puede ejecutarse por sí solo, solo puede ejecutarse en segundo plano y puede ejecutarse. interactuar con otros componentes para interactuar. El servicio es un código de ciclo de vida largo sin interfaz. El servicio es un programa que puede ejecutarse durante mucho tiempo, pero no tiene interfaz de usuario. Es un poco aburrido decir esto, veamos un ejemplo. Abra un programa de reproducción de música. Si desea conectarse en este momento, abra el navegador de Android. Aunque haya ingresado al programa del navegador en este momento, la reproducción de canciones no se detiene, sino que continúa una tras otra en segundo plano. primera reproducción. De hecho, esta reproducción está controlada por el Servicio que reproduce la música. Por supuesto, este servicio que reproduce música también se puede detener, por ejemplo, cuando finalizan todas las canciones de la lista de reproducción, o el usuario presiona la tecla de acceso directo para detener la reproducción de música, etc. El servicio se puede utilizar en aplicaciones en muchas situaciones. Por ejemplo, cuando se reproduce multimedia, el usuario inicia otras actividades. En este momento, el programa necesita continuar reproduciéndose en segundo plano, como detectar cambios en los archivos de la tarjeta SD o grabar. cambios en la ubicación de la información geográfica en segundo plano, etc. Espere, después de todo, el servicio siempre está oculto en la parte posterior.
Hay dos formas de iniciar el Servicio:
(1) Context.startService(): El Servicio pasará por onCreate -gt; onStart (si el Servicio aún no se está ejecutando, Android llama). onCreate primero () y luego llama a onStart(); si el Servicio ya se está ejecutando, solo se llama a onStart(), por lo que el método onStart de un Servicio puede llamarse varias veces directamente a onDestroy cuando StopService, si la persona que llama sale directamente sin); llamando a StopService, el servicio siempre se ejecutará en segundo plano. La persona que llama al Servicio puede cerrar el Servicio a través de stopService después de que se inicie nuevamente. Tenga en cuenta que no se anidarán varias llamadas a Context.startservice() (incluso si se llama al método onStart() correspondiente), por lo que no importa cuántas veces se inicie el mismo servicio, una vez que se inicie Context.stopService() o StopSelf() llamado, será detenido. Explicación adicional: el objeto Intent pasado a StartService (0 se pasará al método onStart(). La secuencia de llamada es: onCreate --gt; onStart (se puede llamar varias veces) --gt; onDestroy.
(2) Context.bindService(): El servicio pasará por onCreate() --gt; onBind(), onBind devolverá una instancia de interfaz IBind al cliente. IBind permite al cliente devolver la llamada al método del servicio, como por ejemplo. obtener el estado de ejecución del Servicio u otras operaciones. En este momento, la persona que llama (Contexto, como Actividad) estará vinculada al Servicio. Cuando el Contexto salga, el Servicio llamará a onUnbind --gt y saldrá en consecuencia. La llamada vinculación determinará la supervivencia del Contenido. El Proveedor es una solución de acceso a datos de aplicaciones de terceros proporcionada por Android.
En Android, la protección de datos es muy estricta. colocado en la tarjeta SD, la base de datos de una aplicación, los archivos y otros contenidos no pueden ser accedidos directamente por otros. Por supuesto, Andorid realmente no hará que cada aplicación sea una isla. es lo que el proveedor de contenido quiere proporcionar al mundo exterior. Los datos se pueden encapsular en un proveedor de contenido derivando la clase de proveedor de contenido. Cada proveedor de contenido utiliza un uri como identificador independiente, en la forma: content://com.xxxxx. Todo parece REST, pero en realidad es más flexible que REST. Al igual que REST, uri también puede tener dos tipos, uno con id y otro con lista, pero el implementador no necesita seguir este patrón. con id También puede devolver datos de tipo lista, siempre que la persona que llama los entienda, no importa, no hay necesidad de ser estricto con el llamado REST