Vous êtes sur la page 1sur 53

Curso: "Desarrollo de Aplicaciones en Android" 2012

AUTOR: Andrs Guzmn Fontecilla.


Email: andresguzf@gmail.com
WEB: http://www.bolsadeideas.com
LICENCIA: http://creativecommons.org/licenses/by-nc/2.5
1







Primeros Pasos con Android - Parte I
Mdulo 1 / 2
Todos los logos y marcas utilizados
en este documento, estn registrados y
pertenecen a sus respectivos dueos.
Curso: "Desarrollo de Aplicaciones en Android" 2012

AUTOR: Andrs Guzmn Fontecilla.
Email: andresguzf@gmail.com
WEB: http://www.bolsadeideas.com
LICENCIA: http://creativecommons.org/licenses/by-nc/2.5
2

Introduccin
Android es un sistema operativo mvil basado en Linux, que junto con aplicaciones middleware, est
enfocado para ser utilizado en dispositivos mviles como telfonos inteligentes, tabletas, Google TV
y otros dispositivos. El SDK de Android proporciona las herramientas y APIs necesarias para
empezar a desarrollar aplicaciones en la plataforma Android usando el lenguaje de programacin
Java.
Cuando creamos un nuevo proyecto Android en Eclipse se genera automticamente la estructura de
carpetas necesaria para poder generar posteriormente la aplicacin. Esta estructura ser comn a
cualquier aplicacin, independientemente de su tamao y complejidad.
En la siguiente imagen vemos los elementos creados inicialmente para un nuevo proyecto Android:

Describamos los elementos principales.
Carpeta /src/
Contiene todo el cdigo fuente de la aplicacin, cdigo de la interfaz grfica, clases auxiliares, etc.
Inicialmente, Eclipse crear por nosotros el cdigo bsico de la pantalla (Activity) principal de la
aplicacin, siempre bajo la estructura del paquete java definido.


Curso: "Desarrollo de Aplicaciones en Android" 2012

AUTOR: Andrs Guzmn Fontecilla.
Email: andresguzf@gmail.com
WEB: http://www.bolsadeideas.com
LICENCIA: http://creativecommons.org/licenses/by-nc/2.5
3

Carpeta /res/
Contiene todos los archivos de recursos necesarios para el proyecto: imgenes, vdeos, cadenas de
texto, layouts etc. Los diferentes tipos de recursos de debern distribuir entre las siguientes carpetas:
/res/drawable/. Contienen las imgenes de la aplicacin. Se puede dividir en /drawable-ldpi,
/drawable-mdpi y /drawable-hdpi para utilizar diferentes recursos dependiendo de la
resolucin del dispositivo.
/res/layout/. Contienen los ficheros de definicin de las diferentes pantallas de la interfaz
grfica. Se puede dividir en /layout y /layout-land para definir distintos layouts dependiendo de
la orientacin del dispositivo.
/res/anim/. Contiene la definicin de las animaciones utilizadas por la aplicacin.
/res/menu/. Contiene la definicin de los mens de la aplicacin.
/res/values/. Contiene otros recursos de la aplicacin como por ejemplo cadenas de texto
(strings.xml), estilos (styles.xml), colores (colors.xml), etc.
/res/xml/. Contiene los ficheros XML utilizados por la aplicacin.
/res/raw/. Contiene recursos adicionales, normalmente en formato distinto a XML, que no se
incluyan en el resto de carpetas de recursos.
Como ejemplo, para un proyecto nuevo Android, se crean los siguientes recursos para la aplicacin:


Curso: "Desarrollo de Aplicaciones en Android" 2012

AUTOR: Andrs Guzmn Fontecilla.
Email: andresguzf@gmail.com
WEB: http://www.bolsadeideas.com
LICENCIA: http://creativecommons.org/licenses/by-nc/2.5
4

Carpeta /gen/
Contiene una serie de elementos de cdigo generados automticamente al compilar el proyecto.
Cada vez que generamos nuestro proyecto, el compilador de Android genera por nosotros el archivo
R.java que contiene las referencias a los recursos de la aplicacin, este no debe ser modificado
manualmente.

El archivo R.java es el que se puede observar en la imagen que contiene a la clase R.
Esta clase R contendr en todo momento una serie de constantes con los ID de todos los recursos
de la aplicacin incluidos en la carpeta /res/, de forma que podamos acceder fcilmente a estos
recursos desde nuestro cdigo. As, por ejemplo, la constante R.drawable.icon contendr el ID de la
imagen icon.png contenida en la carpeta /res/drawable/. Veamos como ejemplo la clase R creada
por defecto para un proyecto:
package com.ejemplo.holaandroid;

