Coding: Conociendo el Desarrollo para aplicaciones Android (Parte III).

Por @RoberVs Roberto von Schoettler.

Continuación de la Parte II

Una vez preparada cualquier aplicación para ser probada, es necesario iniciar una Máquina Virtual de Android (AVD) para correr las aplicaciones. Para ello haremos lo siguiente:

Creamos una máquina virtual. Nos dirigimos a la barra de menú superior -> Window -> Android SDK and AVD manager:

testing01

Nos abrirá una ventana que nos muestra una lista de las máquinas virtuales disponibles. Si no tenemos ninguna, procedemos a crearla

testing02

Una ventana emergerá que nos permitirá fijar un nombre, la versión que tendrá el dispositivo y el tamaño en la memoria SD (opcional). En éste caso llamaremos la máquina virtual SrDroid2.2, de versión, Android 2.2 y la memoria SD podría fijarse de 512, con eso será suficiente.

testing03

Clic en “Create AVD”. Ahora, aparecerá en lista. La seleccionamos y damos clic a “Start…” Aparece una ventana de opciones, es recomendable que demos “check” a “Scale display to real size” y fijemos un tamaño de pantalla de 7 pulgadas.

testing04

Una vez hecho ésto, se iniciará nuestro emulador de Android:

testing05

En éste estado, la máquina virtual está lista para trabajar, damos clic derecho al proyecto “Test001” -> Run As -> Android Application:

testing06

Al correr la aplicación, podemos probar lo que hemos hecho. Si escribimos algo en el área de texto y le damos clic al botón, vemos que el TextView que se encuentra debajo cambia su texto por lo escrito en el área de texto.

Para hacer ésto más divertido, provoquemos un error. Comentemos la línea que relacionamos el botón declarado en la clase Java con el botón creado en main.xml por medio de su ID en R. Ésto provocará un error en tiempo de ejecución porque a la hora de asignar el evento OnClickListener, el botón no estará relacionado en la interfaz.

    ET = (EditText)findViewById(R.id.editText1);
    TV = (TextView)findViewById(R.id.textView1);
//  BTN = (Button)findViewById(R.id.button1);

Si corremos la aplicación nuevamente, nos encontraremos con ésto:

testing07

Así es como se manifiesta un error en tiempo de ejecución (Force Close, vete a bañar). Para saber qué salió mal, necesitamos la pestaña de “LogCat”. La buscamos en las Views, yendo al menú superior Window -> Show View -> Other

views01

Ahora desplegamos la carpeta Android y buscamos LogCat

testing08

Por medio de éste Log, podemos hacer seguimiento a lo que hace el emulador. Es ideal para detectar errores en tiempo de ejecución. Si corremos la aplicación una vez más y prestamos atención al Log, podemos ver como nos muestra el error en letras rojas. Si nos enfocamos en la línea que dice “Caused by:” nos dice “java.lang.NullPointerException”, donde haciendo doble clic en la línea que le sigue, nos mostrará qué provocó el error. Nos apunta a la línea en donde asignamos el evento OnClickListener al botón.

Con ésto termina éste tutorial que solo echa un vistazo a la programación para Android en el ambiente Eclipse, cubiertos los aspectos principales, es cuestión de investigación para extender lo aquí demostrado y hacer algo más grande.

Espero que les sea de utilidad :). No duden contactarme por Twitter.

Coding: Conociendo el Desarrollo para aplicaciones Android (Parte I).

Por @Rober_Vs Roberto von Schoettler.

Una vez que tengamos preparado el entorno de Eclipse, el ADT (Android Development Tools), el Android SDK (Software Development Kit) y el AVD Manager (Android Virtual Machine) para el desarrollo por medio de éste tutorial, podemos proceder a explorar las posibilidades que nos presenta Android.

1. Iniciamos Eclipse (en éste caso, usaré MOTODEV). Nos mostrará una ventana para elegir donde guardar los archivos de los proyectos:

Workspace

Luego nos mostrará su ventana de inicio, para empezar a trabajar, damos click en “Workbench” y allí nos mostrará el entorno de trabajo.

Workbench

2. Crear el nuevo proyecto. Nos dirigimos a la barra de menú superior:

menubar

Hacemos click en “File” -> “New” -> “Android Project”. En caso de no aparecer la opción de “Android Project”, nos dirigimos a “Other”

new01

Se abre una nueva ventana. Desplegamos la carpeta “Android” y damos click a “Android Project”

new02

Surge una ventana la cual nos pide datos del proyecto. Colocamos un nombre cualquiera, para éste tutorial usaré el nombre “Test001”.

new03

