
Antes de empezar, quiero comunicar que todas las entradas relacionadas con los tutoriales de Android los colocarƩ en la pƔgina Android.
En esta entrada vamos a empezar directamente con el tĆpico Hola Mundo (Hello World):
CREANDO EL PROYECTO
Arrancamos eclipse con todo configurado correctamente y vamos a Archivo->nuevo->Proyecto Android:
Despues de esto se nos mostrarĆ” un dialogo para configurar el proyecto, debemos introducir:
- El nombre del proyecto. en este caso Hola Mundo
- Donde queremos crear el proyecto (normalmente dentro del workspace).
- Versión Android a la que irÔ destinada la aplicación, en este caso Android 2.2
- Nombre de la aplicación (El que se mostrarÔ al usuario una vez instalada, Hola Mundo).
- El Nombre del paquete que se usa como espacio de nombres y estructura de organización del código, “app.tutorial.holaMundo”
- Marcamos la opción Crear Actividad para que eclipse cree la clase que se lanzarÔ al ejecutar la aplicación. Normalmente a esta clase se le llama MainActivity.
- Versión MĆnima del SDK es la versión mĆnima necesaria del SDK para ejecutar la aplicación, a menor nĆŗmero, la aplicación correrĆ” en mĆ”s terminales, pero no podremos usar las Ćŗltimas caracteristicas de Android.
- Una vez rellenado todo, le damos a finalizar.
Ya hemos creado nuestro primer proyecto Android, ahora vamos a ver de quƩ se compone:
COMPONENTES DEL PROYECTO
Los proyectos de Android siguen una estructura fija de carpetas que debemos respetar. Podemos ver esta estructura con la vista Package Explorer que proporciona eclipse:
Carpeta src (de fuentes)
Esta carpeta contiene el código fuente organizado en paquetes. Aquà irÔn las clases java de nuestra aplicación.
Carpeta gen (archivos generados)
AquĆ van los archivos que genera el compilador en sus pasadas, como el archivo de recursos R, esta carpeta normalmente no se debe tocar.
Carpeta assets (De recursos varios)
Almacena recursos que pueda necesitar nuestra aplicación, como ficheros de música etc.
Podremos acceder a ellos fƔcilmente con la clase del sistema AssetManager
Clase de recursos (res)
Esta carpeta es una de la que mÔs vamos a usar junto con src, 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 recursosR, que nos permite acceder a ellos de una forma rÔpida.
EstĆ” dividida en subcarpetas:
- anim: Ficheros XML para la definición de Animaciones.
- color: Ficheros XML de definición de colores.
- drawable: Ficheros bitmap(.png, .9.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.
- raw: Binarios que no se pueden colocar en las otras carpetas.
- values: Ficheros XML para la definición de estilos, cadenas de texto para localización etc.
- xml: Ficheros XML que pueden ser accedidos en tiempo de ejecución.
Algunas carpetas pueden tener varias versiones para adaptarse a diferentes tamaƱos de pantallas, idiomas etc.
El archivo Manifest (AndroidManifest.xml)
Todos los proyectos tienen un archivo como este, en Ć©l se detallan las caracterĆsticas principales (módulos, permisos, nombre, icono…).
Ahora que hemos explicado la estructura de un proyecto Android, veamos el ejemplo Hola Mundo al detalle
Profundizando en el “Hola Mundo”
Al crear el proyecto dimos nombre a una Actividad (MainActivity), estas clases son las encargadas de mostrar las interfaz grƔfica al usuario, deben extender de la clase Activity.
Al crear una activity Android llama a su mƩtodo onCreate() que hace lo necesario para mostrar la pantalla al usuario. Tal y como estƔ la actividad al crear el proyecto. Hace una llamada a setContentView(), que tiene como parƔmetro el identificador de una vista ya creada.
Por lo tanto, R.layout.main referencia a un archivo xml situado en la carpeta ./res/layout (ficheros de definición de pantalla).
Archivo ./res/layout/main.xml
En este archivo se define una pantalla en la que los elementos se agruparƔn de forma lineal (LinearLayout) y con un componente de texto (TextView). Al componente de texto le fijamos el texto a mostrar con la referencia@string/hello (valor del item en ./res/values/strings.xml)
Archivo ./res/values/strings.xml
Para que la aplicación funcione es necesario crear el AndroidManifest:
En este archivo se definen el paquete por defecto, datos de versión, icono (mediante una referencia). El nombre de la aplicación (otra referencia al fichero strings.xml). Despues se define el comportamiento de la aplicación. Se añaden dos filtros para que la actividad que definimos anteriormente sea usada como principal (android.intent.action.MAIN) y para que sea incluida en el menú de aplicaciones (android.intent.category.LAUNCHER)