public final class R {
public static final class attr {
}
public static final class drawable {
public static final int ic_launcher=0x7f020000;
}
public static final class id {
public static final int button1=0x7f050000;
}
public static final class layout {
public static final int main=0x7f030000;
public static final int main2=0x7f030001;
}
public static final class string {
public static final int app_name=0x7f040001;
public static final int app_name2=0x7f040003;
public static final int hello=0x7f040000;
public static final int hello2=0x7f040002;
}
}
Curso: "Desarrollo de Aplicaciones en Android" 2012

AUTOR: Andrs Guzmn Fontecilla.
Email: andresguzf@gmail.com
WEB: http://www.bolsadeideas.com
LICENCIA: http://creativecommons.org/licenses/by-nc/2.5
5

Fichero AndroidManifest.xml
Contiene la definicin en XML de los aspectos principales de la aplicacin, como por ejemplo su
identificacin (nombre, versin, icono, etc.), sus componentes (pantallas, mensajes,etc), o los
permisos necesarios para su ejecucin. Veremos ms adelante ms detalles de este archivo.

Curso: "Desarrollo de Aplicaciones en Android" 2012

AUTOR: Andrs Guzmn Fontecilla.
Email: andresguzf@gmail.com
WEB: http://www.bolsadeideas.com
LICENCIA: http://creativecommons.org/licenses/by-nc/2.5
6

Objetivos
En este primer mdulo y primera parte, vamos a aprender cmo instalar y configurar el entorno para
desarrollar con Android, paso a paso, luego veremos cmo construir una simple aplicacin Hola
Mundo para Android. El objetivo de esta sesin no es entregar todos los detalles de Android, ms
que nada exponer los pasos involucrados que hay que tener en cuenta en la construccin de
cualquier aplicacin tpica de Android.
Entonces resumiendo veremos algunos ejemplos paso a paso para iniciarnos en Android, lo ms
simple posible con un "Hola Mundo". A pesar de su simplicidad, utilizaremos todas las piezas
necesarias que componen una tpica aplicacin de Android.

Curso: "Desarrollo de Aplicaciones en Android" 2012

AUTOR: Andrs Guzmn Fontecilla.
Email: andresguzf@gmail.com
WEB: http://www.bolsadeideas.com
LICENCIA: http://creativecommons.org/licenses/by-nc/2.5
7

Ejercicio 1: Construir y ejecutar un "Hola Mundo" con Android (usando Eclipse IDE)

1. Crear un nuevo Proyecto Android.
Seleccionar File->New->Other (o File->New->Android Project si puedes ver el
Android Project desde el menu 2 nivel).


Curso: "Desarrollo de Aplicaciones en Android" 2012

AUTOR: Andrs Guzmn Fontecilla.
Email: andresguzf@gmail.com
WEB: http://www.bolsadeideas.com
LICENCIA: http://creativecommons.org/licenses/by-nc/2.5
8

O bien por File->New->Other

Seleccionamos Android->Android Project, clic Next

Curso: "Desarrollo de Aplicaciones en Android" 2012

AUTOR: Andrs Guzmn Fontecilla.
Email: andresguzf@gmail.com
WEB: http://www.bolsadeideas.com
LICENCIA: http://creativecommons.org/licenses/by-nc/2.5
9

2. Creando al aplicacin con los detalles y datos
Para el nombre del Proyecto (Project name field), ingresamos HolaAndroid (o bien el
nombre que queramos poner). Clic Next

Para el Build Target, marcamos Android 2.2 (ya tenemos creado el AVD para Android
2.2). Clic Next.

Curso: "Desarrollo de Aplicaciones en Android" 2012

AUTOR: Andrs Guzmn Fontecilla.
Email: andresguzf@gmail.com
WEB: http://www.bolsadeideas.com
LICENCIA: http://creativecommons.org/licenses/by-nc/2.5
10

Para el campo Application name, ingrese Hola, Android (u otro a eleccin)
Para el campo Package name, ingrese com.ejemplo.holaandroid (com.bolsadeideas
u otro a eleccin).
Para el campo Create Activity, ingrese HolaAndroid.
Clic Finish



Curso: "Desarrollo de Aplicaciones en Android" 2012

AUTOR: Andrs Guzmn Fontecilla.
Email: andresguzf@gmail.com
WEB: http://www.bolsadeideas.com
LICENCIA: http://creativecommons.org/licenses/by-nc/2.5
11

A continuacin daremos una breve descripcin de cada uno de los campo requeridos en la
creacin de un nuevo proyecto Android, visto recientemente ms arriba.

Project Name
Este es el nombre del proyecto Eclipse, un directorio con este nombre se crear en el espacio
de trabajo o workspace. Este directorio contiene los archivos del proyecto.

