Los componentes de toda aplicación Android.

Android sale de fábrica con un conjunto de aplicaciones básicas incluyendo un cliente de correo electrónico, un programa de SMS, un calendario, mapas, un navegador, un administrador de contactos y algunas otras más que facilitan el uso del teléfono. Todas estas aplicaciones están escritas en el lenguaje de programación Java.

Al proporcionar una plataforma de desarrollo abierto, Android ofrece a los desarrolladores la capacidad de crear aplicaciones muy ricas e innovadoras. Los desarrolladores son libres de tomar ventaja del hardware del dispositivo, como la información de geo-localización, ejecutar servicios en segundo plano, establecer alarmas, añadir notificaciones a la barra de estado y mucho más.

Los desarrolladores tienen pleno acceso a las API (Application Programmin Interface) las mismas que son utilizadas por las aplicaciones principales incluídas en el sistema de las que hablabamos en un inicio. La arquitectura de la aplicación está diseñada para simplificar la reutilización de componentes, y cualquier aplicación puede publicar sus capacidades y cualquier otra aplicación podrá entonces hacer uso de esas capacidades (sujeto a restricciones de seguridad impuestas por el sistema). Este mismo mecanismo permite que los componentes puedan ser sustituidos por el usuario.

Una aplicación para Android puede tener cualquiera de los siguientes componentes:

  • Actividad (Activity). Representa la capa de presentación de toda aplicación Android, por ejemplo, una pantalla que el usuario ve. Una aplicación para Android puede tener varias actividades y se puede cambiar entre ellos en tiempo de ejecución de la aplicación.
  • Servicios (Services). Realizan tareas en segundo plano, sin ofrecer una interfaz de usuario (View). Se puede notificar al usuario a través de la función de notificación de Android.
  • Proveedor de Contenido (Content Provider). Proporciona datos a las aplicaciones, a través de un proveedor de contenido su aplicación puede compartir datos con otras. Android contiene una base de datos SQLite, que puede servir como proveedor de contenidos
  • Receptor de Mensajes (Broadcast Receiver). Recibe los mensajes del sistema y las Solicitudes Implícitas, se puede utilizar para responder a condiciones cambiantes en el sistema. Una aplicación puede registrarse como receptor de la difusión de ciertos eventos y se puede iniciar a si misma si se producen tales acontecimientos.

 

Otros elementos de todo sistema Android además de las aplicaciones son los widgets, las carpetas vivas (LiveFolders) y los fondos de pantalla vivos (Live Wallpapers).  Por lo pronto en esta primera parte de nuestro curso nos enfocaremos en las aplicaciones (Apps), luego veremos en detalle estos otros componentes de Android.

Un aspecto único del diseño del sistema Android es que cualquier aplicación puede iniciar otro componente de cualquier otra aplicación. Por ejemplo, si desea que el usuario capture una foto con la cámara del dispositivo, es probable que haya otra aplicación que hace eso y su aplicación puede utilizar dicho componente, en lugar de desarrollar una actividad para capturar una foto por usted mismo. No es necesario pues incorporar o incluso enlazan con el código de la aplicación de la cámara. Por el contrario, sólo tiene que iniciar la actividad en la aplicación que captura fotos de la cámara. Cuando el proceso de tomar la fotografía se haya completado, la foto ira de vuelta a su aplicación para que pueda usarla. Para el usuario, parece como si la cámara es en realidad una parte de su aplicación.

Cuando el sistema inicia un componente, se inicia el proceso para la aplicación (si es que no está ya en ejecución) e inicializa las clases necesarias para el componente. Por ejemplo, si su aplicación inicia la actividad en una aplicación que captura fotos de la cámara, dicha actividad se ejecuta en un proceso que le pertenece a la aplicación que captura fotos de la cámara, no en el proceso de su aplicación (esto es importante como medida de seguridad). Por lo tanto, a diferencia de la mayoría de las aplicaciones en otros sistemas, las aplicaciones de Android no tiene un único punto de entrada (no hay función main (), por ejemplo).

Debido a que el sistema ejecuta cada aplicación en un proceso separado con permisos de archivos que restringen el acceso a otras aplicaciones, una aplicación no puede activar directamente un componente de otra aplicación. Sin embargo, el sistema Android, puede hacerlo. Por lo tanto, para activar un componente en otra aplicación, debe entregar un mensaje al sistema que especifica su intención (Intent) de iniciar un componente en particular. Entonces, el sistema activa el componente para usted.

Leave a reply

You must be logged in to post a comment.