jueves, 24 de enero de 2013

Primera aplicación Android desde Ubuntu

El post pasado vimos como instalar todo lo necesario para poder empezar a programar en Android. Esta vez crearemos nuestra primera aplicación que como no podía ser de otra forma será un “Hola Mundo”.
Lo primero que hacemos es iniciar nuestro Eclipse e indicarle el espacio de trabajo donde guardaremos todos nuestros proyectos.

En el menú superior vamos a File -> New -> Android Project. Aparecerá una pantalla para crear nuestro primer proyecto. Lo rellenamos de la siguiente forma:





Por un lado, le damos un nombre a nuestro proyecto. Indícamos La versión del SDK que utilizaremos. En este caso la 1.6, ya que para nuestro propósito sirve de sobra y nos garantiza una gran compatibilidad con bastantes dispositivos.



El último campo a rellenar es el “package name”, es el espacio de nombres de nuestra aplicación, en este caso será com.examples.holamundo
Finalmente, le damos a Finish y ya estará creada nuestra primera aplicación.




Las aplicaciones Android utilizan Java como lenguaje de programación el cuál es un lenguaje orientado a objetos. Por lo tanto es recomendable tener algún conocimiento de programación orientada a objetos, no hace falta que sea específicamente en Java, yo personalmente no empece en Java, fue en .NET y la transición a Java no fue difícil.

Os explico un poco sin llegar a profundizar que es lo que crea eclipse y que necesitamos saber por el momento.

Carpeta src: aquí irá el código fuente de nuestra aplicación, clases, métodos, etc... Como podéis ver se ha creado el espacio de nombres “com.examples.holamundo” dentro del cual tendremos nuestra primera clase que hereda de Activity, HolaMundoActivity.java. Activity, por decirlo de una forma poco técnica, es la clase que controlará cada una de las pantallas de nuestra aplicación, por una parte tendremos esta clase y por otra la pantalla, el diseño que ve el usuario.

Carpeta res: en esta están ubicados los recursos de la aplicación, imagenes, tipos de letra, estilos, cadenas de texto, pantallas... dentro de esta hay una serie de subcarpetas de las que os voy a hablar solo de dos hoy, drawable y layout.

Carpeta drawable: en esta carpeta se ubican sobre todo imagenes aunque se podrán añadir otros recursos que seguramente veremos más adelante. Si os fijais, no aparece como tal la carpeta drawable, sino drawable-hdpi, drawable-ldpi y drawable-mdpi. Cada una de estas carpetas se utilizará en función del tipo de pantalla que tenga el usuario: alta, media o baja densidad. Imaginaros que hacemos una imagen llamada fondo.png en sus tres versiones de alta, media y baja densidad. Colocamos cada una en su carpeta correspondiente y al hacer referencia en cualquier parte del código a “fondo” nosotros no tendremos que preocuparnos que versión utilizar, es Android el que sabe cual utilizar. Si sólo creais una versión de vuesta imagen y la colocais en la carpeta de alta densidad Android utilizará esta para cualquier tipo de resolución.

Nota:
algo similar ocurre con otros elementos como las traducciones o las pantallas de usuario (diseño en función de la orientación).


Al utilizar una imagen en Android no es necesario hacer referencia a su extensión y normalmente es mejor utilizar formato png aunque trabaja sin problema con otros jpg, gif.
Por último deciros que si teneis elementos que son comunes a cualquier resolución podéis crear la carpeta drawable y Android la encontrará sin problema.

Carpeta layout: Aquí es donde están las pantallas de usuario, aunque puede haber otros elementos como nuestros propios controles de usuario personalizados. Al crear la aplicación se creó el archivo main.xml que es donde mostraremos nuestro hola mundo.


Si hacemos doble click sobre el en la derecha del editor se abrirá el archivo en modo vista, pero podemos cambiar al modo código en las pestañas de abajo donde pone “main.xml”.

Como podéis ver no hace falta mucho para completar nuestra aplicación ya que por defecto se inserta una etiqueta con el texto Hello World, HolaMundoActivity. Vamos a cambiar esto y ver un poco la notación de Android.

En la pestaña main.xml podeis ver un sencillo ejemplo de la notación de una pantalla de usuario, se trata de un archivo xml el cual a mi me recuerda mucho a la notación HTML, en cuanto a que existe un elemento principal, en este caso el LinearLayout en el cual se agrupan el resto de controles, en nuestro caso un TextView.

