Sunteți pe pagina 1din 48

Certificado

Programador
Jr Android

Manual del participante













2014


M anual del participante

ndice


ndice .................................................................................................. 3
Formacin de la comunidad de aprendizaje . ........................................ 4
Objetivo del curso . .............................................................................. 5
O bjetivo ...................................................................................................... 5
Introduccin . .............................................................................................. 5
Unidad 1 Introduccin a Android ......................................................... 6
Ejercicio prctico . ...................................................................................... 10
Unidad 2 Herramientas de desarrollo ................................................. 19
Unidad 3 Fundamentos de una aplicacin Android . ............................. 23
Fram ew orks ............................................................................................... 23
Ejercicio prctico . ...................................................................................... 28
Fragm ents . ................................................................................................. 28
Loaders . ..................................................................................................... 29
Tasks and back stack . ................................................................................. 29
Servicios . ................................................................................................... 30
Proveedores de contenido . ......................................................................... 31
Ejercicio prctico . .................................................. Error! Marcador no definido.
Procesos e hilos . ........................................................................................ 31
Interfaz de usuario ..................................................................................... 31
Recursos de una aplicacin . ....................................................................... 33
Alm acenam iento de datos ........................................................................... 35
Seguridad y perm isos . ................................................................................ 37
El m anifiesto . ............................................................................................. 41
M i prim era aplicacin . ............................................................................... 42
Conclusiones finales . .......................................................................... 47
Fuentes de consulta . ........................................................................... 48
Bibliografa ................................................................................................ 48
Cibergrafa ................................................................................................. 48

3



M anual del participante

Formacin de la comunidad de aprendizaje



La formacin de la comunidad de aprendizaje es un proceso que debe llevarse a cabo para
iniciar cada uno de nuestros cursos.

Su finalidad es crear un clima propicio para la celebracin de la actividad instruccional, es
decir, generar un entendimiento previo entre el instructor y los participantes sobre los
temas que se desarrollarn durante sta, as como las estrategias educativas que se
llevarn a cabo para lograr un mejor aprendizaje.

Un adecuado manejo de la comunidad de aprendizaje es un elemento fundamental para
garantizar la satisfaccin de uno de los clientes involucrados en la imparticin de los
cursos: los participantes.


Presentacin del ! Nombre, profesin, aos de experiencia como instructor,
Instructor: experiencia en la imparticin del curso, o cursos similares
o relacionados.

Alineacin de ! El instructor recabar las expectativas de los participantes
expectativas: respecto al curso, con el fin de dejarles claro el objetivo del
mismo.
! En caso de que alguna expectativa no coincida con los
temas que el curso contiene, el instructor dejar claro
cules de las expectativas expresadas no sern cubiertas
con el curso y porqu.
! Las expectativas alineadas sern anotadas en hojas de
rotafolio para su revisin al trmino del curso.
! Durante el desarrollo del curso el instructor deber cubrir
las expectativas alineadas.

Presentacin del ! El instructor presentar a los participantes el objetivo del
objetivo del curso: curso, aclarando dudas al respecto si las hubiese.


Reglas de oro: ! El instructor promover el establecimiento de reglas por
parte de los participantes que se observarn a travs del
curso; por lo que puede proponer: tiempo de tolerancia
para iniciar las sesiones, respeto hacia los compaeros,
participacin de todos en tcnicas y ejercicios grupales,
etc.; se incluirn todos los puntos que los participantes
consideren pertinentes.
! Se anotarn los acuerdos en hojas de rotafolio y se
colocarn en un espacio en el que sean visibles a lo largo
de todo el curso.

4



M anual del participante


Cum plim iento de ! Al finalizar el curso el instructor deber llevar a cabo una
expectativas revisin de las expectativas alineadas que se anotaron en
hojas de rotafolio al inicio del curso
! Se revisar cada una de las expectativas alineadas
palomeando las que hayan sido cumplidas, y el instructor
explicar de qu manera se llev a cabo tal cumplimiento.

Objetivo del curso


O bjetivo



Al trmino del curso el participante:
Tendr nociones bsicas de desarrollo de aplicaciones
Android
Ser capaz de crear aplicaciones bsicas para la
plataforma Android



Introduccin

Con el Curso de Programador Jr. Android aprenders a crear desde cero tus propias
aplicaciones para dispositivos mviles con sistema operativo Android. Desde los temas ms
bsicos, como descargar e instalar las herramientas necesarias o crear tu primer proyecto
paso a paso, hasta temas avanzados como la localizacin GPS o la comunicacin con
servicios web.

Durante el curso se estudiarn las caractersticas ms importantes del framework de


desarrollo para Android: Activities, Services, Receivers, Intents y Views. Se analiza el ciclo
de vida de las actividades y cmo actuar ante cada cambio de estado. Se aprende a
desarrollar interfaces grficas (layouts) programticamente y con XML

Tras realizar este curso conocers los fundamentos del desarrollo de aplicaciones en
Android y podrs realizar sencillas aplicaciones, que incluyan los aspectos ms
importantes y novedosos de esta plataforma. Incluyendo: principales elementos del
interfaz de usuario, posicionamiento, mapas, seguridad y bases de datos.

5



M anual del participante

Unidad 1 Introduccin a Android



D efinicin de 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, widgets, 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.

Interior de Android

Actualmente Android soporta diversas funcionalidades que permiten al programador la
creacin de aplicaciones mviles ricas en contenido, formas de interaccin y de
comunicacin.

A hora te presentamos un diagrama general de cmo interactan en Android, para despus
conocer qu hace cada una.

6



M anual del participante





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.


Aplicaciones: las aplicaciones base incluyen un cliente de correo electrnico, programa
de SMS, calendario, mapas, navegador, contactos y otros. Todas las aplicaciones estn
escritas en lenguaje de programacin Java.

M arco de trabajo de aplicaciones: los desarrolladores tienen acceso completo a los
mismos APIs del framework usados por las aplicaciones base. La arquitectura est
diseada para simplificar la reutilizacin de componentes; cualquier aplicacin puede
publicar sus capacidades y cualquier otra aplicacin puede luego hacer uso de esas
capacidades (sujeto a reglas de seguridad del framework). Este mismo mecanismo permite
que los componentes

7



M anual del participante

Bibliotecas: Android incluye un conjunto de bibliotecas de C/C++ usadas por varios


componentes del sistema. Estas caractersticas se exponen a los desarrolladores a travs
del marco de trabajo de aplicaciones de Android; algunas son: System C library
(implementacin biblioteca C estndar), bibliotecas de medios, bibliotecas de grficos, 3D
y SQLite, entre otras.