Build Target
Notamos que el "Build Target" selecciona la plataforma de Android, en nuestro caso
seleccionamos la 2.2. Por lo tanto la aplicacin ser compilada con el API de plataforma
Android 2.2. La versin del Build Target y el AVD que ejecutar el programa no tienen que
coincidir o ser las mismas, las aplicaciones de Android son compatibles hacia atrs, por lo que
una aplicacin construida con plataforma 3.0 funcionar en una 2.2 y no al revs.

Application Name
Este es el ttulo (legible por humanos) para la aplicacin - el nombre que aparecer en el
dispositivo Android.

Package Name
Este es el package o paquete (siguiendo las mismas reglas que los package de Java) es el
lugar o espacio donde estarn nuestras clase de android, como por ejemplo la clase Activity
generada al crear el proyecto.

Create Activity
Este es el nombre de la clase principal que ser generada por el plug-in. Esta ser una
subclase de la clase Activity de Android. Una actividad (Activity) es simplemente una clase
que puede ejecutar y realizar el trabajo, es como la clase con el mtodo main de java.

Min SDK Version
Este valor especifica el nivel mnimo de API en el que la aplicacin estar habilitada para
ejecutarse. Es un valor entero que identifica de forma exclusiva la revisin del API que ofrece
la versin de la plataforma Android. Para obtener ms informacin, ver Niveles de API
Android.

Curso: "Desarrollo de Aplicaciones en Android" 2012

AUTOR: Andrs Guzmn Fontecilla.
Email: andresguzf@gmail.com
WEB: http://www.bolsadeideas.com
LICENCIA: http://creativecommons.org/licenses/by-nc/2.5
12

3. Construir y ejecutar la aplicacin
Clic Derecho sobre el proyecto HolaAndroid y seleccionar Run As->Android
Application. (O bien seleccionar Run As->Android Application desde el men de
arriba.)

4. Observe que aparece el emulador de Android.
El plugins de Eclipse crea una nueva configuracin para el proyecto y luego ejecuta el
emulador de Android. Dependiendo de nuestro entorno y mquina, el emulador podra
tomar unos buenos minutos en arrancar, asique un poco de paciencia.
Curso: "Desarrollo de Aplicaciones en Android" 2012

AUTOR: Andrs Guzmn Fontecilla.
Email: andresguzf@gmail.com
WEB: http://www.bolsadeideas.com
LICENCIA: http://creativecommons.org/licenses/by-nc/2.5
13



Curso: "Desarrollo de Aplicaciones en Android" 2012

AUTOR: Andrs Guzmn Fontecilla.
Email: andresguzf@gmail.com
WEB: http://www.bolsadeideas.com
LICENCIA: http://creativecommons.org/licenses/by-nc/2.5
14


Observe el resultado.

Curso: "Desarrollo de Aplicaciones en Android" 2012

AUTOR: Andrs Guzmn Fontecilla.
Email: andresguzf@gmail.com
WEB: http://www.bolsadeideas.com
LICENCIA: http://creativecommons.org/licenses/by-nc/2.5
15

5. Observe la consola, si no aparece en la parte inferior del IDE: clic en el men superior en
Window->Show View->Console.







Curso: "Desarrollo de Aplicaciones en Android" 2012

AUTOR: Andrs Guzmn Fontecilla.
Email: andresguzf@gmail.com
WEB: http://www.bolsadeideas.com
LICENCIA: http://creativecommons.org/licenses/by-nc/2.5
16

Posibles Problemas 1: Si la aplicacin no se despliega automticamente en el emulador:

Esperamos hasta que el ActivityManager haya ejecutado el Intent, luego hacemos clic en el men
del emulador, arrastrando hacia la derecha:

Curso: "Desarrollo de Aplicaciones en Android" 2012

AUTOR: Andrs Guzmn Fontecilla.
Email: andresguzf@gmail.com
WEB: http://www.bolsadeideas.com
LICENCIA: http://creativecommons.org/licenses/by-nc/2.5
17

Posibles Problemas 2: Si no aparece de ninguna forma la aplicacin en el emulador, clic en Home,
luego clic sobre un icono que esta abajo en el medio (Matriz de cuadrados pequeos), clic sobre
nuestra aplicacin Hola Android.


Curso: "Desarrollo de Aplicaciones en Android" 2012

AUTOR: Andrs Guzmn Fontecilla.
Email: andresguzf@gmail.com
WEB: http://www.bolsadeideas.com
LICENCIA: http://creativecommons.org/licenses/by-nc/2.5
18

Estudiar y analizar la aplicacin HolaAndroid
Una tpica aplicacin de Android tiene los siguientes componentes. En ste ejercicio, vamos a
explorar a cada uno de esos componentes uno por uno. (Luego veremos los detalles de cada uno de
ellos durante todo el curso.)
La clase Activity podra haber ms de una actividad dentro de una aplicacin Android.
El archivo xml layout cada pantalla tpicamente tiene su propio archivo XML layout.
AndroidManifest.xml hay uno solo por aplicacin, son configuraciones principales.
strings.xml Uno solo por aplicacin, aqu se definen los textos o string
parametrizados.
Archivo R.java- generado automticamente por Android.