Más abajo debemos declarar bajo qué versión trabajaremos. Para mayor compatibilidad, generalmente se selecciona una versión no mayor a Android 2.2, para éste tutorial seleccionaremos Android 1.6. Procedemos a darle el nombre al paquete (Nota: el paquete debe tener al menos 2 identificadores: algo.algomas), en éste caso “com.test”, aunque pudiese haber sido “test.com” o “foo.fighters” o “red.hot.chili.peppers”.

new04

Click en “Finish”.

3. Empezando: Eclipse auto-generará carpetas y archivos para el proyecto. Para empezar nos enfocaremos en:

src: Donde se guardarán todos los archivos de código fuente.

gen: Carpeta que contiene la clase R.java, la cual se modifica automáticamente. Más adelante entenderemos un poco su función, el archivo en sí nos indica que no debe ser modificado manualmente.

/* AUTO-GENERATED FILE.  DO NOT MODIFY.
 *
 * This class was automatically generated by the
 * aapt tool from the resource data it found.  It
 * should not be modified by hand.
 */

res: Carpeta de recursos. Contiene las carpetas “drawable”, que es donde se guardarían íconos e imágenes contenidos en la aplicación, “layout” que serán las interfaces a usar y “values”, que serán valores que pueden ser usados como variables constantes (ej: strings) a utilizar en la app.

explanation

4. Interfaz: Empezaremos a crear la interfaz, para eso abrimos el archivo “main.xml”. Nos mostrará una pantalla negra para móvil que por defecto contendrá un LinearLayout con un TextView (mejor conocido como Label). Los LinearLayout pueden ser horizontales o verticales, son contenedores que resguardan sus componentes en una sola columna (para el caso del Vertical LinearLayout) o una sola fila (Horizontal).

Del costado izquierdo (Palette) desplegamos la carpeta “Layout” y agregamos un Horizontal LinearLayout. Ésto se hace estilo Drag & Drop (Mantener click sobre el componente, arrastrarlo adonde se desee y soltarlo).

layout01

De Palette, ahora desplegamos la carpeta “Text Fields”, agregamos un EditText sencillo y lo insertamos dentro del Horizontal LinearLayout.

layout02.

Desde Palette, desplegamos “Form Widgets” e insertamos un botón junto al EditText. Es el Horizontal LinearLayout quién nos permite colocarlos lado a lado (en una misma fila).

layout03

Ajustamos el tamaño del botón al gusto. Para cambiarle el texto, que diga otra cosa que no sea “Button”, o cualquier otra propiedad de cualquier componente tenemos 2 alternativas:

4.1 Conociendo los Views: En la barra de menú superior, click a Window -> Show View -> Other…

views01

Nos mostrará las diversas pestañas que podemos tener a disposición. Desplegamos la carpeta “General” y abrimos “Properties”. Automáticamente se agregará como pestaña al costado derecho junto a “Outline”

views02

Éste View nos muestra todas las propiedades del componente seleccionado, buscamos la propiedad “Text” y la cambiamos.

views03

(Nota: Las pestañas o Views, pueden ser colocadas en cualquier lado de acuerdo al gusto del consumidor, estilo Drag & Drop.)

4.2 Código XML: Justo debajo de las Palette podemos notar 2 pestañas “Graphical Layout” y “main.xml”. Hacemos click en “main.xml” para ir al código.

xml

Podemos observar todo lo que nos muestra la pantalla gráfica en código. Buscamos la línea en donde se declara el Botón y cambiamos la propiedad “android:text” que por defecto es igual a “Button”.

Por último, agregamos un TextView (Palette -> Form Widgets) debajo del EditText y el Botón.

layout04

Aquí culmina la primera parte de éste tutorial para conocer el entorno de desarrollo para Android. En la próxima parte, interactuaremos con los Activity que son las clases de Java que le dan vida a las interfaces. Continuaremos a partir de la interfaz aquí realizada.

Parte II

Preparándonos para desarrollar en Android

por @sergebruni.

Este documento es el primer paso de muchos para adentrarte a lo que hoy en dia tiene de nombre android. ¿Que es android? es el sistema operativo basado en GNU/Linux de Google diseñado principalmente para smartphones. El objetivo de este primer documento es en internalizar a los programadores con este OS, preparando el ambiente para trabajar con ANDROID y con un pequeño ejemplo.

Herramientas necesarias

Necesitaremos un Ambiente IDE, para ello utilizaremos Eclipse que es el recomendado por Google.

Eclipse IDE for Java Developers

Para trabajar con IDE de java necesitaremos su SDK. Para descargarlo es sencillo, ingresa al link presentado en el documento, seleccionas Java Platform SDK.

Java Platform JDK

- Android SDK

- ADT (Android Developer Tools o Herramientas de Desarrollo de Adroid) 

Preparando el Ambiente

Empezaremos con nuestro entorno IDE Eclipse. Se descargar el archivo comprimido y descomprimirlo en la carpeta de su selección (de preferencia dirección sin espacios en el nombre ejm: C:\Android...), y solo queda arrancar desde Eclipse.exe. Seguido de esto aparecerá una ventana solicitando el área de trabajo (Workspace) que gustes.