Runtim e de Android: Android incluye un set de bibliotecas base que proporcionan la
mayor parte de las funciones disponibles en las bibliotecas base del lenguaje Java.

Dalvik ha sido escrito de forma que un dispositivo puede correr mltiples mquinas
virtuales de forma eficiente. Dalvik ejecuta archivos en el formato Dalvik Executable (.dex),
el cual est optimizado para memoria mnima.

Ncleo Linux: Android depende de Linux para los servicios base del sistema como
seguridad, gestin de memoria, gestin de procesos, pila de red y modelo de
controladores. El ncleo tambin acta como una capa de abstraccin entre el hardware y
el resto de la pila de software.

Com ponentes de Android

! La plataforma provee de un sistema operativo basado en Linux, un sistema de


aplicativos basado en la tecnologa Dalvik y una API que permite la creacin de
aplicaciones utilizando el lenguaje Java.

! Soporte de base de datos para aplicacin mvil. El ambiente proporciona soporte
para transacciones de bases de datos locales basadas en SQL, con la implementacin
de SQLite. Esto facilita la implementacin de aplicaciones offline.

! Soporte Telefonia. Soporta el servicio de voz va comunicacin celular. (Depende de
la implementacin de hardware, no todos los dispositivos android soportan
comunicacin celular).

! Soporte mltiple para comunicacin inalmbrica (Bluetooth, EDGE, 3G y WiFi ).
Dependiendo del fabricante, proveen de uno o ms mtodos de comunicacin
inalmbrica. (Depende de la implementacin de hardware).

Versiones Android

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.


8



M anual del participante

Apple pie


Bannan Bread


Cupcake : Android Versin 1.5
Caractersticas: Widgets, teclado QWERTY virtual, copy & paste, captura de
vdeos y poder subirlos a Youtube directamente

D onut : Android Versin 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.


Gingerbread 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 NFC (Near-Field
Communication)

H oneycom b : 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.

Icecream Sandw ich: 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.

JellyBean




Kitcat

9



M anual del participante


Ejercicio prctico

Se integrarn cinco equipos, ya conformados, se les asignara una temtica de acuerdo al
nmero de equipo que representen.

N de Tem a
equipo
1 Apple pie
Bannan
Bread
2 Cupcake
Donut
clair
3 Froyo
Gingerbread
4 Honycomb
Icecream
5 JellyBean
Kitcat
Funcionalidades

" Soporte a herramientas empresariales
Soporte a Exchange
Borrado remoto
Soporte de VPN
" Soporte a mltiples pantallas, tanto en tamao como en densidad.
" Soporte para teclados virtuales, fsicos, dispositivos similares a mouse.

D etalles Tcnicos

# Android es un sistema incrustado (embedded) que corre encima de un kernel de
Linux, pero no es Linux embedded (no hay soporte de X, glibc, etc).

# Android utiliza un dialecto de Java, que no es java porque no soporta Swing y otras
bibliotecas estndar de Java.

# Incluso bibliotecas como el Timer de Java son reemplazadas por bibliotecas
optimizadas para Android.

# Android es un sistema parcialmente libre, algunos de los componentes se puede
revisar el cdigo fuente, sin embargo, hay otros que son componentes cerrados y
solo pueden ser utilizados a travs de una API.

10



M anual del participante

# Existen cientos de dispositivos basados en Android, que van desde telfonos


mviles, tablets, televisiones y otros. Google espera que la app que generes corra,
por ejemplo, en todos los celulares (no disees apps solamente para correr en un
Nexus One, por ejemplo).

O rganizacin de Sistem a O perativo

Organizacin del sistema operativo Android:

" Bootloader inicia la carga de la imagen de boot


" Boot image Imagen del Kernel y RAMdisk
" System image Android OS y Apps
" Data image Datos que se conservan entre encendido y apagado.
" Recovery image imagen de emergencia para recrear el sistema
" Radio image Datos/programas del stack de telecomunicaciones

D etalles tcnicos

Esos datos estan almacenados en una ROM, que no se borrara aun cuando la batera se
termine.

DPI Dots per inch. Android soporta una medida genrica que provee de informacin de
la combinacin de tamao de la pantalla con la densidad de la misma. Un HTC Magic tiene
una pantalla de 3.2, con 320x248 pixeles. Esto equivale a 160 dpi, por lo que se clasifica
como densidad media.

Caractersticas de la pantalla

Existen por lo menos 4 tamaos de pantalla, a saber:

$ Pequea
$ Mediana
$ Grande
$ Extragrande

Y tres densidades distintas:

$ Densidad Baja L
$ Densidad Media M
$ Densidad Alta H
$ Densidad Extra Alta XH

En ocasiones, pantallas grandes con no tantos pixeles se considera de alto nmero de
puntos por pulgada, como por ejemplo los nuevos televisores que tienen soporte de
Google TV, que en realidad es Android. La lgica ah es que dado que lo veras desde lejos,

11



M anual del participante

no notaras el hecho de que no hay tantos pixeles como en una pantalla de telfono que
vers ms de cerca.

Soporte I/O

Adicionalmente, se soporta:

" Dpad, como un joystick
" Trackball Un mouse de bolita
" Trackpad un mouse como el de las laptops

Existen sensores adicionales:

" Acelerometro
" Brujula
" Orientacin
" Temperatura
" Luz

Recuerden que no tienen que soportar todos los medios de entrada. Sin embargo, pueden
aprovechar en su cdigo para detectar uno u otro mtodo de entrada interesante y
soportarlo para generar una mejor experiencia en el usuario.

Funcionalidades

Funcionalidades interesantes de un Android:
" Multiprocesos Se pueden realizar diversos procesos/tareas aun mismo tiempo.
" App Widgets Mini aplicaciones que pueden ir dentro de otras aplicaciones

Cuidado:
El utilizar extensivamente el multiproceso, el exceso de uso de red, o de gps o en general el
utilizar demasiados recursos en el dispositivo, generar una experiencia negativa en el
usuario, debido al uso de batera, de memoria, etc.

D iseo de apps m viles

Un buen diseador de aplicaciones mviles toma en cuenta tres componentes principales:

! Interface con el usuario (UI)
! Uso de servicios web
! La aplicacin en s.

Se tienen que considerar que un dispositivo mvil tiene:

" Menos poder de procesamiento que una PC

12



M anual del participante

" Menor visibilidad/acceso a la pantalla


" Corre en una batera

Ahora bien, te brindamos la siguiente liga para que puedas revisar las Guas para el diseo
de interfaces Android, esperando te sea de utilidad.

http://developer.android.com/design/index.html


Q u no hacer en una APP