1. Estudiar la clase Activity HolaAndroid.java.
Observamos a simple vista que la clase HolaAndroid hereda o extiende de la clase
Activity. Una Activity es una entidad nica que es usada para ejecutar acciones o
tareas.
Las actividades (activities) representan el componente principal de la interfaz grfica de
una aplicacin Android. Se puede pensar en una actividad como el elemento anlogo a
una ventana en cualquier otro lenguaje visual.
Pueden haber ms de una actividad en una aplicacin, pero el usuario final siempre
interacta con una sola a la vez.
El mtodo onCreate() ser ejecutado por Android cuando comience una actividad, aqu
se suele programar todas las inicializaciones relacionadas con la interfaz de usuario y
detalles del layout o UI setup.
Una Actividad no siempre requiere tener una interfaz de usuario o layout asociada,
aunque la mayoras de las veces si.

Curso: "Desarrollo de Aplicaciones en Android" 2012

AUTOR: Andrs Guzmn Fontecilla.
Email: andresguzf@gmail.com
WEB: http://www.bolsadeideas.com
LICENCIA: http://creativecommons.org/licenses/by-nc/2.5
19

Doble clic en HolaAndroid.java bajo HolaAndroid ->com.ejemplo.holaandroid.
Observe que la clase HolaAndroid.java es desplegada en el editor de cdigo de
Eclipse.


Curso: "Desarrollo de Aplicaciones en Android" 2012

AUTOR: Andrs Guzmn Fontecilla.
Email: andresguzf@gmail.com
WEB: http://www.bolsadeideas.com
LICENCIA: http://creativecommons.org/licenses/by-nc/2.5
20

Movemos el cursor hacia "Activity" con un clic y esperamos un par de Segundo para
que aparezca la documentacin anexada a la clase Activity. (Se recomienda como
parte del curso usar esta funcionalidad del IDE Eclipse para estudiar cualquier API y
componente de Android para ir complementando con los temas del curso y ejemplos.).


Curso: "Desarrollo de Aplicaciones en Android" 2012

AUTOR: Andrs Guzmn Fontecilla.
Email: andresguzf@gmail.com
WEB: http://www.bolsadeideas.com
LICENCIA: http://creativecommons.org/licenses/by-nc/2.5
21

2. Estudiar el archivo de recurso XML layout en modo grfico
Cada pantalla tiene su propio archive de layout (a menos que ste sea creado
programticamente, con cdigo). En el ejemplo Hola Android, tambin cuenta con un
layout, ya que solo tiene una sola pantalla o Actividad, por lo tanto hay un solo archivo
xml layout, ste es nombrado cmo main.xml.
Expandir HolaAndroid->res->layout.
Doble clic en main.xml (o clic derecho y seleccionar Open). El archivo de layout
main.xml puede ser desplegado en modo grafico o bien en cdigo fuente xml. Si no
aparece en forma automtica el editor grfico, clic sobre la pestaa Graphical Layout
abajo del editor, que es la opcin para ver en modo grafico.


Curso: "Desarrollo de Aplicaciones en Android" 2012

AUTOR: Andrs Guzmn Fontecilla.
Email: andresguzf@gmail.com
WEB: http://www.bolsadeideas.com
LICENCIA: http://creativecommons.org/licenses/by-nc/2.5
22

3. Ver y estudiar el cdigo fuente XML del archive layout main.xml.
Clic en pestaa main.xml.
Observe el layout main.xml que es desplegado en el editor de cdigo en modo xml.


Curso: "Desarrollo de Aplicaciones en Android" 2012

AUTOR: Andrs Guzmn Fontecilla.
Email: andresguzf@gmail.com
WEB: http://www.bolsadeideas.com
LICENCIA: http://creativecommons.org/licenses/by-nc/2.5
23

4. Estudiar AndroidManifest.xml
Antes del que el sistema de Android pueda iniciar un componente, por ejemplo una Actividad
(Activity), este debe saber cada uno de los componentes existentes. Por lo tanto, la aplicacin
declara sus componentes en un archivo manifiesto (manifest) el cul viene incluido dentro del
proyecto y parte del paquete de Android.
El archive manifiesto tiene una estructura en XML y es nombrado por defecto cmo
AndroidManifest.xml (es igual en cualquier aplicacin Android). Una de las funciones que tiene es
declarar cada componente de la aplicacin, tales como nombres y libreras que se van a requerir
(fuera de las libreras que vienen con Android SDK), adems de configurar cada permiso dentro de la
aplicacin, autorizacin accesos etc.
Por lo tanto la funcin principal del manifiesto es informar a Android sobre todos los componentes,
tal cmo se explico anteriormente. En este ejemplo, tendremos un solo componente, nada ms,
sera la Actividad HolaAndroid.
Doble clic sobre AndroidManifest.xml.
Observe que se muestra el xml AndroidManifest.xml, en modo wizard.

