Primeros pasos con Android (II). Conceptos básicos.

En la anterior entrada vimos como “adecentar” nuestro entorno para poder empezar a desarrollar aplicaciones Android.

En esta entrada vamos a ver los conceptos básicos que componen una aplicación de Android:

  • Activity:  Se podría decir que es lo que “vemos” en la pantalla, aunque esto realmente no es así, ya que las Activities realmente son las diferentes acciones que podemos realizar en nuestra aplicación, ya sea mostrar un dialogo, una pantalla, operaciones ocultas para el usuario,etc… Estas acciones se pueden comunicar con otras a fin de hacer determinadas tareas u obtener diferentes resultados. Una aplicación de Android es realmente un conjunto de pequeñas activity enlazadas.
  • Views:  Son las clases básicas del interfaz de usuario que controlan el layout de la pantalla y la funcionalidad otorgada al usuario, por ejemplo botones, cajas de texto, etc…
  • Services: Son componentes que nos dan la posibilidad de realizar acciones duraderas en un segundo plano y que no ofrecen en si mismas una interfaz de usuario. Estos services pueden ser de dos tipos:
    • Started:  Son iniciados por algún componente y su ejecución es independiente del componente que lo ha iniciado, pudiendo continuar su ejecución aunque el componente que lo ha iniciado ya no exista, por ejemplo una actualización de una aplicación.
    • Bound:  Son iniciados cuando algun componente se “ata” a este service,  y nos proporcionará una suerte de cliente-servidor que permite que los componentes se comuniquen con el service, etc…  Es posible “atar” varios componentes a un mismo service, pero estos services se destruirán cuando el componente al que estaba “atado” se destruya.

    De todas maneras, es posible hacer que un service sea de tipo Started,Bound o si queremos ambos, simplemente implementando los métodos OnBound() u OnStartCommand() según nuestras necesidades, para permitir la funcionalidad al service.

  • Content Provider: Nos proporciona una interfaz de acceso a datos. Conecta datos con código y además Android nos ofrece una base de datos SQLite que nos permite obtener persistencia con la estructura de datos del content provider. Android ofrece unos content provider por defecto que nos permitirán usar lista de contactos, videos, imagenes, etc…
  • Intents: Son mensajes asíncronos que permiten a la aplicación pedir colaboración de otros componentes. Por ejemplo la aplicación genera un pdf  y se muestra, pues de todos los lectores de pdf disponibles en el dispositivo, el usuario podrá elegir cual quiere usar, si no especificamos cual queremos que sea el encargado de esa tarea. Mediante los intents, podemos llamar a activities,services o broadcasts.
  • Broadcast Receiver: Receptor de mensajes del sistema e intents.  Por ejemplo si entra una llamada o al arrancar el teléfono podemos definir acciones dentro de su método OnReceive(). Este objeto solo estará disponible mientras se esté ejecutando este mismo método, después ya no estará activo y por tanto no podremos hacer peticiones asíncronas.
  • Widget: Son pequeños componentes que normalmente se muestran al usuario en pantalla y muestran cierta información, permitiendo al usuario realizar ciertas acciones. Por ejemplo un listado de mensajes enviados o de correos recibidos, el tiempo atmosférico, un reloj,etc… Pueden incluso ser embebidas dentro de otras aplicaciones y son susceptibles de actualizaciones.

Y estos son a grandes rasgos los conceptos básicos que componen un aplicativo Android. En siguientes entradas veremos cada una de ellas en mayor profundidad y finalizaremos realizando una sencilla practica.

 

<O,_,O/>