direccion de workspace

Java Platform JDK. Una vez descargado sencillamente se siguen los pasos del asistente del instalador, en los cuales se encuentran los tipos de instalación, ubicación. Al finalizar mostrara el mensaje de instalación exitosa de Oracle.

JDK

- El SDK una vez descargado seleccionamos o creamos la carpeta ubicación de mejor conveniencia (de preferencia dirección sin espacios en el nombre ejm: C:\Android\JDK…), en ella descomprimimos el archivo comprimido.

Iniciamos el SDK Manager esperamos a que cargue y aparecerá una nueva ventana mostrando los paquetes de Android para trabajar, recomiendo instalar solo los paquetes que se usan realmente, si seleccionan todos empezara a instalar todos los paquetes, esta instalación tardara.

- El ADT a diferencia de las otras herramientas, esta no se descarga como tal. Nos dirigimos a Eclipse y ubicamos el menú Help, se desplegara un sub-menú seleccionamos Install New Software.

Menu Help

Seleccionamos la opción Add… y es aquí donde introduciremos la dirección para descargar el plugin. De nombre colocan como deseen y la dirección es la siguiente:

http://dl-ssl.google.com/android/eclipse/

Nota: utilizar https si http da problemas y viceversa .

ADT

Continuamos, seleccionamos todo, aceptamos los términos y servicios de apache y finalizamos con la instalación.

Una vez hecho esto hay que indicarle a eclipse la ubicación del Android SDK para que funcione el ADT.

Ubicamos el menú Window, se desplegara un sub-menú y seleccionamos Preferences. Selecciona la categoría Android y ubicamos la locación de la carpeta donde descomprimimos el Android SDK.

Preferences MenuSDK path

(si siguieron la recomendación seria: C:\Android\JDK\android-sdk-windows).

Nota: Si por alguna razón el Eclipse no detecta el SDK haremos lo siguiente.

Mi PC -> Propiedades -> Opciones Avanzadas -> Variables de entorno.

Ubicamos Variables de Sistema y seleccionamos la variable Path para modificar, sin tocar el contenido ya incluido nos vamos al final de la línea y separando con “punto y coma” (;) pegamos la dirección de la carpeta tools que está dentro de la carpeta de Android SKD.Ejemplo: C:\Android\SDK\android-sdk_r12-windows\android-sdk-windows\tools
Variables de sistema - path

Hola Mundo!

Si seguiste todos los pasos ya podrás empezar la creación de aplicaciones android, pero no podemos despedirnos sin el clásico Hola Mundo!.

En realidad no te enseñare como hacerlo porque al iniciar un proyecto nuevo, viene por defecto nuestro clásico mensaje de inicio Hola Mundo!, lo que haremos nosotros será jugar un poco con eso.

Empezamos con la creación de nuestro primer proyecto 

File -> New ->Project…

Nos aparecerá una ventana con la opción Android Project, y empezamos.

Project Name: será el nombre de la ubicación donde estará nuestra app.

Build Target: será la versión mínima de nuestra app.

ApplicationName: será el nombre de nuestra app.

PackageName: será el nombre de paquete.

CreateActivity: llamamos Activities al tipo de cosas que el usuario puede hacer.

Comprobaremos que todo está bien antes de seguir, en Package Explorer hacemos click derecho sobre nuestro proyecto y seleccionamos Run as… ->AndroidApplication.

Como no tenemos ninguna máquina virtual creada, nos solicitara crear una. 

Seleccionamos new… 

Yo cree una máquina virtual versión android 2.2 ustedes son libres de crear la que mas le guste. Luego de eso se cargara nuestra máquina virtual, tardara un poco la primera vez mientras se configura. Aquí podremos ver nuestra aplicación con el icono default.

Si la seleccionamos podrán ver “HelloWorld”.

Es hora de jugar, en Package Explorer abrimos la carpeta res, en ella hay una carpeta values la cual copiaremos y pegaremos en la misma carpeta res. Seguido de esto les cambiaremos el nombre a values-es y values-en. Ahora modificaremos el contenido de values-es “strings.xml”. Entrando en la pestaña resources estará nuestro mensaje HelloWorld el cual cambiaremos por Hola Mundo.

strings.xml

Qué curioso, una carpeta values-en y values-es… ¿Por qué esto así? Esto hará que el OS detecte los diferentes valores y dependiendo del lenguaje de nuestro dispositivo mostrara el mensaje en un idioma diferente.

Para cambiar el lenguaje del emulador:

Botón Menú -> Configuración/Configuration -> Idiomas y Texto/Lenguages and Text.

Gracias por su atención, estén atentos a las próximas yucas sobre desarrollo de aplicaciones en Android.