You are on page 1of 17

SYSCATI Sistemas y Capacitacin en TI CURSO . JAVA ANDORID I.

JAI14-3

CLAVE:

CURSO: PROGRAMACION DE APLICACIONES PARA ANDROID I


Descripcin: En este curso presencial con instructor en el aula los desarrolladores recibirn los fundamentos
tericos y las herramientas de desarrollo bsicas para la creacin, depuracin, entrega y mantenimiento de
aplicaciones para Android utilizando el popular entorno de programacin Eclipse.
Requisitos
1.- Lgica bsica de programacin (INDISPENSABLE).
(Variables, Aritmtica bsica, Condicionales, seleccin, repeticin, funciones).
2.- Lgica bsica orientada a objetos, deseable pero NO INDISPENSABLE.
3.- Programacin Java bsica, deseable pero NO INDISPENSABLE.
4.- Contar con un dispositivo android, deseable pero NO INDISPENSABLE.
Temario 4 Semanas.
1.- Introduccin
2.- Instalacin
3.- Interfaz de usuario I
3.1 LinearLout
3.2 Etiquetas de texto
3.3 Botones de opcin
3.4 Botones de estado.
3.5 Cuadros de texto
3.6 Caja de verificacin
3.7 Botones circulares
3.8 Grupos de Botones circulares.
3.9 Imgenes
4.- Interfaz de usuario II
4.1 TableLayout
4.2 FrameLayout
4.3 RelativeLayout
4.4 Listas
4.4.1 Listas
4.4.2 Spinner
4.5 Mens
4.6 GridView
4.7 Pestaas
4.8 Sliding Drawer
4.9 Widgets
4.10 View Pager
4.11 SqlLitle
OBJETIVO. Avanzar en la comprensin y construccin de aplicaciones mviles para dispositivos con Sistema
Operativo (S.O.) Android
QU ES ANDROID?

SYSCATI Sistemas y Capacitacin en TI CURSO . JAVA ANDORID I.


JAI14-3

CLAVE:

En los ltimos aos los telfonos mviles han experimentado una gran evolucin, desde los primeros
terminales, grandes y pesados, pensados slo para hablar por telfono en cualquier parte, a los ltimos
modelos, con los que el trmino medio de comunicacin se queda bastante pequeo.
Es as como nace Android. Android es un sistema operativo y una plataforma software, basado en Linux para
telfonos mviles. Adems, tambin usan este sistema operativo (aunque no es muy habitual), tablets,
netbooks, reproductores de msica e incluso PCs. Android permite programar en un entorno de trabajo
(framework) de Java, aplicaciones sobre una mquina virtual Dalvik (una variacin de la mquina de Java con
compilacin en tiempo de ejecucin). Adems, lo que le diferencia de otros sistemas operativos, es que
cualquier persona que sepa programar puede crear nuevas aplicaciones, widgets1, o incluso, modificar el
propio sistema operativo, dado que Android es de cdigo libre, por lo que sabiendo programar en lenguaje
Java, va a ser muy fcil comenzar a programar en esta plataforma.
En la Figura 1, abajo, se muestran las capas que conforman el sistema operativo Android:

En la imagen se
distinguen claramente cada una de las capas: la que forma parte del propio
Kernel de Linux, donde Android puede acceder a diferentes controladores, las libreras creadas para
el desarrollo de aplicaciones Android, la siguiente capa que organiza los diferentes administradores
de recursos, y por ltimo, la capa de las aplicaciones a las que tiene acceso.
VERSIONES DISPONIBLES

SYSCATI Sistemas y Capacitacin en TI CURSO . JAVA ANDORID I.


JAI14-3

CLAVE:

El sistema operativo Android, al igual que los propios telfonos mviles, ha evolucionado
rpidamente, acumulando una gran cantidad de versiones, desde la 1.0 para el QWERTY HTC G1,
hasta la 4.0 que acaba de salir al mercado.
! Cupcake: Android Version 1.5
Caractersticas: Widgets, teclado QWERTY virtual, copy & paste, captura de vdeos y poder subirlos a
Youtube directamente.
! Donut: Android Version 1.6
Caractersticas: Aade a la anterior la mejora de la interfaz de la cmara, bsqueda por voz, y navegacin en
Google Maps.
! Eclair: Android Version 2.0/2.1
Caractersticas: Mejoras en Google Maps, salvapantallas animado, incluye zoom digital para la cmara, y un
nuevo navegador de internet.
! Froyo: Android Version 2.2
Caractersticas: Incluye hostpot Wifi, mejora de la memoria, ms veloz, Microsoft Exchange y video-llamada.
! Ginger Bread: Android Version 2.3
Caractersticas: Mejoras del consumo de batera, el soporte de vdeo online y el teclado virtual, e incluye
soporte para pagos mediante NFC2.
! Honey Comb: Android Version 3.0/3.4
Caractersticas: Mejoras para tablets, soporte Flash y Divx, integra Dolphin, multitarea pudiendo cambiar de
aplicacin dejando las dems en espera en una columna, widgets y homepage personalizable.
! Ice Cream Sandwich: Android Version 4.0
Caractersticas: Multiplataforma (tablets, telfonos mviles y netbooks), barras de estado, pantalla principal
con soporte para 3D, widgets redimensionables, soporte usb para teclados, reconocimiento facial y controles
para PS3.
ECLIPSE COMO ENTORNO DE TRABAJO
En este curso de Android, se da por supuesto que el alumno est familiarizado con el entorno Eclipse y que
adems tiene nociones bsicas de programacin en el lenguaje Java. Lo primero que necesitaremos para
poder programar en Android, es preparar el entorno de trabajo. Es necesario disponer de una versin de
Eclipse Galileo 3.5 o superior para poder desarrollar nuestros proyectos. Lo segundo que necesitamos es el
kit de desarrollo software para Android o Android SDK, del que se pueden encontrar varias versiones para
diferentes plataformas en la pgina web:
http://developer.android.com/sdk/index.html
Si el sistema operativo es Windows, lo ms recomendable, es descargar el instalador automtico
installer_rXX-windows.exe, y simplemente seguir las instrucciones. Una vez se inicia la instalacin, el
instalador comprueba si el equipo dispone del Java SE Development Kit (JDK). Si no es as, muestra un
mensaje como el siguiente: 2 NFC (Near-Field Communication) es una plataforma abierta para la
comunicacin instantnea.

SYSCATI Sistemas y Capacitacin en TI CURSO . JAVA ANDORID I.


JAI14-3

CLAVE:

Figura 3. SDK Manager

PERSPECTIVAS Y EMULADOR
1. PERSPECTIVA JAVA
Dados por sabidos los conocimientos bsicos sobre Eclipse y la programacin en Java, sta perspectiva debe
ser conocida por todos.
Figura 6. Perspectiva Java

SYSCATI Sistemas y Capacitacin en TI CURSO . JAVA ANDORID I.


JAI14-3

CLAVE:

Es la interfaz de usuario (o conjunto de vistas) que provee el JDT Plugin para poder programar en lenguaje
Java. Esta interfaz, proporciona una serie de herramientas (se puede considerar como una determinada
organizacin de las vistas), para el correcto desarrollo de programas y aplicaciones, y ser la que utilizaremos
para programar en este curso de Android.
2. PERSPECTIVA DDMS
En este caso, es el ADT Plugin el que nos proporciona la nueva perspectiva, por lo que lo primero que hay
que hacer es habilitarla. En la pestaa Window, seleccionar Open Perspective -> Other-> DDMS.

SYSCATI Sistemas y Capacitacin en TI CURSO . JAVA ANDORID I.


JAI14-3

CLAVE:

Figura 7. Perspectiva DDMS


Esta perspectiva, sirve para poder programar y realizar debugging al mismo tiempo, lo que es una forma muy
efectiva de programar. Aunque se programar con la perspectiva Java, a la hora de corregir errores se puede
pasar a la perspectiva DDMS.
3. EMULADOR
Una vez tengamos el proyecto listo para ejecutar, entra en escena el emulador de Android. ste proporciona
una vista especial para comprobar si la aplicacin hace lo que se desea. A continuacin se muestra la vista del
emulador para la versin 2.2 de Android:

SYSCATI Sistemas y Capacitacin en TI CURSO . JAVA ANDORID I.


JAI14-3

CLAVE:

Lo primero que hay que hacer cuando se quiere ejecutar una aplicacin, es pinchar sobre el proyecto con el
botn derecho, y en Run as seleccionar Android Application, entonces se lanzar el emulador ms
apropiado siempre que est creado (ms adelante, se explicar cmo generar los emuladores).
No se debe parar la ejecucin del emulador, dado que cada vez que se ejecuta el mismo, necesita de muchos
recursos del computador, por lo que tarda bastante en lanzarse, y realmente no es necesario cerrarlo, puesto
que cada vez que se lleva a cabo una ejecucin del proyecto, la aplicacin se reinstala en el emulador.
Clase .
Introduccion
Instalacin y configuracin de entorno

I.

HELLO WORLD!

1. En la carpeta ADT-bundle del escritorio, ejecutar Eclipse


2. Seleccionar el workspace del proyecto a desarrollar y pulsar OK

SYSCATI Sistemas y Capacitacin en TI CURSO . JAVA ANDORID I.


JAI14-3

CLAVE:

3. En Eclipse, pulsar la punta de flecha del cono New


y seleccionar la opcin Android Aplication
Project para activar el asistente de creacin de proyectos:

4. En el cuadro de dilogo que aparece en pantalla, escribir el nombre de la app, p.e. Prac1A y pulsar
Next

5. En el siguiente paso del asistente, llamado Configure Project, dejar las opciones por default y pulsar
Next
6. En Configure launcher icon tambin pulsar Next
NOTA. Las opciones de stos cuadros de dilogo, se vern en prcticas posteriores

7. En el cuadro Create Activity, seleccionar Blank Activity; activity es el componente principal de las apps
android y se define como porcin de cdigo ejecutable con interfaz grfica de usuario (gui)

8. En el cuadro Blank Activity, dejar las opciones por default y pulsar Finish

SYSCATI Sistemas y Capacitacin en TI CURSO . JAVA ANDORID I.


JAI14-3

CLAVE:

9. Si en el Eclipse en el que se trabaja ya se defini un emulador para probar las apps, ir al paso diez de
la prctica.

Si no se ha creado un emulador, pulsar el cono


para abrir el Android Virtual Device Manager (AVD) y
pulsar New. En el cuadro Create new AVD, escribir un nombre p.e. celPrueba, seleccionar un Device (buscar
un modelo anterior para lograr mejor desempeo) y una versin de Android o Target (las opciones dependern
de qu versiones se instalaron en Eclipse) dejar el resto de las opciones por default y pulsar OK

10. Con el fin de agilizar la simulacin de las apps en Eclipse, se recomienda iniciar el emulador y dejarlo
activo, para ello, iniciar el AVD
seleccionar un emulador previamente definido (anteriormente o
en el paso nueve de la prctica) y pulsar Start. En el cuadro de dilogo Launch Options activar la
casilla Scale display to real size y pulsar Launch

11. Una vez iniciado el emulador de Eclipse, ejecutar la app con Run/Run o pulsando el cono
despus de un rato, deber aparecer en el emulador el mensaje Hello World!

II.

ESTRUCTURA DE UN PROYECTO ANDROID

SYSCATI Sistemas y Capacitacin en TI CURSO . JAVA ANDORID I.


JAI14-3

CLAVE:

12. En el navegador del proyecto (a la izquierda de la pantalla) de la carpeta res seleccionar el


AndroidManifest.xml

Toda app Android tiene su manifest o archivo donde se especifican sus componentes y cmo se relacionan,
p.e. versin bibliotecas y activities
13. En la carpeta src del proyecto, se encuentran organizados en paquetes o subcarpetas los cdigos en
java de la lgica de la app
Toda app Android inicia en el mtodo onCreate donde se establece el ContentView o pantalla de la app.
Responder
a
qu
mtodo
de
un
Midlet
es
equivalente
onCreate?
_______________________________________

14. Otro elemento importante de una app Android es la GUI que se encuentra en la carpeta res/layout del
proyecto:

10

SYSCATI Sistemas y Capacitacin en TI CURSO . JAVA ANDORID I.


JAI14-3

CLAVE:

Ms adelante, se aadir un botn utilizando sta vista


15. Finalmente en ste recorrido inicial, ir a la carpeta res/values archivo strings xml donde se declara el
contenido de las etiquetas de la app:

16. En string.xml ubicar el cursor en el texto en negro Hello world!, sustituirlo por un texto diferente y correr
la app, al hacerlo deber aparecer en pantalla el nuevo texto:

III.

AADIR COMPONENTES

11

SYSCATI Sistemas y Capacitacin en TI CURSO . JAVA ANDORID I.


JAI14-3

CLAVE:

En Android, los componentes se aaden a un objeto de clase View en lenguaje XML


17. De res/layout, seleccionar el archivo activity_main.xml y pulsar la pestaa activity_main.xml para
visualizar el cdigo de la GUI actual

18. BlankActivity maneja por default un RelativeLayout como contenedor que abarca toda la pantalla
distribuyendo sus componentes en filas y un TextView donde se muestra un mensaje:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world" />
</RelativeLayout>

A continuacin se ca
mbiara el
contenedor a LinearLayout el cual, abarca
toda la pantalla distribuyendo sus componentes de manera horizontal o vertical y se cambiar el TextView que
muestra un mensaje por un TextField que permita al usuario ingresar un texto
19. Sustituir el cdigo del archivo activity_main.xml por:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal" >
<EditText android:id="@+id/edit_message"
android:layout_width="wrap_content"
12
android:layout_height="wrap_content"
android:hint="@string/edit_message" />
</LinearLayout>

SYSCATI Sistemas y Capacitacin en TI CURSO . JAVA ANDORID I.


JAI14-3

CLAVE:

20. En res/values strings.xml sustituir el cdigo existente por:


<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Prac1A</string>
<string name="action_settings">Settings</string>
<string name="edit_message">Escribe algo: </string>
</resources>

21. Ejecutar la app y mostrar el resultado a la Profesora


22. En el mismo archivo res/values strings.xml sustituir el cdigo existente por:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Prctica 1A</string>
<string name="edit_message">Escribe algo: </string>
<string name="button_send">Enviar</string>
<string name="action_settings">Settings</string>
<string name="title_activity_main">MainActivity</string>
</resources>

El cdigo anterior, resaltado en amarillo, declara una cadena llamada button_send cuyo texto ser Enviar y
que a continuacin se asociar a un botn
23. En activity_main.xml aadir despus del TextField el siguiente cdigo:

<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/button_send" />
24. Ejecutar la app y mostrar el resultado a la Profesora

13

SYSCATI Sistemas y Capacitacin en TI CURSO . JAVA ANDORID I.


JAI14-3

CLAVE:

25. Con el fin de dejar fijo el tamao del TextField, sustituir el cdigo actual del archivo activity_main.xml
por:

<?xml version="1.0" encoding="utf-8"?>


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<EditText android:id="@+id/edit_message"
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:hint="@string/edit_message" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/button_send" />
</LinearLayout>
26. Ejecutar la app y mostrar el resultado a la Profesora

IV.

AADIR FUNCIONALIDAD A UN BOTN

27. En el archivo activity_main.xml aadir la lnea (resaltada en amarillo) o atributo Android para que el
botn sea escuchado:
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/button_send"
android:onClick="sendMessage" />
</LinearLayout>

28. En el archivo MainActivity.java, dentro de la clase, aadir el mtodo correspondiente:


public void sendMessage(View view) {
//Instrucciones si se pulsa el botn
}

14

SYSCATI Sistemas y Capacitacin en TI CURSO . JAVA ANDORID I.


JAI14-3

CLAVE:

29. El mtodo anterior requiere que se importe la clase View del paquete android.view por lo que antes del
encabezado de la clase deber aadirse la instruccin:
import android.view.View;
30. En el cuerpo del mtodo sendMessage (instrucciones si se pulsa el botn) aadir el siguiente cdigo,
con el cual, al pulsar el botn se abrir en el navegador del emulador la pgina invocada:

Intent browserIntent = new Intent(Intent.ACTION_VIEW,


Uri.parse("http://www.google.com"));
startActivity(browserIntent);

31. Importar los paquetes: android.net.Uri; y android.content.Intent;


32. Ejecutar la app (tal vez el emulador no muestre la pgina solicitada)

V.

EJECUCIN EN UN MVIL REAL

A. Va Internet
33. Enviar por e-mail o a algn almacenamiento en la nube el archivo Prac1A.apk de la carpeta bin y
ejecutarlo en el mvil con la opcin de fuentes desconocidas activadas en Ajustes>Aplicaciones

15

SYSCATI Sistemas y Capacitacin en TI CURSO . JAVA ANDORID I.


JAI14-3

CLAVE:

B. Con cable USB


34. Si no se cuenta con el driver correspondiente,
http://developer.android.com/tools/extras/oem-usb.html

ste

se

puede

descargar

de

35. En Android 3.2 o menor ir a: Settings > Applications > Development, en Android 4.0 o superior ir a:
Settings > Developer options
NOTA: En Android 4.2 o superior, si no se cuenta con la opcin anterior, ir primero a Settings > About
phone y pulsar siete veces el Build number

INFORMES. Telfonos:
57532437, 5544641797
Correo: syscati@hotmail.com
!!Descuentos
ESPECIALES a GRUPOS
Adems cursos a Tu Domicilio Nosotros vamos a el lugar,
horario, fecha que tu indiques.

16

SYSCATI Sistemas y Capacitacin en TI CURSO . JAVA ANDORID I.


JAI14-3

CLAVE:

Otros servicios:
- Venta e computadoras econmicas.(Laptops, PCs, Tablets)
-Mantenimiento y reparacin de computadoras (formateos, actualizaciones, chequeo general)
- Desarrollo de aplicaciones informticas para PYMES y ESCOLARES Nosotros hacemos tus
proyectos!
Proyectos escolares en:
PROGRAMACION: C, C++, Java, PHP, Visual Basic.
BASES DE DE DATOS: Mysql, Access, Oracle, Sql Server.
Servidores-redes:Windos 2003 server, 2008 server, Linux Redhat, Centos, Ubuntu
Diseo Web. Dream Weaber, Joomla, Html5, CSS3, Java Script
SI ASI LO REQUIERES INCLUYE LA CAPACITACION DE TU TRABAJO O PROYECTO

17