Curso: "Desarrollo de Aplicaciones en Android" 2012

AUTOR: Andrs Guzmn Fontecilla.
Email: andresguzf@gmail.com
WEB: http://www.bolsadeideas.com
LICENCIA: http://creativecommons.org/licenses/by-nc/2.5
24

Clic sobre la pestaa AndroidManifest.xml y observe que el archivo se muestra en
formato XML.
Observamos que esta aplicacin de ejemplo contiene una nica actividad (Activity)
llamada .HolaAndroid.

La etiqueta XML <activity> tiene el atributo name que corresponde al nombre de la
Actividad (Activity) es decir de una sub-clase que herede de la clase Activity de
Android. En el ejemplo de arriba, el valor es asignado a ".HolaAndroid".
El paquete (package), com.ejemplo.holaandroid, y el nombre de la Actividad,
.HolaAndroid.
Entre ambos construyen la ruta complete hacia la clase Activity,
com.ejemplo.holaandroid.HolaAndroid.

Curso: "Desarrollo de Aplicaciones en Android" 2012

AUTOR: Andrs Guzmn Fontecilla.
Email: andresguzf@gmail.com
WEB: http://www.bolsadeideas.com
LICENCIA: http://creativecommons.org/licenses/by-nc/2.5
25

Los atributos icon y label apuntan a los archivos de recursos que contienen un icono y
la etiqueta (tituo de la aplicacin) que se mostrar al usuario para representar la
Actividad o programa.
En el xml manifest el elemento <activity> puede contener el sub-elemento <intent-
filter>, a su vez con sus propios sub-elementos <action
android:name="android.intent.action.MAIN" /> y <category
android:name="android.intent.category.LAUNCHER" /> los cules especifica y
configuran a que esta Actividad es la principal con la que arranca cuando inicia el
programa. Usando una comparativa con el lenguaje Java, el mtodo onCreate() de la
Actividad (Activity) correspondera al mtodo "main" de una aplicacin Java. Metodo
principal de arranque o Bootsrpaing.
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.ejemplo.holaandroid"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk android:minSdkVersion="8" />

<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:name=".HolaAndroid"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>

</manifest>


Curso: "Desarrollo de Aplicaciones en Android" 2012

AUTOR: Andrs Guzmn Fontecilla.
Email: andresguzf@gmail.com
WEB: http://www.bolsadeideas.com
LICENCIA: http://creativecommons.org/licenses/by-nc/2.5
26

5. Estudiar el archivo XML string.xml
El archivo strings.xml es donde se definen todos los textos de nuestra aplicacin, la
idea es parametrizar en un solo archivo y luego lo utilizamos haciendo referencia a
ellos. As que en lugar de utilizar los textos en forma directa en la programacin (en
duro) lo hacemos de forma ms parametrizable, elegante y reutilizable desde el archivo
strings.xml y luego se refiere a l utilizando el nombre de la cadena.
Expandir HolaAndroid->res->values.
Doble clic en strings.xml.
Observe que aparece strings.xml en modo wizard.


Curso: "Desarrollo de Aplicaciones en Android" 2012

AUTOR: Andrs Guzmn Fontecilla.
Email: andresguzf@gmail.com
WEB: http://www.bolsadeideas.com
LICENCIA: http://creativecommons.org/licenses/by-nc/2.5
27

Clic sobre la pestaa de abajo strings.xml para visualizar el fuente.
Observe que strings.xml se muestra en formato XML.
Observe que tenemos 2 elementos string "hello" y "app_name" - son definidos en el
strings.xml automticamente por y para la aplicacin.

Estudiar el archivo R.java.
El archivo del proyecto R.java es donde se registran todos los recursos de nuestra
aplicacin, de los diferentes archivos de recursos.
Por ejemplo, tenemos los archivos de recursos mencionados anteriormente como el
layout - main.xml y el strings.xml. Usamos esta clase en nuestro cdigo fuente
(Generalmente en una Actividad) cmo una va de atajo para acceder y referirnos a los
recursos de nuestro proyecto.
Curso: "Desarrollo de Aplicaciones en Android" 2012

AUTOR: Andrs Guzmn Fontecilla.
Email: andresguzf@gmail.com
WEB: http://www.bolsadeideas.com
LICENCIA: http://creativecommons.org/licenses/by-nc/2.5
28

