Programación Android: II. Estructura y componentes

Explicación breve de cual es la estructura que nos encontramos al empezar con el desarrollo de una aplicación Android. Después de crear un nuevo proyecto en Eclipse se genera una estructura de carpetas que suele ser siempre la misma.


Estructura

src/
Contiene el código fuente organizado en paquetes. Aquí irán las clases java de nuestra aplicación.

gen/
Archivos que genera el compilador en sus pasadas, como el archivo de recursos R, esta carpeta normalmente no se debe tocar. Se genera todo automáticamente.

Android x.x
Hacen referencia a la versión del SDK de Android que se esté empleando para la aplicación.
Android dependencies
Librerias de las que depende la aplicación.
assets/
Almacena recursos que pueda necesitar nuestra aplicación, como ficheros de música, imágenes, etc. Podremos acceder a ellos con la clase del sistema AssetManager
bin/
Archivos compilados de la aplicación.
libs/
Librerías disponibles para la aplicación.
res/
Contiene todos los recursos necesarios para la aplicación. Todos los archivos de esta carpeta son indexados por el compilador y se genera el fichero de recursos R. Se divide en sub-carpetas.

  • Drawable: Ficheros bitmap(.png, .jpg, .gif) o XML con contenidos que se dibujarán (fondos, botones, etc).
  • Layout: Ficheros XML que definen la capa de interfaz de usuario.
  • Menu: Ficheros XML con la definición de los menús de la aplicación.
  • Values: Ficheros XML para la definición de estilos, cadenas de texto para localización etc.

AndroidManifest.xml
En este archivo se colocará la información esencial sobre la aplicación que será usada en el momento de la ejecución del mismo.

Componentes

Son los elementos básicos con los que se trabajan en una aplicación Android. Cada uno de ellos tiene una función diferente a través de la cual el sistema puede interactuar con la aplicación y comportarse de una manera determinada.
Actividades
Cada Actividad (clase java que extienden a Activity) representa una única pantalla de la aplicación y provee una interfaz de usuario (1 pantalla sobre la que el usuario puede interactuar). Si tienes 3 pantallas, tendrás 3 actividades distintas e independientes.
Servicios
Clase java que extiende a Service. Es un componente que se ejecuta en segundo plano con el objeto de realizar tareas de larga duración de forma que no se bloquee la interacción del usuario con la Actividad que esté ejecutando en ese momento. Estos, no proveen de una interfaz de usuario.
Proveedores de Contenido
Subclases de ContentProvider, gestionan conjuntos de datos que la aplicación comparte con otras aplicaciones. Pueden almacenarse en distintos lugares, como ejemplo, en una base de datos SQLite, o en un archivo de sistema. Estos datos podrán ser consultados por otras aplicaciones e incluso ser modificados, siempre y cuando el “Proveedor de Contenido” (Content Provider) lo permita.
Receptores Broadcast o de Eventos
Escuchan y responden ante un amplio rango de anuncios que ocurren en el sistema (“bateria baja”, “gps encendido”,etc.). No tienen asociado un interfaz de usuario pero si que pueden generar notificaciones en la barra de estado para avisar al usuario. Son “desencadenantes” de otros componentes.

Podéis encontrar está y más información en la documentación técnica de Android: http://developer.android.com/develop/index.html

Saludos,

Consultor tecnológico eCommerce, social media, SEO para pequeñas y medianas empresas, y emprendedor. Dedicado día a día al crecimiento en el área de negocios y participando en varios proyectos empresariales y de inversión.

Programación Android: I. Entorno de desarrollo

Tutorial para preparar el entorno de desarrollo Android en Linux. Para la instalación en Windows los pasos son los mismo pero se ha de descargar el software de las páginas oficiales que se ven en el tutorial.


Para evitar problemas de incompatibilidad con otros entornos de desarrollo he instalado una nueva máquina virtual con Ubuntu 12.04, y he seguido el proceso detallado a continuación para preparar el entorno de desarrollo para hacer aplicaciones en Android.

Paso 1: Instalar IDE Eclipse


Accedemos a Ubuntu Software Center, buscamos Eclipse y lo instalamos.


Página oficial (click aquí)


Paso 2: Instalar Android SDK



Descargar Android SDK


Descargamos de la página oficial (click aquí) la versión del SDK para Ubuntu. Descomprimimos el archivo, en mi caso en la carpeta home/Desarrollo.


Preparar instalación Android SDK


Ahora editamos el archivo .bashrc para añadir el path del SDK y poder ejecutarlo. Abrimos un terminal y escribimos la siguiente linea de código.


gedit ~/.bashrc


Se nos abrirá el archivo para editar, añadimos al final del archivo:

export PATH=${PATH}:/home/{usuario}/Desarrollo/android-sdk-linux/tools

Donde {usuario} será tu nombre de usuario del sistema.



Instalar Android SDK


Para que el path tenga efecto cerramos y abrimos cualquier terminal que tengamos abierto. Ahora, ejecutamos ‘android’ en el terminal.


Se abrirá el Android SDK Manager donde podremos instalar y actualizar el SDK, además de crear dispositivos virtuales de pruebas. Pulsamos ‘Install n package’, y esperamos a que se instale todo.




Paso 3: Instalar Plugin para Eclipse

Iniciamos Eclipse, vamos a ‘Help > Install New Software’, pinchamos en ‘Add’ y añadimos los isguientes datos:


Name: Android Plugin
Location: https://dl-ssl.google.com/android/eclipse/

Seleccionamos todos los paquetes, damos next, next, aceptamos condiciones y finish. Empezará el proceso de instalación. Al finalizar, aparecerá el siguiente mensaje de error, le damos Ok.

Ahora debemos reiniciar Eclipse

Paso 4: Configurar emulador Android

Al reiniciar Eclipse nos aparece la opción para elegir nuestro SDK instalado previamente. Seleccionamos la ruta y damos ‘Next’.

Mandar información de uso a Google (si o no, al gusto) y click ‘Finish’.

Ya tenemos nuestro entorno de desarrollo preparado para aplicaciones Android. Ahora podemos acceder al Android SDK desde Eclipse en el menú ‘Window’.

Saludos,

Consultor tecnológico eCommerce, social media, SEO para pequeñas y medianas empresas, y emprendedor. Dedicado día a día al crecimiento en el área de negocios y participando en varios proyectos empresariales y de inversión.