Upload
nicolas-toro
View
223
Download
0
Embed Size (px)
Citation preview
7/23/2019 Instrucciones Actividad Semana 4
http://slidepdf.com/reader/full/instrucciones-actividad-semana-4 1/12
En esta actividad vas a trabajar con los métodos del ciclo de vida. Paraello debes descargarte el siguiente proyecto: CCC19.zip.
Tras completar esta actividad serás capaz de
1. Identificar en ué orden se realiza la secuencia de llamadas a losmétodos del ciclo de vida cuando se cambia de actividad.
!. Identificar en ué orden se realiza la secuencia de llamadas a losmétodos del ciclo de vida cuando se cierra una actividad al apretar albot"n back.
#. Identificar en ué orden se realiza la secuencia de llamadas a los
métodos del ciclo de vida cuando se gira el dispositivo.$%%$&'$%
(1)1 punto*$rranca la app del proyecto '''1+ e indica ué métodos del ciclo devida de la actividad se ejecutan mirando el ,og'at (Para abrir la pesta-ade la vista ,og'at debes seleccionar indo/ 0 23o/ 4ie/ 0 5t3er 0$brir carpeta $ndroid y seleccionar ,og'at*. $ continuaci"n muestra la
secuencia arrastrando los elementos correspondientes sobre la imagende la vista ,og'at:
&ota: filtra los mensajes de la vista ,og'at para ue solo aparezcanauellos con la etiueta ,ife'ycleTest.
7/23/2019 Instrucciones Actividad Semana 4
http://slidepdf.com/reader/full/instrucciones-actividad-semana-4 2/12
'orrecto
EXPLICACIÓN
La respuesta correcta es created, started y resumed. Estos métodos
se ejecutan en rápida sucesión. Cuando terminan la app pasa a estar
en primer plano.
OCULTAR RESPUESTA Usted ha realizado 2 de 2 intentos de envío
65T7& 6$'8
(1)1 punto*Pulsa el bot"n de la vista ,og'at para borrar todos los mensajes y acontinuaci"n9 con la aplicaci"n en primer plano en el m"vil o emulador9pulsa el bot"n $trás (bot"n Back * ;ué métodos se ejecutan< 2obre laimagen siguiente de la vista ,og'at muestra la secuencia de métodosejecutados arrastrando los elementos correspondientes. 2olo debesponer los métodos ue son llamados tras apretar el bot"n bac=:
&ota: filtra los mensajes de la vista ,og'at para ue solo aparezcanauellos con la etiueta ,ife'ycleTest.
7/23/2019 Instrucciones Actividad Semana 4
http://slidepdf.com/reader/full/instrucciones-actividad-semana-4 3/12
'orrecto
7/23/2019 Instrucciones Actividad Semana 4
http://slidepdf.com/reader/full/instrucciones-actividad-semana-4 4/12
EXPLICACIÓN
La respuesta correcta es: paused, stopped y destroyed.
OCULTAR RESPUESTA
Usted ha realizado 1 de 2 intentos de envío
E2T$>5 >E ,$ $'TI4I>$> T%$2 >$% $ 6$'8
(1)1 punto*En el caso de la pregunta anterior tras apretar el bot"n bac= 'uál es elestado en el ue ueda la actividad de nuestra app<
Parada En pausa Actia !estruida !estruida " Correcto
EXPLICACIÓN
'uando se aprieta al boton bac= la actividad se destruye
completamente.
OCULTAR RESPUESTA Usted ha realizado 1 de 1 intentos de envío
'$?6I$% >E $PP
(1)1 punto*$3ora con la app en primer plano9 pulsa el bot"n de la vista ,og'atpara borrar todos los mensajes y a continuaci"n9 navega a otra app (sindar al bot"n bac=* ;ué métodos se ejecutan en este caso< &avega devuelta a la actividad. ;ué métodos se ejecutan en esta ocasi"n< 2obrela imagen siguiente de la vista ,og'at muestra toda la secuencia de
métodos ejecutados arrastrando los elementos correspondientes.
&ota: filtra los mensajes de la vista ,og'at para ue solo aparezcanauellos con la etiueta ,ife'ycleTest.
7/23/2019 Instrucciones Actividad Semana 4
http://slidepdf.com/reader/full/instrucciones-actividad-semana-4 5/12
7/23/2019 Instrucciones Actividad Semana 4
http://slidepdf.com/reader/full/instrucciones-actividad-semana-4 6/12
'orrecto
EXPLICACIÓN
Cuando la app pasa a se#undo plano la secuencia es: paused$%,
on&ae'nstance&tate$% y stopped$%. Cuando la app uele al primer
plano la secuencia es restarted$%, started$% y resumed$%.
OCULTAR RESPUESTA Usted ha realizado 2 de 2 intentos de envío
E2T$>5 >E ,$ $'TI4I>$>
(1)1 punto*En el caso de la pregunta anterior cuando otra app pasa a estar enprimer plano 'uál es el estado en el ue ueda la actividad de nuestraapp<
Parada Parada " Correcto En pausa Actia !estruida
EXPLICACIÓN
'uando se cambia de actividad o aplicaci"n no se destruye la
actividad9 simplemente se pausa primero y a continuaci"n se para con
lo ue ueda en segundo plano. $unue en situaciones de falta de
recursos puede ser destruida por el sistema.
OCULTAR RESPUESTA Usted ha realizado 1 de 1 intentos de envío
I&TE&T2
7/23/2019 Instrucciones Actividad Semana 4
http://slidepdf.com/reader/full/instrucciones-actividad-semana-4 7/12
(!)! puntos*$3ora a-ade al proyecto otra actividad con nombre 5tra$ctivity y de tipo@Empty$ctivity@ (,a secuencia para crear la activiadad es bot"n derec3o
sobre el proyecto0&e/00$ctivity*. $3ora vamos a a-adir el c"digonecesario para arrancar esta actividad desde ?ain$ctivity. Para ello creaun bot"n en ?ain$ctivity y as"ciale un evento con el c"digo necesariopara arrancar 5tra$ctivity.
?arca todas las opciones ue permiten arrancar la actividad creada(Pruébalo en $ndroid 2tudio*:
• 4ersi"n 1
'ntent intent ( new 'ntent$this, )traActiity.class%*startActiity$intent%*
• 4ersi"n !
startActiity$new 'ntent$this, )traActiity.class%%*
• 4ersi"n #'ntent intent ( new 'ntent$+)traActiity+, )traActiity.class%*
startActiity$intent%*
ersión 1 ersión - ersión
ersión 1, ersión -, " Correcto
$3ora a-ade el siguiente c"digo al método onPause(* del ciclo de vida:
try / 0read.sleep$12222%*3 catch $E4ception e% /
3
y contesta ué pasa al apretar el bot"n:
!a un error de ejecución. La entana se 5ueda 6lo5ueada
durante 12 se#undos antes de 5ue aparezca )traActiity. La entana se
5ueda 6lo5ueada durante 12 se#undos antes de 5ue aparezca
7/23/2019 Instrucciones Actividad Semana 4
http://slidepdf.com/reader/full/instrucciones-actividad-semana-4 8/12
)traActiity. " Correcto En apariencia no cam6ia nada con respecto a
la anterior ejecución.
EXPLICACIÓN
,as dos primeras opciones permiten arrancar la actividad 5tra$ctivity.
,a tercera opci"n no es válida. Para arrancar 5tra$ctivity usando una
acci"n especificada como cadena debemos a-adir un elemento intent0
filter a la actividad en el fic3ero de manifiesto y darle un nombre de
acci"n a poder ser Anico. Por ejemplo se puede crear el intent
como Intent intent = new
Intent("es.uam.eps.android.OtraActivity"); si se a-ade lo
siguiente al fic3ero de manifiesto:
<activity
android:name=".OtraActivity"
android:label="@strin!titleactivityotra" #
<intent$%ilter#
<action
android:name="es.uam.eps.android.OtraActivity" !#
<cateory
android:name="android.intent.cateory.&'A*+" !#
<!intent$%ilter#
<!activity #
7/23/2019 Instrucciones Actividad Semana 4
http://slidepdf.com/reader/full/instrucciones-actividad-semana-4 9/12
La respuesta correcta a la se#unda pre#unta es +La entana se 5ueda
6lo5ueada durante 12 se#undos antes de 5ue aparezca )traActiity+.
7asta 5ue no aca6a de ejecutarse el método onPause$% no empieza la
creación de la si#uiente actiidad. Por ello, es importante no poner el
códi#o 5ue re5uiera de muca cpu en el método onPause$% y dejarlo
para on&top$%.
OCULTAR RESPUESTA Usted ha realizado 2 de 2 intentos de envío
P$2$&>5 >$T52 '5& I&TE&T2
(!)! puntos*$3ora vamos a pasar un dato (en este caso simplemente la cadena deteBto @Cola 5tra $ctividad@* a la actividad 5tra$ctivity desde la actividad?ain$ctivity.
2elecciona la forma correcta para enviar la cadena desde ?ain$ctivity(primera pregunta* y la opci"n correcta para recibir la cadena en elmétodo on'reate(* de 5tra$ctivity (segunda pregunta*. En losfragmentos de c"digo de más abajo se usan métodos ue no 3emosvisto en la documentaci"n. &o es necesario saber eBactamente sucometido. >ebes probar cuál es la combinaci"n correcta9 para luegoentender su funcionamiento.
Prueba el c"digo antes de responder. 2elecciona la opci"n correcta para
enviar datos:
• 4ersi"n 1
'ntent intent ( new 'ntent$this, )traActiity.class%*intent.putE4tra$+CLAE8'P01+, +7ola )tra Actiidad+%*startActiity$intent%*
7/23/2019 Instrucciones Actividad Semana 4
http://slidepdf.com/reader/full/instrucciones-actividad-semana-4 10/12
• 4ersi"n !
'ntent intent ( new 'ntent$this, )traActiity.class%*intent.set!ata$+CLAE8'P01+, +7ola )tra Actiidad+%*startActiity$intent%*
• 4ersi"n #'ntent intent ( new 'ntent$this, )traActiity.class%*intent.set!ata$ri.parse$+7ola )tra Actiidad+%%*startActiity$intent%*
ersión 1 ersión 1 " Correcto ersión - ersión
?arca la opci"n para recibir los datos en el método on'reate(* de5tra$ctivity y para a continuaci"n mostrarlos en un TeBt4ie/ con idtvCola:
• 4ersi"n 1&trin# cadena ( saed'nstance&tate.#et&trin#$+CLAE8'P01+%*$$0e4tie;%<ndie;=y'd$>.id.t7ola%%.set0e4t$cadena%*
• 4ersi"n !
'ntent intent ( #et'ntent$%*&trin# cadena ( intent.tori$2%*$$0e4tie;%<ndie;=y'd$>.id.t7ola%%.set0e4t$cadena%*
• 4ersi"n #'ntent intent ( #et'ntent$%*&trin# cadena ( intent.#etE4tras$%.#et&trin#$+CLAE8'P01+%*
$$0e4tie;%<ndie;=y'd$>.id.t7ola%%.set0e4t$cadena%*
ersión 1 ersion - ersión ersión " Correcto
EXPLICACIÓN
Para enviar datos eBtra desde la actividad invocadora (?ain$ctivity*
3ay ue usar el método putEBtra(*9 asociando una clave al dato en
cuesti"n. En esta caso le asociamos la clave @',$4EDI&PT1@.
7/23/2019 Instrucciones Actividad Semana 4
http://slidepdf.com/reader/full/instrucciones-actividad-semana-4 11/12
Para recibir los datos en la actividad invocada (5tra$ctivity en este
caso* debemos recuperar el intent ue se 3a usado para llamar a la
actividad (llamando al método getIntent(** y de a3F recuperar el datoen cuesti"n usando la clave9 en este caso @',$4EDI&PT1@.
OCULTAR RESPUESTA Usted ha realizado 1 de 1 intentos de envío
I&TE&T2 P$%$ ,,$?$% $ $'TI4I>$>E2 >E, 2I2TE?$
(!)! puntos*$3ora pon el siguiente c"digo cuando se pulse el bot"n de ?ain$ctivity:
'ntent i ( new 'ntent$'ntent. ACTION_DIAL %*i.set!ata$ri.parse$ +tel:??111111111+ %%*
startActiity$i%*
Ejecuta la app e indica ué sucede al pulsar el bot"n
&e arranca el teclado del telé@ono, pero no llama. &e arranca el
teclado del telé@ono, pero no llama. " Correcto &e arranca el teclado
del telé@ono y comienza a llamar al nmero especi<cado. !a un error
de ejecución al apretar el 6otón.
$3ora cambia la acci"n $'TI5&D>I$, por $'TI5&D'$,, y vuelve aejecutar la app. &o incluyas ningAn permiso en el fic3ero de manifiesto.
;ué sucede al apretar el bot"n:
&e arranca el teclado del telé@ono, pero no llama. &e arranca el
teclado del telé@ono y comienza a llamar al nmero especi<cado. !a
un error de ejecución al apretar el 6otón. !a un error de ejecución al
apretar el 6otón. " Correcto
EXPLICACIÓN
7/23/2019 Instrucciones Actividad Semana 4
http://slidepdf.com/reader/full/instrucciones-actividad-semana-4 12/12
En el caso de $'TI5&D>I$,9 se abre el marcador del teléfono con el
nAmero premarcado pero no llama. ,a app no necesita ningAn
permiso especial para ejecutar esta acci"n.
En el caso de $'TI5&D'$,,9 la aplicaci"n intenta llamar
directamaente al nAmero indicado sin intervenci"n del usuario. Para
ue la aplicaci"n pueda llamar 3ay ue incluir el permiso
android.permission.'$,,DPC5&E en el fic3ero de manifiesto. En este
caso al intentar llamar sin ese permiso se produce un error en
ejecuci"n y la app se detiene.
OCULTAR RESPUESTA Usted ha realizado 1 de 1 intentos de envío