Android "Hola Mundo" a fondo y paso a paso! (Parte1)

Hola de nuevo!! ahora ya vamos a entrar en materia! ¡nos vamos a poner serios! Bienvenidos a otra nueva leccion del curso gratuito en www.AprendeAndroid.com Últimamente estoy viendo que hay muchas webs/blogs que se están apropiando de mi trabajo gratuitamente, pero en fin... espero que les salga un Grano en el culito de esos que no te dejan sentarte! ;P.

Este tema vamos a analizar a fondo nuestro "hola mundo". El objetivo de este tema es comprender el funcionamiento del programa, para que en el siguiente tema seamos capaces de modificarlo y añadirle un botón básico y darle mas funcionalidad, no te preocupes si ahora hay cosas que se te "escapen" es normal, ¡acabamos de empezar! solo ve familiarizándome con los componentes y que "te valla sonando todo".

Como vimos en el tema anterior, para una aplicación sencilla tenemos 4 partes obligatorias y básicas (src, drawable, layout, manifest) esto no quiere decir que sea lo unico, simplemente son los componentes mas basicos que vamos a tener que "tocar" para poder llebar a cabo una aplicacion Android sencilla.

Carpeta scr Android

Para este ejemplo tan básico, no tenemos mucho código aquí, tan solo tenemos el código que se añade automáticamente al crear un proyecto nuevo (el asistente de Eclipse lo hace todo) esta clase que se crea automaticamente la hemos llamado MainActivity.java, y basicamente contiene una línea en la que asociamos la Activity con el diseño de pantalla que hemos diseñado (la veras mas abajo main.xml). La aplicación, al iniciarse, lo primero que hace es leer el código que hay en esta clase, esto es asi, porque así lo especificamos al asistente cuando hacemos un proyecto nuevo (las adelante haremos un proyecto desde cero). Esa definicion, en la que especificamos que esta sea la pantalla principal (activity principal) y no otra, lo especificamos el fichero AndroidManifest.xml (veras mas abajo lo analizo) que si leiste las lecciones anteriores, es el encargado de definir todos estos detalles!! ;p

Eclipse, Java, Android

 

Conviene recordar, que Las actividades son las encargadas de mostrar las interfaces de usuario e interactuar con él, existen varios tipos de Activity, y segun nos convenga asi lo tendremos que hacer saber en nuestro codigo porque deberemos importar las instrucciones especificas de las Activity. Esto lo hacemos con con la instruccion que ponemos en la (línea 6) del ejemplo de arriba. Fíjate que cuando ponemos extends Activity lo que hacemos es decirle a la Actividad que estamos creando herede las instrucciones que vamos a usar especificas a una interface de usuario (clase Activity).
Lo siguiente importante que vemos es el Método OnCreate, esto es lo primero que se va a ejecutar cuando iniciemos la Activity, mas adelante explicare todos los estados que tiene una Activity (línea 9).
Por ultimo me queda decirle a Android, la pantalla que vamos a usar en esta Actividad, cuando ejecutamos la Activity el aspecto de la vista se aplica pasando un objeto tipo View al método Activity. setContentView(R.layout.main) fíjate en la (línea 11). Este método es el encargado de dibujar la pantalla. Es importante decir que por cada pantalla distinta habrá una Activity distinta y que como te dije antes, en el AndroidManifest se configura la primera Activity que se lanza al iniciar nuestra aplicación y todas las demas.

Drawable (res)
Aquí guardamos el icono de nuestra aplicación, tiene que tener una resolución concreta, para el caso de los iconos para aplicaciones es de 72x72 pixeles (yo uso el PhotoShop para cambiar resoluciones). Con el explorador de windows, lo arrastras aquí y listo!

Eclipse, Java, Android

Values (res)
En el tema anterior pase por encima esta carpeta, no es obligatorio, pero si queremos una aplicación con soporte a varios idiomas tenemos que usar esto, asi que como buena practica lo usaremos!. Aquí se guardan todas las cadenas de texto que usaremos en nuestra aplicación para los botones, cuadros de texto, mensajes a los usuarios... etc, la estructura es de ficheros xml, no te preocupes que no tiene nada, antes de este curso, no había usado para nada ninguna estructura xml y ahora.. estoy hecho un experto!! jajajaja como veras la estructura es sencilla, fíjate y veras!

Eclipse, Java, Android

Fíjate que cada línea y copias su estructura, es sencillo, son etiquetas que se abren y se cierran con una propiedad "name" que define el nombre de la clave y que usaremos para identificarla en las distintas partes del proyecto (como una abrebiatura del contenido), y luego escribimos el texto que queremos asignar a esa clave, y que aparecera en la aplicacion.

Layout (res)
Aquí tenemos una de las cosas mas importantes de las aplicaciones, los diseños de pantalla, su estructura también es de tipo xml no me quiero enrollar mucho aquí, en próximos temas hablaremos mas afondo de cada elemento, pero a grandes rasgos...
Línea 1. define el tipo de xml.
Línea 2. Define el elemento "Padre" LinearLayout que encierra nuestro elemento "hijo" de tipo TextView.
Línea 7. Define el elemento de texto que contendrá nuestro mensaje en la pantalla.
Línea 12. Cierra el elemento padre LinearLayout

Eclipse, Java, Android

La vista Gráfica nos permite comprobar como queda nuestro diseño, es bastante útil para previsualizar nuestros elementos, mas adelante veremos mas ejemplos de esto.

Eclipse, Java, Android

Eclipse, Java, Android

Eclipse, Java, Android

Por ultimo, me gustaría remarcar en el diseño de pantalla anterior, el elemento <TextView> tiene una propiedad android:text (linea10) en la que enlazamos el texto que queremos mostrar en la pantalla con el value.xml que vimos un poco mas arriba, también podemos escribir lo que queramos entre las comillas directamente. Mas adelante hablaremos de esto, pero ahora quiero que veas de donde biene todo, repito, no te agobies!.

El manifiesto Android (AndroidManifest.xml)
Todos los proyectos deben tener un archivo en la carpeta principal, de nombre AndroidManifest.xml en el que se detallan las características principales de la aplicación (Cada Activity se define aquí, los widgets, módulos principales, permisos necesarios, nombre de la app, icono de la app..). Vamos a analizar el código.

ejemplo android manifest.xml

Lo mas importante de este fichero lo voy a explicar aquí:
Línea 3. El paquete de la aplicación
Línea 4 y 5. Sirve para definir las versiones de nuestra app de cara a GooglePlay.
Línea 6. Se define el ICONO de nuestra app.
Línea 7. Se define el Activity, recuerda que cada Activity tiene asociado una pantalla, dentro de esta etiqueta en las líneas 9,10,11 y 12 definimos que esta Activity es la PRINCIPAL, la que vamos a usar como LAUNCHER.

Bueno, espero haber explicado claramente "Hola Mundo" espero que vaya quedando claro, pero repito, mas adelante iras dando luz a todo esto, no te preocupes, ahora es demasiado pronto y te notaras mas perdido que marco en los andes, pero es normal, yo a estas alturas sabia menos que tu, pero que mucho menos!! pero al final te enteraras!. En el siguiente tema, vamos a añadir un botón a la app y vamos a modificar el mensaje que mostramos en la pantalla, ya veras que interesante!. Nos leemos!!.

Si te a gustado este sitio, puedes hacer click en me gusta en Facebook, Google+, Tweeter... es el único precio que te pido por este trabajo! ;P. Compartiendo, ayudaras a otros a encontrar esta web! GRACIASSSS.