Para cambiar el texto podeis poner directamente en el atributo android:text lo que queraís eliminando @string/hello o podemos ir a la carpeta values en src y editar el archivo strings.xml (se trata de otro archivo especial que almacena cadenas de texto). Al abrir este archivo debemos seleccionar en las pestañas de abajo la que pone “strings.xml”, y buscamos la etiqueta string con el atríbuto “name” hello y cambiamos el texto por el que nos de la gana. Si queréis añadir otra cadena podéis hacerlo simplemente copiando y pegando una etiqueta string y cambiando su “name” por el que necesiteis y el valor de su cadena de texto.

Antes de ejecutar la aplicación
Seguramente más de uno no podrá resistirse a añadir algún elemento más a la aplicación, de hecho os recomiendo trastear con los controles de Android para tener una primera toma de contacto con ellos.


Una vez hayais puesto vuestro hola mundo personalizado que más os guste, es el momento de ejecutar la aplicación y ver que todo funciona. Existen dos formas de probar la aplicación, en un emulador o en un dispositivo real. Yo normalmente hago las pruebas sobre un dispositivo real, la razón, rapidez, bastente rapidez. Cuando probéis el emulador os daréis cuenta.

Para ejecutar la aplicación estos son los primeres pasos comunes, en el menú superior vamos a run y luego run, también Ctrl + F11 o en la barra de herramientas superior la que tiene el icono verde en forma de “play”. La primera vez aparece una pantalla para preguntarnos como queremos ejecutar, en nuestro caso como aplicación Android y seguimos adelante.



Si no tenemos ningún emulador configurado nos preguntará si queremos crear uno, le decimos que si y nos presentará el AVD Manager. Le damos al botón New y nos presentará una pantalla donde podremos indicar la configuración de nuestra nueva maquina virtual, nombre, tenemos o no tarjeta SD, tamaño de la misma, versión de Android... El mio quedará como veís en la siguiente pantalla, lo más destacable es la versión de Android, la 2.2 compatible con GoogleMaps, la cuál nos quedará para poder lanzar bastantes ejemplos posteriores.



Una vez creado el dispositivo virtual volvemos a la pantalla previa donde seleccionamos que dispositivo ejecutar (si lo deseais podeis crear desde aquí tantos dispositivos diferentes como necesitéis, nunca está de más probar la aplicación en diferentes versiones de Android).

La primera vez no aparecerá nuestro dispositivo en la lista hasta que no pulsemos “Refresh”, una vez hecho esto pulsamos ok y ya podemos irnos a hacer la compra, al cine, de escapada de fin de semana, o lo que más os apetezca ya que es un proceso que suele tardar un ratillo, bueno, exagero un poco, pero solo un poco, no desesepereis no se ha quedado colgado el pc. Os recomiendo que no cerreis esta maquina mientras esteis programando, el resto de veces no tendréis que iniciarla, solo esperar el tiempo de compilación y ejecución. Una vez que ha arrancado, compilado e instalado podreís ver nuestra primera aplicación.




La instalación y ejecución en un terminal real lleva mucho menos trabajo, simplemente conectamos nuestro pc al dispositivo mediante una conexión usb. En el botón menú del escritorio vamos a Ajustes -> Aplicaciones -> Desarrollo y ahí activais depuración usb. Una vez hecho esto simplemente ejecutais la aplicación, os pregunta en que dispositivo quereis ejecutar la aplicación, seleccionais vuestro terminal y nos os vayais a ningún sitio porque ya debería aparecer en vuestra pantalla la aplicación.

Ejecución de la aplicación
En mi caso ejecutó directamente en mi móvil sin preguntarme si quería ejecutar ahí o en el dispositivo emulado. Si quereis ejecutar uno en concreto debéis hacer lo siguiente: en el menú superior de Eclipse, en Run vamos a Run configurations. En la pestaña Target seleccionáis la opción Manual en vez de la Automatic y aceptáis. Esto también sirve para la contrario, seleccionar de entre todos los dispositivos cual queréis que ejecute siempre vuestra aplicación.


Bueno, hasta aquí nuestra primera aplicación “HolaMundo”, en realidad en la parte de la aplicación hemos hecho bastante poco, pero nos ha servido para ir perdiendole el miedo a Android y para tener listo el entorno sobre el que trabajar en aplicaciones más complejas.
Espero os sirva de ayuda y no haberos aburrido mucho.

No hay comentarios:

Publicar un comentario