$ Dicho lo anterior, lo que NO debe hacerse en una aplicacin es:
$ Elementos visuales muy pequeos
$ Elementos visuales con colores homogneos, sin contraste.
$ Usar el CPU todo el tiempo para calcular cosas que se podran pre-calcular
$ Usar el GPS y la red de datos de manera abusiva.
$ Tomar la informacin privada del usuario y transmitirla a la nube.
$ Asumir que existe algn hardware en tu android: no todos tienen teclado, no todos
tienen GPS, etc.
$ Cuando el usuario cambie de orientacin, tendrs que redibujar la pantalla para que
ninguno de los componentes quede afuera, de preferencia redibjala de manera que
aproveches el formato que en ese momento tengas al mximo.

Recom endaciones generales

Recomendamos:

" Usa las bibliotecas de Android antes que las de Java
" Cuida la memoria. Memoria que pidas, memoria que regresas.
" Revisa el LogCat para monitorear si es que tu app esta rompindose ligeramente, tal
vez esos pequeos detalles generen una aplicacin totalmente inestable.
" Usa las bibliotecas de Android antes que las de Java
" Cuida la memoria. Memoria que pidas, memoria que regresas.
" Revisa el LogCat para monitorear si es que tu app esta rompindose ligeramente, tal
vez esos pequeos detalles generen una aplicacin totalmente inestable.
" Testea tambin en dispositivos mviles (no solo en el emulador), con diferentes
caractersticas

13



M anual del participante

Instalando AN D RO ID

A continuacin se te brindaran una serie de pasos para la correcta instalacin de Android:

1-Revisar si nuestra computadora cumple con todos los requerimientos mnimos para
poder instalar las herramientas de desarrollo. Esto se puede consultar en la pgina:

http://developer.android.com/sdk/index.html



2- Descargar el IDE de Eclipse, de preferencia desde el sitio oficial:

https://www.eclipse.org/downloads/

Recuerda elegir el adecuado para nuestro sistema operativo (32 o 64 bits)

14



M anual del participante



3. Ahora necesitaremos descargar un JDK de JAVA para hacer funcionar bien nuestro IDE
eclipse. Esto lo hacemos igual desde la pgina oficial de java:

http://www.oracle.com/technetwork/java/javase/downloads/index.html

Ya que accedimos a la pgina, damos click en Download JDK y nos mostrara la siguiente
pantalla donde debemos dar aceptar trminos de licencia y buscar el adecuado a nuestro
sistemas operativo



Composicin de un proyecto en Android

! src: Cdigo fuente
! gen: Binarios & R.java
! res: Recursos app
! drawable: iconos & images

15



M anual del participante

! layout: organizacin UI
! raw: msica & video
! values: Valores de la app
! colors: Colores
! dimens: tamao fuentes
! strings: literales
! AndroidManifest.xml

16



M anual del participante

Elem entos AN D RO ID M AN IFEST.XM L



<action>
<activity>
<activity-alias>
<application>
<category>
<data>
<grant-uri-permission>
<instrumentation>
<intent-filter>
<manifest>
<meta-data>
<permission>
<permission-tree>
<provider>
<receiver>
<service>
<supports-screens>
<uses-configuration>
<uses-feature>
<uses-library>
<uses-permission>
<uses-sdk><permissiongroup>

Algunas etiquetas im portantes AN D RO IDM ANIFEST.XM L

<manifest>

Atributos:

# Package: el cual corresponde al paquete que definimos al crear nuestro proyecto.
# VersionCode: el cual es el nmero de versin de desarrollo de nuestro programa,
cada versin que publicamos de nuestra app, debe tener un versionCode diferente.
# VersionName: el cul es la versin de nuestro programa puede ir 1.8.1 etc.

Para que nuestra aplicacin se comporte de la manera deseada es muy importante declarar
todos los Activitiy-s, Services, Contents Providers, etc. que estemos usando en nuestra
aplicacin con alguna de las siguientes etiquetas y sus respectivos atributos:

<activity> <service> <intent-filter> <provider>
<activity-alias>

17



M anual del participante

Tambin declaramos todos los permisos a las que accedern tales como SD Card, jcmara,
sensores, etc. As como tambin los permisos que tienen otros para acceder a los
componentes de la aplicacin. Con esta etiqueta declaramos permisos para accesar
cmara, contactos del telfono, etc.

<uses-permission android:name="string" />
<uses-permission
android:name="android.permission.CAMERA" />

18



M anual del participante

Unidad 2 Herramientas de desarrollo

Las herramientas para la realizacin de aplicaciones en Android ms usuales son la


plataforma de desarrollo Eclipse y un pluging proporcionado por Google para la
confeccin de proyectos tipo Android.

A parte ser necesario tener instalada la ltima mquina virtual de java.

Eclipse.

Se trata de un entorno de desarrollo integrado multiplataforma y de
cdigo abierto que permite desarrollar aplicaciones de escritorio, estas
aplicaciones son las que se usan fuera del navegador, un ejemplo de
aplicacin de escritorio podra ser por ejemplo Microsoft office y un
ejemplo de aplicacin web sera Google docs. Originalmente Eclipse fue
desarrollado por IBM aunque actualmente forma parte de una
organizacin independiente llamada fundacin Eclipse siendo un programa libre.

Eclipse consta de un editor de texto con resaltado de sintaxis y realiza la compilacin del
cdigo en tiempo real pudiendo as mostrar los errores en el cdigo instantneamente.
Dispone adems de un apartado de plugins para aadir diferentes controles y forma de
realizar los proyectos.

Android SD K.

Android SDK es un kit de desarrollo de software (de las siglas en ingls
software development kit) para Android consta de un conjunto de
herramientas para el desarrollo que permite a los desarrolladores y
programadores confeccionar aplicaciones y juegos para el sistema dicho.

Se trata pues de una interfaz de programacin de aplicaciones (API application
programing interface) que hace uso del lenguaje de programacin Java. Permite su
ejecucin tanto en sistemas Linux como en Windows o Mac.

Incluye adems una gran cantidad de ejemplos as como de notas tcnicas de soporte y
documentacin.

Em ulador

Mediante esta funcin se puede crear un dispositivo mvil casi completamente funcional
dentro del sistema operativo, PC o Mac, para el desarrollo de las aplicaciones.

El emulador de Android est contenido dentro del paquete del SDK, se trata de una
herramienta creada por Google para poder probar las aplicaciones mviles sin necesidad
de instalarlas en un dispositivo, mediante el proceso de creacin de un proyecto en Eclipse

19



M anual del participante

har uso de uno de los terminales emulados creados para probar en cada momento las
nuevas funciones o modificaciones de las aplicaciones.

20



M anual del participante


Instalacin y configuracin de las herram ientas.

Los puntos a seguir son:

La primera parte consistir en instalar Eclipse, en este caso yo he usado la versin
3.5, llamada Galileo, bajo el sist operativo Windows XP. La pgina de descarga es:
www.eclipse.org/downloads/

La versin que he utilizado es exactamente: Eclipse IDE for Java EE Developers(189
MB) aunque tambin es igual de vlida Eclipse IDE for Java Developers (92 MB)

Despus se descomprime en la carpeta en la cual queramos contenerlo, y se ejecuta


ecplise.exe. Lo primero que aparece es una pantalla en la que pregunta donde quieres que
se cree el directorio de trabajo de Eclipse, donde posteriormente se almacenarn los
proyectos que se creen.

Despus de la carga y de que aparezca la pantalla principal hay que ir a Help > Install New
Softare. En la pantalla que aparece hay que presionar el botn Add....

En la nueva ventana elegimos cualquier nombre, por ejemplo, Android Plugin y
aadimos en el campo Location la URL: https://dl-ssl.google.com/android/eclipse/
presionamos ok, y
despus next hasta que
nos pida aceptar
los trminos de la
licencia, los
aceptamos y el
programa empezar
la descarga el plugin.

21



M anual del participante


Por ltimo reiniciamos Eclipse y ya tenemos instalado el plugin, aunque la instalacin del
SDK an no ha terminado.

Ahora volviendo a Eclipse hay que seleccionar W indow > Preferences, en el
panel de la izquierda que aparecer hay que seleccionar Android. Donde pone SDK
location hay que poner la localizacin del SDK de Android en el disco duro en el
que la tengamos, la descarga del SDK se realiza desde:
http://developer.android.com/sdk/index.html Actualmente la versin disponible del
mismo es la Android 2.3 Platform aunque mis aplicaciones estn basadas en la 2.2
puesto que la versin 2.3 no est disponible para mi terminal, no hay ningn
problema en descargar la ltima versin, ya que ms tarde cuando explique la parte
del emulador, se ver que es muy simple especificar cul ser la versin a usar de
Android.


Este es el ltimo paso para tener la instalacin completada, y se trata de la creacin de un
emulador Android. Para crearlos simplemente mediante un terminal en Linux y Mac o una
ventana de comandos en Windows navegamos hasta la carpeta tool del sdk y ejecutamos:

Android create avd -- target 8 --name
EMULADOR

Al decirle en la creacin target 8 le estoy
diciendo que use la versin 2.2 de
Android.

22



M anual del participante

Unidad 3 Fundamentos de una aplicacin Android




Frameworks

Un framework o infraestructura digital, es una estructura conceptual y tecnolgica de
soporte definido, normalmente con artefactos o mdulos de software concretos, que puede
servir de base para la organizacin y desarrollo de software. Tpicamente, puede incluir
soporte de programas, bibliotecas, y un lenguaje interpretado, entre otras herramientas,
para as ayudar a desarrollar y unir los diferentes componentes de un proyecto.

Representa una arquitectura de software que modela las relaciones generales de las
entidades del dominio, y provee una estructura y una especial metodologa de trabajo, la
cual extiende o utiliza las aplicaciones del dominio. Por ejemplo:

Titanium Appcelerator

Es una plataforma para desarrollar aplicaciones mviles y de
escritorio utilizando tecnologas web, que utiliza lo mejor de HTML,
JavaScript, CSS y el desarrollo de aplicaciones rpido y dinmico. El
framework tambin tiene soporte para Python, Ruby y PHP con
acceso al mismo framework y al DOM. Para descargar esta
herramienta puedes acceder, a su pgina web:

http://www.appcelerator.com/


A continuacin te mencionamos tres sitios muy tiles dnde podrs consultar tutoriales de
cmo crear aplicaciones Android con Titanium:

! Titanium Android M odule D eveloper G uide. Extrado de la documentacin
oficial de Titanium, encontrars todo lo que necesitas para preparar tu entorno de
desarrollo con Titanium para la creacin de aplicaciones Android con Eclipse.

http://developer.appcelerator.com/doc/mobile/android/module_sdk

! Creacin de una aplicacin para Android con Appcelerator Titanium . Un
tutorial muy completo que explica a detalle la creacin de un proyecto. En la seccin
de Titanium de este blog encontrars otros recursos igual de tiles.

http://www.agilogy.com/creacion-de-una-aplicacion-paraandroid-con-appcelerator-
titanium.html
http://www.agilogy.com/category/titanium/

23



M anual del participante

! Siete das con Titanium . Un blog que pone a disposicin un conjunto de siete
tutoriales para ayudar a los principiantes a entender cmo trabajar con el
framework mvil Titanium.

http://nosoloweb.es/siete-dias-con-titanium-dia-0-introduccion /

PhoneGap

Es un framework para el desarrollo de aplicaciones mviles producido por Nitobi, y
comprado posteriormente por Adobe Systems. Principalmente, PhoneGap permite a los
programadores desarrollar aplicaciones para dispositivos mviles utilizando herramientas
genricas tales como JavaScript, HTML5 y CSS3. Las aplicaciones resultantes son hbridas,
es decir que no son realmente aplicaciones nativas al dispositivo (ya que el renderizado se
realiza mediante vistas web y no con interfaces grficas especficas de cada sistema), pero
no se tratan tampoco de aplicaciones web (teniendo en cuenta que son aplicaciones que
son empaquetadas para poder ser desplegadas en el dispositivo incluso trabajando con el
API del sistema nativo). Para descargar esta herramienta puedes acceder, a su pgina web:

http://phonegap.com/

As como su gua de usuario:

http://docs.phonegap.com/en/edge/guide_platforms_index.md.html#Platform%20Guides




Jquery m obile

jQuery es una biblioteca de JavaScript, creada inicialmente por John Resig, que permite
simplificar la manera de interactuar con los documentos HTML, manipular el rbol DOM,
manejar eventos, desarrollar animaciones y agregar interaccin con la tcnica AJAX a
pginas web. jQuery es la biblioteca de JavaScript ms utilizada.

24



M anual del participante

jQuery es software libre y de cdigo abierto, posee un doble licenciamiento bajo la


Licencia MIT y la Licencia Pblica General de GNU v2, permitiendo su uso en proyectos
libres y privativos. jQuery, al igual que otras bibliotecas, ofrece una serie de
funcionalidades basadas en JavaScript que de otra manera requeriran de mucho ms
cdigo, es decir, con las funciones propias de esta biblioteca se logran grandes resultados
en menos tiempo y espacio.

25



M anual del participante

Para descargar esta herramienta puedes acceder, a su pgina web:



http://jquerymobile.com/

Tambin puedes consultar informacin en los siguientes vnculos:

http://themeroller.jquerymobile.com/
http://api.jquerymobile.com/


ACTIVITY

! Son llamados las pantallas de nuestra aplicacin, en las cuales los usuarios
interactan
! Contienen toda la funcionalidad en cdigo java de los elementos contenidos en cada
View (archivo ui xml).
! Una aplicacin se compone de muchos activities, cada uno enlazado con otro, y al
iniciar uno el otro deber terminar.
! El mtodo onCreate() recibe un parmetro de tipo Bundle, el cual guarda el estado
de la actividad anterior.
! Mandamos llamar el layout que es el que contiene el diseo y todos los elementos
con los que interacta el usuario en pantalla

NOTA: Este archivo xml existe y se guarda en la carpeta res/layout para unificarlo con el
activity usamos como intermediario el archivo R.java, el cual contiene una referencia de
todos los componentes. La sintaxis es la siguiente:

R.layout.NOMBRE_ARCHIVOXML

Cada vez que creemos un Activity, este se debe declarar en el archivo AndroidManifest.xml
con la siguiente estructura:

<manifest ... >!
<application ... >!
<activity android:name=".NombreActivity" />!
...!
</application ... >!
...!
</manifest >!

Pasando de un ACTIVIY a otro

" Para pasar de una actividad a otra echaremos mano de la clase Intent:

Intent i = new Intent(this, SegundoActivity.class);

26



M anual del participante

!startActivity(i);!

" Creamos un objeto de tipo Intent y le pasamos como primer parmetro this que se
refiere a la primer Activity posteriormente en el segundo argumento indicamos a
qu actividad queremos que nos lleve.

Pasando de un ACTIVIY a otro con parmetros

" Podemos pasar parmetros de Actividad en Actividad con el mtodo putExtra() de la
clase Intent:
" Colocamos este cdigo en el Primer Activity
Intent i = new Intent(this, SegundoActivity.class);
!i.putExtra("NombreParametro", valorParametro);
!startActivity(i);!

" Los valores de los parmetros se almacenan en la clase Bundle, as que de ah mismo
recuperaremos los datos.
" Colocamos este cdigo en el Segundo Activity
Bundle parametros = getIntent().getExtras();!
!String valorParametro =
!parametros.getString("NombreParametro");!

Ejem plo

A continuacin presentaremos un ejemplo sencillo donde declaramos dos ventanas y


pasamos un parmetro de una a otra.

27



M anual del participante

Puedes descargar el cdigo de esta liga:

http://goo.gl/9knBsn

Ejercicio prctico

Crear un formulario de registro de datos personales y posteriormente pasar a una pantalla
de confirmacin de los datos.



Fragments

Los Fragment aunque no son Activities o un tipo de Contenedor, (si entendemos
contenedor como una
subclase de ViewGroup), se comportan de una forma muy similar, tienen su ciclo de vida
como las Activities y albergan componentes como los contendores.

Los podemos considerar como sub-activities.

Podemos decir que hay 2 tipos de fragment en funcin de como los insertemos en nuestra
aplicacin:

" Fragm ent Estticos: los declarados en layout mediante la etiqueta <fragment>,
como si fueran un botn. Se utilizan principalmente para reutilizar cdigo en
actividades.

" Fragm ent Dinm icos: Los ms interesantes, podemos quitarlos, ponerlos y
reemplazarlos. Ejemplo: Libreta de contactos

28



M anual del participante


Puedes descargar un ejemplo de fragment esttico de la siguiente direccin:
http://goo.gl/ZH66h2

La siguiente ventana muestra una agenda implementando un fragment dinmico


Puedes descargar el cdigo fuente de la siguiente liga: http://goo.gl/rrm6ul

Loaders

Los loaders fueron introducidos en Android 3.0, y facilitan la carga de datos de manera
asincrnica en una actividad o fragmento.

Si debemos realizar tareas pesadas como consultas a servicios web, obtencin de
imgenes desde Internet, etc, en segundo plano sin bloquear la interfaz de usuario, usamos
los loaders

Ejercicio:
Haremos la carga en background de una lista, puedes descargar el ejemplo de este link:
http://goo.gl/QtPxtL

Tasks and back stack



Una tarea es una coleccin de actividades con las
cuales interacta el usuario cuando quiere realizar
determinado trabajo.

" Las actividades son ordenadas en un stack
(el "back stack"); en el orden en el que se
abre cada actividad.


29



M anual del participante

D os tareas: Tarea A que est en un segundo plano, esperando a ser reanudada, mientras
que la tarea B recibe la interaccin del usuario en primer plano.

Back Stack