Todo esto acompaado de la ponderosa funcionalidad de Eclipse: el auto completacin
de cdigo que permite localizar de forma rpida e interactiva las referencias especficas
que estemos buscando o necesitemos implementar.
Es posible que el R.java se vea algo diferente de la que se muestra a continuacin (tal
vez los valores hexadecimales sean diferentes). Por ahora, fjese en la clase interna
llamada "layout", y su atributo " main".
El plug-in de Eclipse se da cuenta de el archivo XML layout main.xml y genera una
clase para este. Si agregamos por ejemplo un nuevo string en el strings.xml
res/values/strings.xml file) veremos los cambios reflejados en el archivo R.java
automticamente.
Nunca se debe editar manualmente el archivo R.java.


Curso: "Desarrollo de Aplicaciones en Android" 2012

AUTOR: Andrs Guzmn Fontecilla.
Email: andresguzf@gmail.com
WEB: http://www.bolsadeideas.com
LICENCIA: http://creativecommons.org/licenses/by-nc/2.5
29

Ejercicio 2: Modificar la aplicacin Hola Android
1. Modificar el archivo strings.xml, tal como se muestra a continuacin.
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello">Hola Mundo, Nuestra aplicacin Hola Android!</string>
<string name="app_name">Mi primera Aplicacin con Android</string>
</resources>



Curso: "Desarrollo de Aplicaciones en Android" 2012

AUTOR: Andrs Guzmn Fontecilla.
Email: andresguzf@gmail.com
WEB: http://www.bolsadeideas.com
LICENCIA: http://creativecommons.org/licenses/by-nc/2.5
30

2. Ejecutamos la aplicacin.

3. Observe que Eclipse IDE nos preguntar si queremos guardar los cambios, siempre y cuando
no hemos guardado los cambios anteriormente.
4. Clic Yes.


Curso: "Desarrollo de Aplicaciones en Android" 2012

AUTOR: Andrs Guzmn Fontecilla.
Email: andresguzf@gmail.com
WEB: http://www.bolsadeideas.com
LICENCIA: http://creativecommons.org/licenses/by-nc/2.5
31

5. Observe que se ejecuta el emulador de Android con nuestra aplicacin usando los nuevos
textos modificados para el nombre y el ttulo de la aplicacin.


Curso: "Desarrollo de Aplicaciones en Android" 2012

AUTOR: Andrs Guzmn Fontecilla.
Email: andresguzf@gmail.com
WEB: http://www.bolsadeideas.com
LICENCIA: http://creativecommons.org/licenses/by-nc/2.5
32

6. Modificar el string.xml agregando nuevos strings.
Agregamos dos nuevos strings (aparecen en rojo y negrita) y luego guardamos.
<?xml version="1.0" encoding="utf-8"?>
<resources>

<string name="hello">Hola Mundo, Nuestra aplicacin Hola Android!</string>
<string name="app_name">Mi primera Aplicacin con Android</string>
<string name="hello2">Otro saludo Hola Mundo para nuestra aplicacin Hola Android</string>
<string name="app_name2">Mi primera Aplicacin con Android parte dos</string>
</resources>



Curso: "Desarrollo de Aplicaciones en Android" 2012

AUTOR: Andrs Guzmn Fontecilla.
Email: andresguzf@gmail.com
WEB: http://www.bolsadeideas.com
LICENCIA: http://creativecommons.org/licenses/by-nc/2.5
33

7. Usamos el Nuevo string agregado en el TextView del layout main.xml.
Modificamos el main.xml y Save.


Curso: "Desarrollo de Aplicaciones en Android" 2012

AUTOR: Andrs Guzmn Fontecilla.
Email: andresguzf@gmail.com
WEB: http://www.bolsadeideas.com
LICENCIA: http://creativecommons.org/licenses/by-nc/2.5
34

8. Luego usamos el nuevo string agregado para el label o ttulo de la aplicacin.
Modificamos AndroidManifest.xml en Activity y Save.


Curso: "Desarrollo de Aplicaciones en Android" 2012

AUTOR: Andrs Guzmn Fontecilla.
Email: andresguzf@gmail.com
WEB: http://www.bolsadeideas.com
LICENCIA: http://creativecommons.org/licenses/by-nc/2.5
35

Ejecutamos la aplicacin con los nuevos cambios.

Observe que los nuevos textos son desplegados en la aplicacin.

Curso: "Desarrollo de Aplicaciones en Android" 2012

AUTOR: Andrs Guzmn Fontecilla.
Email: andresguzf@gmail.com
WEB: http://www.bolsadeideas.com
LICENCIA: http://creativecommons.org/licenses/by-nc/2.5
36

9. Agregando otro TextView en el layout "main.xml" y guardamos con Save (lo hacemos con
copy y paste del anterior).


