Está en la página 1de 14

DESARROLLO DE UNA APLICACIN SENCILLA

Hasta ahora, ya hemos instalado el entorno de desarrollo y hemos comentado la estructura bsica
de un proyecto Android y los componentes de una aplicacin
Aqu se describen los pasos bsicos para realizar una sencilla aplicacin.
1. Primer programa: Hola undo
!reamos un proyecto nue"o
#ile $ %e& $ 'ther
(i el plugin de Android se ha instalado correctamente debe aparecer un cuadro de dilogo con la
opcin de Android Application Proyect
Programacin Multimedia y Disositi!os M!iles
)ellenamos las caractersticas del proyecto como sigue
!reamos una acti"idad y un icono para lanzar la aplicacin
Programacin Multimedia y Disositi!os M!iles
Ponemos la imagen que queramos a nuestro icono
*ndicamos cual "a ha ser el nombre de nuestra acti"idad Hola+am y se crearn toda la estructura
necesaria de carpetas para el proyecto. !on esto tendremos creada toda la estructura del proyecto
Programacin Multimedia y Disositi!os M!iles
,a acti"idad principal es acti"ity-hola-dam..ml que aparece por de/ecto con el siguiente
contenido:
0n el /ichero 1, se de/ine el aspecto "isual de nuestra aplicacin. 0n este caso se de/ine que la
aplicacin contendr un campo de "isualizacin de te.to. 0ste campo debe ir asociado a una
"ariable del /ichero (trings..ml que en este caso se llama hello-&orld
Para "er el aspecto "isual de la Acti"ity podemos abrir la pesta2a 3raphical ,ayout
(i queremos lanzar la aplicacin accedemos al men4 )un56 )un as56Android Aplication
Programacin Multimedia y Disositi!os M!iles
7. 080)!*!*'( *%*!*A,0(
E"ercicio # 9:u; modi/icaciones debemos realizar para que se "isualice <esta es mi primera
aplicacin=>
E"ercicio $ odi/ica el programa anterior a2adi;ndole una segunda cadena que muestro lo
siguiente
Programacin Multimedia y Disositi!os M!iles
?.5 +esarrollo de una aplicacin con dos Acti"ities
@amos a desarrollar una aplicacin un poco mas complicada 9no>.............
!onstar de dos pantallas Apor lo que tendremos dos Acti"itiesB , por un lado la pantalla principal
que solicitar al usuario que escriba su nombre, en una segunda pantalla se mostrar un mensaCe
personalizado
Programacin Multimedia y Disositi!os M!iles
Pasos a seguir%
1B !rear un nue"o proyecto Android al que llamaremos <HolaDsuario=. +aremos un
nombre a la aplicacin e indicaremos que se cree una acti"idad llamada
HolaDsuario.
7B +ise2aremos la pantalla principal modi/icando la que 0clipse ha creado por
de/ecto.
0n Android, el dise2o y la lgica de una pantalla estn separados en dos /icheros
distintos. Por un lado, en el /ichero EresElayoutEmain..ml tenemos el dise2o "isual de la
pantalla de/inido como /ichero 1,. Por otro lado, en el /ichero
EsrcEpaqueteCa"aEHolaDsuario.Ca"a, encontraremos el cdigo 8a"a que determina la lgica de
la pantalla.
odi/icaremos en primer lugar el aspecto de la "entana principal de la aplicacin
a2adiendo los controles A"ie&sB que tenemos en la siguiente captura de pantalla.
(ustituiremos por tanto el contenido del /ichero main..ml por el siguiente:
F>.ml "ersionG"1.0" encodingG"utf-8">6
F,inear,ayout .mlns:androidG"http://schemas.android.com/apk/res/android"
android:layout-&idthG"fill_parent"
android:layout-heightG"fill_parent"
android:orientationG"vertical" 6
FHe.t@ie&
android:layout-&idthG"fill_parent"
android:layout-heightG"wrap_content"
android:te.tG"@string/hello" E6

F0ditHe.t
android:idG"@+id/!t"om#re"
android:layout-&idthG"fill_parent"
android:layout-heightG"wrap_content"
android:inputHypeG"te!t$erson"ame" E6

FIutton android:idG"@+id/%tn&ola"
android:layout-&idthG"wrap_content"
android:layout-heightG"wrap_content"
android:te.tG"@string/hola" E6
FE,inear,ayout6
Programacin Multimedia y Disositi!os M!iles
0n este documento 1, tenemos de/inidos los elementos "isuales de la inter/az de
nuestra pantalla principal, especi/icndose adems todas sus propiedades. Pod;is apreciar que
al abrir con 0clipse dicho /ichero nos muestra la inter/az gr/ica y no el cdigo. Para pasar a "er el
cdigo 1, debemos pulsar en la pesta2a main..ml. Podemos pasar de una pesta2a a la otra
y "er cmo quedan los cambios que "amos realizando tanto en una como en la otra. 0l dise2o
de las pantallas podremos realizarlo mediante la inter/az gr/ica o mediante cdigo.
,o primero que nos encontramos es un elemento LinearLayout. ,os layout son
elementos no "isibles que determinan cmo se "an a distribuir en el espacio los controles que
incluyamos en su interior.
0n nuestro caso, un LinearLayout distribuir los controles uno tras otro y en la
orientacin que indique su propiedad android%orientation&
+entro del layout hemos incluido ? controles: una etiqueta A'e(t)ie*B, un cuadro de
te.to +Edit'e(tB, y un botn A,uttonB. 0n todos ellos hemos establecido las siguientes
propiedades:
android%id. *+ del control, con el que podremos identi/icarlo ms tarde en nuestro
cdigo. @emos que el identi/icador lo escribimos precedido de < -.id /=. 0sto tendr
como e/ecto que al compilarse el proyecto se genere automticamente una nue"a
constante en la clase ) para dicho control.
android%te(t. He.to del control. 0n Android, el te.to de un control se puede especi/icar
directamente, o bien utilizar alguna de las cadenas de te.to de/inidas en los recursos
Programacin Multimedia y Disositi!os M!iles
del proyecto A/ichero strings&(mlB, en cuyo caso indicaremos su identi/icador precedido
del pre/iCo 0-string/=.
android%layout12eig2t y android%layout1*idt2& +imensiones del control con
respecto al layout que lo contiene. 0sta propiedad tomar normalmente los "alores
<*ra1content= para indicar que las dimensiones del control se aCustarn al contenido
del mismo, o bien <3ill1arent= para indicar que el ancho o el alto del control se
aCustar al ancho o alto del layout contenedor respecti"amente.
?B Ahora "amos a de/inir la inter/az de la segunda pantalla, creando en /res/layout un
nue"o /ichero llamado antallaMensa"e&(ml4 y a2adiendo tan solo una etiqueta
A'e(t)ie*B para mostrar el mensaCe personalizado al usuario. APara crear un
/ichero .ml haremos clicJ con el botn derecho en la carpeta EresElayout y
elegiremos <%e&56'therK= y despu;s <1,561, #ile=.
0ste /ichero quedara de la siguiente /orma:
LB Ma hemos de/inido la inter/az gr/ica de las pantallas de nuestra aplicacin. Ahora
debemos implementar la lgica. 0sto se de/ine en /icheros Ca"a independientes.
Para la pantalla principal ya disponemos de un /ichero por de/ecto llamado
5olaUsuario&"a!a. @amos a "er el cdigo por de/ecto que contiene:
Para la pantalla principal ya disponemos de un /ichero por de/ecto llamado
5olaUsuario&"a!a. @amos a "er el cdigo por de/ecto que contiene:
Programacin Multimedia y Disositi!os M!iles
,as di/erentes pantallas de una aplicacin Android se de/inen mediante obCetos de tipo
Acti!ity. +e esta /orma, lo primero que encontramos en el /ichero 8a"a es la de/inicin de una
clase que hereda de Acti!ity.
Hambi;n apreciamos que se sobrescribe el m;todo onCreate, llamado cuando se crea
por primera "ez la acti"idad. Adems de la llamada a la implementacin en la clase padre, se
llama al m;todo setContent)ie*+R&layout&main6& !on esta llamada se indica a Android que
debe utilizar la inter/az gr/ica para esa acti"idad que est de/inida en el recurso
R&layout&main, que no es ms que la especi/icada en el /ichero res/layout/main&(ml&
NB !rearemos una nue"a acti"idad para la segunda pantalla de la aplicacin parecida a
esta primera. Por lo tanto, creamos en la carpeta Esrc y dentro del paquete de
nuestra aplicacin una nue"a clase PantallaMensa"e que herede de Acti!ity y que
implemente el m;todo onCreate indicando que utilice la inter/az de/inida en
R&layout&antallaMensa"e&
Programacin Multimedia y Disositi!os M!iles
0l cdigo por de/ecto de estas clases lo 4nico que hace es generar la inter/az.
OB 0mpezaremos a incluir la lgica de la aplicacin. Para ello, comenzaremos
con la acti"idad principal 5olaUsuario, obteniendo una re/erencia a los
di/erentes controles de la inter/az que necesitemos manipular. 0n
nuestro caso se trata simplemente del cuadro de te.to y del botn.
Para obtener estas re/erencias utilizaremos el m;todo 3ind)ie*,yId+6
indicando el *+ de cada control, de/inidos como siempre en la clase ):
PB Ahora ya tenemos acceso a los controles que hemos introducido en la
pantalla. ,o que haremos ahora es implementar las acciones a realizar en
el momento en el que se pulse el botn. As que debemos implementar
el e"ento onClic7 de ese botn:
0n el cdigo anterior podemos apreciar el uso de obCetos Intent. 0stos
obCetos nos sir"en para comunicar componentes y aplicaciones en Android. Henemos
"arios constructores de la clase Intent& 0n nuestro caso utilizamos un constructor para
llamar a una acti"idad desde otra de la misma aplicacin, por lo que le pasamos al
constructor una re/erencia a la propia acti"idad que est realizando la llamada
A5olaUsuario&t2isB, y la clase de la acti"idad a la que queremos llamar
APantallaMensa"e&classB.
QB 0n caso de querer mostrar una acti"idad ApantallaB solamente
quedara realizar una llamada a startActi!ity+64 pasndole como parmetro
el intent creado.
(in embargo en nuestro caso queremos pasarle tambi;n
in/ormacin a la acti"idadR queremos pasarle el nombre introducido por
el usuario en el cuadro de te.to. Para hacer esto crearemos un obCeto
,undle4 donde podemos almacenar una lista de pares cla"e5"alor con toda
la in/ormacin a pasar entre las acti"idades.
SB Ma habramos terminado la acti"idad principal Ala primera pantalla de
nuestra aplicacinB. Ahora debemos realizar la segunda pantalla.
!omenzamos ampliando el m;todo onCreate+6 obteniendo las re/erencias
a los obCetos que manipularemos, que en esta ocasin ser slo la
etiqueta de te.to.
+espu;s de esto tenemos lo ms interesante. (e trata de recuperar la
in/ormacin
pasada desde la acti"idad principal y asignarla como te.to de la etiqueta.
Para hacer esto accedemos en primer lugar al intent que ha originado la
acti"idad actual mediante el m;todo getIntent+6 y recuperamos su
in/ormacin asociada AobCeto ,undleB mediante el m;todo getE(tras+6&
1TB %os queda un 4ltimo paso. Hoda aplicacin Android utiliza un /ichero
especial en /ormato 1, AAndroidMani3est&(mlB para de/inir entre otras
cosas, los di/erentes elementos que la componen.
+e esta /orma, todas las acti"idades de la aplicacin deben quedar
recogidas en este /ichero. ,a acti"idad principal ya aparecer al crearse de
/orma automtica al crear el nue"o proyecto Android.
Por lo tanto, a2adimos la segunda acti"idad y nos quedar algo
como esto:
11B 0n caso de que todo sea correcto, debemos poder eCecutar el proyecto
sin errores y probarlo en el emulador.
%'HA: 0l emulador suele tardar un poquito en abrirse, instalar la aplicacin, etc. Por
eso os recomiendo que no cerr;is el emulador cuando hayis terminado de realizar
una prueba. +e esta /orma, cuando "ol"is a eCecutar la aplicacin, el emulador estar
ya abierto y slo tendr que realizar la instalacin de la misma.

También podría gustarte