Cuando la actividad en curso inicia otra, la nueva actividad es empujada arriba de la
pila y obtiene el focus.
La actividad anterior permanece en la pila, pero est detenida.
Cuando la actividad para, el sistema retiene el estado actual de la interfaz de
usuario.
Cuando el usuario hace click en la tecla back `atras', la actividad en curso salta desde
arriba de la pila (la actividad se elimina) y la actividad previa se reanuda (se restaura
el estado previo de su IU).

Las actividades en la pila nunca se reorganizan, solo se meten o sacan de la pila. Observa la
siguiente imagen.



Servicios

Los servicios (o service) son tareas no visibles que se ejecutan siempre por debajo, incluso
cuando la actividad asociada no se encuentra en primer plano. Tiene un hilo propio
(aunque no se pueden ejecutar solo), lo que permite llevar a cabo cualquier tarea, por
pesada que sea. No necesita interfaz, a no ser que se pida explcitamente, en cuyo caso la
clase Service la exportara.

Por ejemplo, cuando usamos una aplicacin, puede que queramos ejecutar algo de
msica en background a la vez. En este caso, el cdigo que est ejecutando la msica en
background no necesita interactuar con el usuario, y por ello puede ejecutarse como un
Service.

30



M anual del participante

Ejemplo:
Crearemos un servicio en Android, donde analizaremos su funcionalidad, descarga el
cdigo fuente del siguiente enlace:
http://goo.gl/TPLupC


Proveedores de contenido

Estos proveedores en ingls llamados content provider, se encargan de que la aplicacin
pueda acceder a la informacin que necesita, siempre que se haya declarado el
correspondiente provider en el AndroidManifest , compartiendo informacin sin revelar
estructura u orden interno.

Implementan una interfaz, pero se comunica con ella a travs de la clase ContentResolver.
Cada vez que se usa un ContentResolver, se activa un ContentProvider. Para obtener los
datos necesarios, es necesario conocer la URI (identificador) del dato, los campos que
tiene, y los tipos de esos campos. Con esto ya podemos llamar al mtodo
ContentResolver.query().

Siempre que queramos acceder a alguna de las aplicaciones del telfono por ejemplo, la
lectura de contactos es necesario establecer el permiso en el archivo AndroidManifest.xml,
en este caso se podra especificar de la siguiente manera:

<uses-permission!
android:name=android.permission.READ_CONTACTS>!
</users-permission>!

Ejercicio:
Accederemos a uno de los contenidos del sistema, el log de llamadas, para ver cmo
funciona descrgalo del siguiente enlace: http://goo.gl/TPLupC

Procesos e hilos

La creacin de hilos por el sistema operativo Android est restringida para aumentar la
estabilidad del sistema, esto quiere decir que el sistema solo crear un hilo por aplicacin
que se est ejecutando, pero permite a los desarrolladores crear todos los hilos que crea
necesarios para la ejecucin de su aplicacin.

Interfaz de usuario

La interfaz de usuario es la principal seccin de interaccin entre persona y dispositivo. A
todas las funcionalidades disponibles se accede a travs de la pantalla, que es por donde
se muestra. Es muy importante conseguir que el manejo sea intuitivo y sencillo, y que el
aspecto visual sea atractivo.

31



M anual del participante

Para construirla, se emplean diferentes objetos que veremos a continuacin, todos ellos
descendientes de la clase View. Fundamentalmente hay 2: los propios objetos de tipo View,
como por ejemplo botones o etiquetas, y que son la base de una subclase llamada widgets;
y los de tipo ViewGroup, que es una clase que extiende a View, y que son la base de una
subclase llamada layouts. La estructura de la interfaz puede resumirse en el cuadro que se
muestra a continuacin.



Como podemos comprobar, los nodos ViewGroup son contenedores de elementos de tipo
View e incluso de otros elementos de su mismo tipo. Los controles de tipo View (obsrvese
que los nodos de este tipo son siempre hojas del rbol) son con los que el usuario
interacta.

32



M anual del participante

Recursos de una aplicacin



Para la programacin en Android, resulta conveniente separar los recursos que vaya a
necesitar la aplicacin (como imgenes u otro tipo de variables), de su cdigo, de tal modo
que se puedan mantener independientemente.

Conviene agruparlos en carpetas. El directorio res/, contiene todos los grupos de recursos,
y permite contener dentro otros tales como: animator/, anim/, color/, drawable/, layout/,
men/, raw/, values/, xml/. Excepto la 5 y la 7 opcin de la lista anterior, que soportan
recursos de tipo Bitmap o archivos arbitrarios, respectivamente, el resto
slo pueden contener documentos en XML.

Tambin se debera especificar un recurso para diferentes configuraciones
posibles de los dispositivos, puesto que mientras se ejecuta una aplicacin,
ste sistema operativo utiliza los recursos apropiados para la
configuracin activa. Es decir, que conviene tener recursos alternativos
(drawable, por ejemplo), por si el que tenemos por defecto no se ajusta apropiadamente en
caso de utilizar un dispositivo no habitual.

Para especificar esta configuracin alternativa, se ha de crear una nueva carpeta dentro de
res/, del estilo <resources_name>-<config_qualifier>, que representan el directorio por
defecto de un recurso determinado, y una configuracin individual sobre en qu caso se
puede usar ese recurso, respectivamente. Se permite aadir ms de un <config_qualifier>,
pero siempre separados con -. Posteriormente, slo queda incorporar los recursos
alternativos a la nueva carpeta, que deben tener el mismo nombre que los que son por
defecto. Por ejemplo, donde hdpi se refiere a dispositivos con densidad alta de pantalla:



carpeta D escripcin
identificador
res/drawable/ Ficheros en bitmap (.png, .jpg o .gif). Ficheros PNG en formato Nine-patch
R.drawable (.9.png). Ficheros XML con descriptores grficos (ver clase Drawable)
res/layout/
Ficheros XML con los Layouts usados en la aplicacin.
R.layout
res/menu/ Ficheros XML con la definicin de mens. Podemos asignar una actividad o
R.menu una vista.
res/anim/ Fichero XML que permiten definir una animacin Tween tambin conocidas
R.anim como animaciones de vista.
res/animator Ficheros XML que permiten modificar las propiedades de un objeto a lo largo

33



M anual del participante

carpeta D escripcin
identificador
R.animator del tiempo. Ver seccin: animacin de propiedades. Solo desde la versin 3.0.
res/xml/
Otros ficheros XML, como los ficheros de preferencias
R.xml
res/raw/ Ficheros que se encuentran en formato binario. Por ejemplo ficheros de
R.raw audio o vdeo.
Ficheros XML que definen un determinado valor para definir un color, estilo,
res/values/
cadena de caracteres se describen en la siguiente tabla.

Veamos los tipos de recursos que encontramos dentro de la carpeta values:

fichero por
defecto D escripcin
identificador
strings.xml Identifica cadenas de caracteres
R.string <string name="saludo">Hola Mundo!</string>

Un color definido en formato ARGB (alfa, rojo, verde y azul). Los valores se
indican en hexadecimal en uno de los siguientes formatos: #RGB, #ARGB,
colors.xml #RRGGBB #AARRGGBB
R.color <color name="verde_opaco">#0f0</color>
<color name="red_translucido">#80ff0000</color>

Un nmero seguido de una unidad de medida.


px - pixeles, mm - milmetros, in pulgadas, pt puntos (=1/72 pulgadas), dp
dimensions.xml pxeles independientes de la densidad (=1/160 pulgadas), sp igual que dp
R.dimen pero cambia segn las preferencias de tamao de fuente.
<dimen name="alto">2.2mm</dimen>
<dimen name="tamano_fuente">16sp</dimen>

Definen una serie de atributos que pueden ser aplicados a una vista o a una
styles.xml actividad. Si se aplican a una actividad se conocen como temas.
R.style <style name="TextoGrande"parent="@style/Text">
<item name="android:textSize">20pt</item>
<item name="android:textColor">#000080</item> </style>

Define un valor entero.


R.int <integer name="max_asteroides">5</integer>

Define un valor booleano.


R.bool <bool name="misiles_ilimitados">true</bool>

Define un recurso de ID nico. La forma habitual de asignar ID a los recursos


R.id
es utilizando el atributo id="@ +id/nom bre". Aunque en algunos casos

34



M anual del participante

puede ser interesante disponer de IDs previamente creados, para que los
elementos as nombrados tengan una determinada funcin. Este tipo de IDs
se utilizan en las vistas TabHost y ListView.
<item type="id" name="button_ok"/>
<item type="id" name="dialog_exit"/>

fichero por
defecto D escripcin
identificador
Una serie ordenada de elementos. Pueden ser de strings, de enteros o de
recursos (TypedArray)
<string-array name="dias_semana"><<item>lunes</item>
<item>martes</item>
</string-array>
<integer-array name="primos">
R.array
<item>2</item><item>3</item><item>5</item>
</integer-array>
<array name="asteroides">
<item>@drawable/asteroide1</item>
<item>@drawable/asteroide2</item>
</array>

Almacenamiento de datos

Hay cuatro maneras de almacenar los datos en Android, usaremos una u otra dependiendo
de la funcin que tengan dichos datos. Es importante destacar que los datos de cada
aplicacin son privados a dicha aplicacin, pero tenemos la posibilidad de compartirlos si
as lo deseamos, como veremos ms adelante.

Tenemos cuatro tipos de datos distintos, en funcin de lo que queramos almacenar. Dichos
tipos son:

1. Preferencias: Conjunto de datos, clave/valor
2. Archivos locales: Almacenamiento interno y externo (SD)
3. Base de datos: SQLite
4. Proveedores de contenidos: nico mecanismo para compartir datos, no se trata con
ellos directamente.

Archivos locales

En Android disponemos de dos tipos de memorias en las cuales podemos almacenar
informacin:

Memoria interna
Memoria externa

35



M anual del participante

# La memoria externa suele ser siempre ms grande que la interna, lo que nos
permite almacenar archivos con mayor capacidad.
# Para poder almacenar archivos en la memoria externa del telfono SD es
necesario agregar este permiso en el AndroidManifest.xml
<uses-permission
android:name="android.permission.WRITE_EXTER
NAL_STORAGE" />
</uses-permission>

36



M anual del participante

Base de D atos

Las bases de datos son una herramienta muy importante en el diseo de una
aplicacin en Android, y el cul pone a nuestra disposicin las libreras de SQLite
que nos permitirn a travs de cdigo SQL crear una base de datos y hacer todas las
operaciones posibles en ella.

Una herramienta que nos proporciona SQLite es la clase SQLiteOpenHelper, que
fcilmente nos proporciona crear nuestra base de datos y asi lograr un CRUD de
acciones.

Ejercicio: H arem os un form ulario sencillo en el que podem os registrar un
videojuego y adem s m ostrar la lista de resultados.
D escarga el cdigo del siguiente enlace: http://goo.gl/PG FDjM

Seguridad y permisos

El principio del diseo de la arquitectura de seguridad de Android es
que ninguna aplicacin tiene permisos para hacer algo que afecte a
otra. Cada aplicacin se ejecuta con una "identidad" distinta (ID de
usuario e ID de grupo). Para que dos aplicaciones pueden compartir
informacin han de declararse unos permisos.

Adems, todas las aplicaciones Android deben de estar firmadas con
una clave privada que posee cada desarrollador. Con esto, lo que Google pretende es tener
controlada la autora de las aplicaciones.

37



M anual del participante

38



M anual del participante

Perm isos

Una aplicacin bsica de Android no tiene los permisos asociados con ella, lo que significa
que no puede hacer nada que tenga efectos adversos sobre el sistema u otras aplicaciones.
Para acceder a caractersticas protegidas del sistema, es necesario declarar en el
AndroidManifest.xml los permisos que se van a solicitar.

Al usuario, cuando ste instala la aplicacin, se le pregunta si quiere aceptar o no estos
permisos. Es importante decir, que en tiempo de ejecucin no pueden cambiar los
permisos que se han aceptado, sino que tienen que darse de paso antes de la ejecucin. La
mayor parte de las veces, cuando hay un fallo de permisos se lanza una SecurityException.

Para conocer todos los permisos definidos en Android, se puede consultar:
http://developer.android.com/reference/android/Manifest.permission.html

En el siguiente cdigo se pueden ver declarados tres permisos diferentes:



INTERNET: permitimos abrir conexiones de red.
ACCESS_FINE_LOCATION: permite a la aplicacin que conozca de manera "precisa"
la ubicacin.

Por ejemplo, utilizando GPS.
ACCESS_COARSE_LOCATION: permite a la aplicacin conocer la ubicacin de
manera "menos" precisa. Por ejemplo, utilizando WIFI.

39



M anual del participante

D eclarar nuestros propios perm isos



Android permite declarar permisos personalizados, para utilizar dentro de una aplicacin.
Como con el resto de permisos normales, hay que declararlo en el AndroidManifest.xml,
aunque en este caso dando todos sus detalles. Los atributos a definir de un permiso
personalizado son:

# Android:nam e: Debe seguir un esquema <paquete>.permission.<nombre
del permiso>
# Android:perm issionG roup: Grupos de permisos al que pertenece este
permiso personalizado
# Android:label: Descripcin corta del permiso (no requerida). Extrada del
fichero de recursos cadena (strings.xml)
# Android:description: Descripcin larga del permiso, extrada del fichero
de recursos cadena (strings.xml)
# Android:icon: Los permisos pueden tener un icono asociado del conjunto
de recursos
# Android:protectionLevel: Indica la peligrosidad del permiso, que
cambiar la forma de notificar este permiso al usuario en la interfaz

Debemos recordar que el nivel de peligrosidad del permiso es un dato imprescindible y
que el atributo <permissionGroup> es opcional, y se usa para que el sistema sepa en qu
grupo le mostrar al usuario ese permiso. Si se puede, siempre es preferible utilizar uno de
los permisos definidos por Android.

Considera los siguientes puntos:

" Usar servicios web con ssl
" Crear APIKEY distintos para cada versin de app, asi se puede descontinuar alguna
APIKEY en caso de problemas de seguridad, forzando al upgrade.
" Guarden bien su Google Play public key, para que nadie publique apps en su
nombre.
" Pedir password dentro de la app, en caso de requerir una capa extra de seguridad.

Ideas, tips de seguridad

" Analizar el input del usuario para no permitir SQL injection a travs de la app mvil.
" Cuando se creen archivos, tengan cuidado de poner el modo correcto para que solo
la pueda leer la app correcta.
" Android utiliza un ambiente de seguridad similar a linux, con las apps corriendo en
forma limitada por el usuario a la hora de proveer los permisos.

40



M anual del participante


El manifiesto

Como ya se introdujo en el tema anterior, este fichero es un documento xml en el que se
declaran los elementos de la aplicacin, as como sus restricciones, permisos, procesos,
acceso a datos e interacciones con elementos de otras aplicaciones. Cada elemento se
declara con una etiqueta nica.

No debe confundirse este documento con el xml asociado a cada actividad. Los elementos
grficos y distribucin de la pantalla sern definidos para cada actividad dentro de su xml,
pero no en el Android Manifest. Al implementar el AndroidManifest se deben seguir unas
pautas para hacer ms comprensible el documento:



Este cdigo es generado por el SDK a partir de la informacin que se ha proporcionado al
crear el proyecto. Se declara el manifiesto con la etiqueta <manifest > y dentro se incluye el
paquete en que se encuentra la aplicacin y la versin del cdigo. Tambin incluye la
versin del sdk que usa (con la etiqueta <uses-sdk>). A continuacin, el usuario definir la
aplicacin, incluyendo todos sus componentes en la etiqueta <application>. La declaracin
de componentes puede ser desordenada, pero para un mejor manejo de este fichero, se
recomienda seguir algn tipo de orden. Las activities se declaran con la etiqueta
<activity>. En ellas, lo primero es aadir el nombre de la actividad (android:name), que
coincidir con el de la clase en que se define el comportamiento. Adems se pueden
aadir imgenes, as como cambiar los atributos de que se dispone. A continuacin, se
declararan los intent filters asociados a la actividad, en caso de que los haya.

Los service se declaran con la etiqueta <Service> y aunque tienen menos atributos que las
actividades, lo principal es darles un nombre y especificar si el sistema puede o no
utilizarlo mediante el atributo enabled (android:enabled). Despus iran los intent filters.
Los broadcast receiver utilizan <receiver> y al igual que service, necesita los atributos
name y enabled, as como intent filter en caso de necesitarlos. Todos los componentes
anteriores declaran del mismo modo sus intent filters. Los content provider utilizan la
etiqueta <provider> y son los nicos componentes en los que no se declaran intent filters,
ya que no son necesarios. De nuevo el nico atributo necesario es el nombre.

41



M anual del participante

ste archivo es uno de los ms importantes de cualquier aplicacin Android. Se genera


automticamente al crear el proyecto, y en l se encuentra definida la configuracin del
proyecto en XML (Actividades, Intents, los permisos de la aplicacin, bibliotecas, etc.). Por
ejemplo, el proyecto que vamos a generar (Hola Android), contiene un
AndroidManifest.xml como el siguiente:




Mi primera aplicacin

Para crear nuestro primer programa Android debemos tener instalado y configurado todo
el entorno virtual

Una vez tengamos todo nuestro entorno creado y configurado vamos a crear nuestro
primer programa Android.

Abrimos nuestro Eclipse y vamos a File -> New -> Android Application Project

Nos saldr un asistente para crear nuestra aplicacin. En la primera pantalla debemos
introducir los datos de nuestro programa:

- Application N am e: Nombre para la aplicacin.

- Project Nam e: Nombre para el proyecto en Eclipse.

42



M anual del participante


- Package Nam e: Nombre para el paquete de la aplicacin.





Al final nos quedara con una configuracin parecida a esta.



Una vez tengamos todos los datos insertados pulsamos en Next para continuar con el
asistente.

En la siguiente pantalla podremos elegir la configuracin del proyecto como la creacin de
un icono de lanzador, crear una activity, sitio creacin del proyecto, etc. Lo dejamos
todo por defecto y pulsamos en Next.











43



M anual del participante


Como hemos marcado crear un icono para el launcher en la siguiente pantalla nos ayudar
a crearlo. Yo voy a seleccionar la imagen de nuestro logo.



En la siguiente pantalla podremos seleccionar una activity ya creada por el asistente o
dejarla en blanco. Por defecto la dejamos en blanco

44



M anual del participante


Si pulsamos en next llegamos a la ltima pantalla de nuestro asistente. En esta podemos
definir un nombre para la activity y su layout. Adems, el asistente nos dar la opcin de
seleccionar el tipo de navegacin de nuestra aplicacin. Lo dejamos todo por defecto y
pulsamos en finish.



Ya tenemos nuestra aplicacin creada en Eclipse. Ahora, vamos a por el cdigo.

Si nos fijamos, eclipse al terminar el asistente de creacin nos ha abierto el archivo de
nuestro layout mostrando de manera grfica la forma que tendr nuestra pantalla y vemos
una pantalla blanca con un texto: Hello World! Esto es porque la aplicacin creada por
defecto por el asistente ya incluye el texto.

Vamos a cambiar este texto para hacer nuestra aplicacin un poco ms personal. Para ellos
nos vamos a la parte del cdigo.

Nota: Podemos ver los layouts de forma grfica o cdigo. Para cambiar entre una y otro
tenemos un par de botones en la parte inferior izquierda que pone Graphical Layout y
activity_main.xml

Nos centraremos en la etiqueta llamada TextView y en su atributo text. Si cambiamos este
atributo cambiaremos el texto.

Borramos todo lo que haya dentro de las comillas de text y nosotros vamos a poner Hola
Androides!

45



M anual del participante

Nos quedara un cdigo tal que as



Si volvemos a la vista grfica veremos como ya se ha cambiado nuestro
texto.

Para finalizar, vamos a lanzar nuestra aplicacin y ver cmo queda en el emulador. Los
proyectos Android se lanzan como cualquier aplicacin Java, solo hay que darle al botn
Run de Eclipse.

Una vez haya cargado nuestro emulador (tarda un poco), lanzara la aplicacin y ya
tenemos creada nuestra primera aplicacin Android!

46



M anual del participante

Conclusiones finales



















47



M anual del participante

Fuentes de consulta

Bibliografa

Autor: Salgado Anah
Ttulo: Certificacin Android Jr.


Cibergrafa


Autor: Montiel David
Ttulo: Mi primera aplicacin Android
Vnculo: http://creandoandroid.es/mi-primera-aplicacion-android-hello-
world/
Editor:

Autor: Manuel Bez, lvaro Borrego, Jorge Cordero,
Luis Cruz, Miguel Gonzlez, Francisco Hernndez,
David Palomero, Jos Rodrguez de Llera, Daniel Sanz,
Mariam Saucedo, Pilar Torralbo, lvaro Zapata
Ttulo: Introduccin a Android
Vnculo: http://pendientedemigracion.ucm.es/info/tecnomovil/documentos/android.pdf
Editor: Victoria Lpez (vlopez@fdi.ucm.es) y Grupo Tecnologa UCM
(www.tecnologiaUCM.es)

Autor: Condesa
Ttulo: Appcelerator Titanium para crear aplicaciones Android
Vnculo: http://androideity.com/2011/09/19/appcelerator-titanium-para-crear-
aplicaciones-android/#sthash.NUVXVka6.dpuf
Editor: androideity

Autor: Miguel Fernndez Surez
Marta Jardn Diego
Miguel Vallina lvarez
Ttulo: Permisos en Android
Vnculo: https://sites.google.com/site/roughalpha1/Tecnologia_Android/Desar
rollador/permisos-en-android
Editor: Blogger

48

S-ar putea să vă placă și