Curso: "Desarrollo de Aplicaciones en Android" 2012

AUTOR: Andrs Guzmn Fontecilla.
Email: andresguzf@gmail.com
WEB: http://www.bolsadeideas.com
LICENCIA: http://creativecommons.org/licenses/by-nc/2.5
37

Ejecutamos la aplicacin con run.


Curso: "Desarrollo de Aplicaciones en Android" 2012

AUTOR: Andrs Guzmn Fontecilla.
Email: andresguzf@gmail.com
WEB: http://www.bolsadeideas.com
LICENCIA: http://creativecommons.org/licenses/by-nc/2.5
38

10. Agregando un nuevo layout
Creamos un nuevo layout, main2.xml, copiando desde el existente main.xml.
Clic derecho sobre main.xml -> Copy


Curso: "Desarrollo de Aplicaciones en Android" 2012

AUTOR: Andrs Guzmn Fontecilla.
Email: andresguzf@gmail.com
WEB: http://www.bolsadeideas.com
LICENCIA: http://creativecommons.org/licenses/by-nc/2.5
39



11. Agregando un botn en el layout recin creado "main2.xml".
Doble clic en main2.xml para abrirlo en el editor.
Clic en la pestaa layout para mostrar en modo grfico.


Curso: "Desarrollo de Aplicaciones en Android" 2012

AUTOR: Andrs Guzmn Fontecilla.
Email: andresguzf@gmail.com
WEB: http://www.bolsadeideas.com
LICENCIA: http://creativecommons.org/licenses/by-nc/2.5
40

Arrastramos el botn (lo encontramos bajo Form Widgets) para ubicarlo en el layout,
donde, justo debajo del ultimo TextView.

Observamos que el botn aparece justo debajo del ultimo texto y lleva el nombre por
defecto de Button y nos genera un id para el boton.
Guardamos los cambios.

Curso: "Desarrollo de Aplicaciones en Android" 2012

AUTOR: Andrs Guzmn Fontecilla.
Email: andresguzf@gmail.com
WEB: http://www.bolsadeideas.com
LICENCIA: http://creativecommons.org/licenses/by-nc/2.5
41

Clic en la pestaa main2.xml para verlo en modo XML.

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >

<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello2" />

<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello" />

<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button" />

</LinearLayout>
Curso: "Desarrollo de Aplicaciones en Android" 2012

AUTOR: Andrs Guzmn Fontecilla.
Email: andresguzf@gmail.com
WEB: http://www.bolsadeideas.com
LICENCIA: http://creativecommons.org/licenses/by-nc/2.5
42

12. Cambiar el layout usado por la aplicacin.
Doble clic la clase HolaAndroid.java, la Actividad.
Modificar el layout invocando main2 en vez de main.
Clic Save.


Curso: "Desarrollo de Aplicaciones en Android" 2012

AUTOR: Andrs Guzmn Fontecilla.
Email: andresguzf@gmail.com
WEB: http://www.bolsadeideas.com
LICENCIA: http://creativecommons.org/licenses/by-nc/2.5
43

Ejecutamos la aplicacin, Run As-> Android Application.


Curso: "Desarrollo de Aplicaciones en Android" 2012

AUTOR: Andrs Guzmn Fontecilla.
Email: andresguzf@gmail.com
WEB: http://www.bolsadeideas.com
LICENCIA: http://creativecommons.org/licenses/by-nc/2.5
44

13. Usamos el string "hello2" como valor para el botn.
Modificamos el atributo text del botn en main2.xml con "@string/hello2"
Clic Save


Curso: "Desarrollo de Aplicaciones en Android" 2012

AUTOR: Andrs Guzmn Fontecilla.
Email: andresguzf@gmail.com
WEB: http://www.bolsadeideas.com
LICENCIA: http://creativecommons.org/licenses/by-nc/2.5
45

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >

<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello2" />

<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello" />

<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello2" />

</LinearLayout>
Ejecutamos la aplicacin, Run As-> Android Application.

Curso: "Desarrollo de Aplicaciones en Android" 2012

AUTOR: Andrs Guzmn Fontecilla.
Email: andresguzf@gmail.com
WEB: http://www.bolsadeideas.com
LICENCIA: http://creativecommons.org/licenses/by-nc/2.5
46

Ejercicio 3: Reconstruir la aplicacin "HolaAndroid" usando UI Layout en forma de
Cdigo.
En este ejercicio, vamos a crea la misma aplicacin anterior pero usando programacin en la
interfaz de usuarios o layout. Esto significa que programaremos la interfaz de usuario de la aplicacin
directamente con cdigo de Java (en lugar de utilizar el archivo XML).
1. Crear un nuevo proyecto (copiando y pegando el existente).
Clic derecho sobre el proyecto HolaAndroid y seleccionar Copy.


Curso: "Desarrollo de Aplicaciones en Android" 2012

AUTOR: Andrs Guzmn Fontecilla.
Email: andresguzf@gmail.com
WEB: http://www.bolsadeideas.com
LICENCIA: http://creativecommons.org/licenses/by-nc/2.5
47

Pegar el proyecto, clic derecho entonces Paste.

Observe que aparece una ventana para dar un nombre al proyecto copiado.
Para el nombre del proyecto, ingresamos HolaAndroid_ViaCodigoJava
Clic OK.


Curso: "Desarrollo de Aplicaciones en Android" 2012

AUTOR: Andrs Guzmn Fontecilla.
Email: andresguzf@gmail.com
WEB: http://www.bolsadeideas.com
LICENCIA: http://creativecommons.org/licenses/by-nc/2.5
48

2. Modificamos la Actividad (UI Layout) usando cdigo
Modificamos HolaAndroid.java (del proyecto HolaAndroid_ViaCodigoJava) como se
muestra abajo. La modificacin es para crear los objetos TextView usando
programacin Java (en vez de los xml.) El fragmento de cdigo que tenemos que
agregar parece en color rojo y negrita.
package com.ejemplo.holaandroid;

import com.ejemplo.holaandroid.R;

import android.app.Activity;
import android.os.Bundle;

public class HolaAndroid extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

TextView tv = new TextView(this);
tv.setText("Hola, Android");
setContentView(tv);
//setContentView(R.layout.main2);
}
}


Curso: "Desarrollo de Aplicaciones en Android" 2012

AUTOR: Andrs Guzmn Fontecilla.
Email: andresguzf@gmail.com
WEB: http://www.bolsadeideas.com
LICENCIA: http://creativecommons.org/licenses/by-nc/2.5
49

3. Agregamos los import.
Clic derecho en cualquier punto del editor, seleccionamos Source->Organize Imports.

Observamos que se agregan las declaraciones import.
Clic Save.


Curso: "Desarrollo de Aplicaciones en Android" 2012

AUTOR: Andrs Guzmn Fontecilla.
Email: andresguzf@gmail.com
WEB: http://www.bolsadeideas.com
LICENCIA: http://creativecommons.org/licenses/by-nc/2.5
50

4. Ejecutamos la aplicacin, Run As-> Android Application.


Curso: "Desarrollo de Aplicaciones en Android" 2012

AUTOR: Andrs Guzmn Fontecilla.
Email: andresguzf@gmail.com
WEB: http://www.bolsadeideas.com
LICENCIA: http://creativecommons.org/licenses/by-nc/2.5
51

5. Agregamos un Botn (cdigo Java)
Modificamos la clase Activity HolaAndroid.java del proyecto
HolaAndroid_ViaCodigoJava.
La modificacin es para agregar otro objeto de la vista o View que ser el botn. El
fragmento de cdigo que tenemos que agregar parece en color rojo y negrita
package com.ejemplo.holaandroid;

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;

public class HolaAndroid extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

TextView tv = new TextView(this);
tv.setText("Hola, Android");

Button bt = new Button(this);
bt.setText("Haz Clic!");
setContentView(bt);

//setContentView(R.layout.main2);
}
}
Clic derecho en cualquier punto del editor, seleccionamos Source->Organize Imports

Curso: "Desarrollo de Aplicaciones en Android" 2012

AUTOR: Andrs Guzmn Fontecilla.
Email: andresguzf@gmail.com
WEB: http://www.bolsadeideas.com
LICENCIA: http://creativecommons.org/licenses/by-nc/2.5
52

Ejecutamos la aplicacin, Run As-> Android Application.



Curso: "Desarrollo de Aplicaciones en Android" 2012

AUTOR: Andrs Guzmn Fontecilla.
Email: andresguzf@gmail.com
WEB: http://www.bolsadeideas.com
LICENCIA: http://creativecommons.org/licenses/by-nc/2.5
53

Resumen
Se hace la primera introduccin a Android abarcando diversos ejemplos paso a paso, comenzando
con la instalacin de la plataforma desarrollo de Android y luego construimos aplicaciones lo ms
simple posible con un ejemplo "Hola Mundo", abarcando las dos formas que tenemos de
implementar interfaces de usuarios: la programtica usando cdigo Java y la de diseo usando XML.
A pesar de su simplicidad, utilizamos todas las piezas necesarias que componen una tpica
aplicacin de Android.
Fin.

Enva tus consultas a los foros!
Aqu es cuando debes sacarte todas
las dudas haciendo consultas en los
foros correspondientes
Nunca subestimes los ejercicios y toma
un tiempo prudencial para empezar a
trabajar (no dejes nada para ltimo
momento).

Vous aimerez peut-être aussi