7/24/2019 Ciclo de Vida de las Actividades
1/12
Aplicaciones Mviles I 2015-II Ing. Alberto J. Flor Rodrge!
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
Ciclo de Vida de las Actividades
A lo largo de la ejecucin de una aplicacin existen componentes que sern creados, desechados,reutilizados y sobre los cuales el usuario navegar para obtener lo que busca de dicha aplicacin.
Por ejemplo, cuando la actividad inicia por primera vez, es lanzada al primer plano y obtiene el foco
del usuario. urante este proceso, el sistema Android invoca una serie de m!todos que son parte del
ciclo de vida de la actividad, en los cuales se pueden configurar componentes de la visto o lanzar
algunos servicios. "n caso el usuario lance otra actividad o cambie hacia otra aplicacin, el sistema
invocar de similar manera otro conjunto de m!todos al momento que la aplicacin o la actividad
actual entre en segundo plano.
"n los m!todos de tipo #$allbac%&, puedes declarar cmo debe comportarse tu actividad al
momento que deja o entra a estado activo. Por ejemplo, si tu aplicacin contiene algo de streaming
de audio o v'deo a trav!s de internet( al momento que se ejecuta una nueva actividad, puede pausar
la reproduccin y apagar la conexin de red. $uando regrese a su aplicacin, puede usted reconectar
o reestablecer el consumo de datos y continuar la reproduccin de su audio o v'deo.
Ahora procederemos a crear una aplicacin nueva, para poder manejar y observar las diferentesetapas del ciclo de vida de las actividades.
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
Android
7/24/2019 Ciclo de Vida de las Actividades
2/12
Aplicaciones Mviles I 2015-II Ing. Alberto J. Flor Rodrge!
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
). *niciamos Android +tudio e iniciamos un proyecto uevo en Android +tudio.
-. "n la siguiente pantalla vamos a configurar el nombre de la aplicacin, el dominio y su
ubicacin.
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
Android
7/24/2019 Ciclo de Vida de las Actividades
3/12
Aplicaciones Mviles I 2015-II Ing. Alberto J. Flor Rodrge!
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
. /uego seleccionamos el min +0 para nuestra aplicacin y el tipo de dispositivo para el que
la crearemos.
1. "n la siguiente pantalla vamos a elegir para efectos de este ejemplo que la actividad inicial
sea de tipo #2lan% Activity&.
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
Android
7/24/2019 Ciclo de Vida de las Actividades
4/12
Aplicaciones Mviles I 2015-II Ing. Alberto J. Flor Rodrge!
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
3. Paso siguiente ser escoger el nombre de nuestra actividad, el nombre del recurso que la
dibujar, el t'tulo y en caso de tener un men4 asociado, tambi!n se deber indicar. Para
efectos de esta primera aplicacin, vamos a dejar los datos como los muestra por defecto.
5. 6na vez que pulsamos el botn 7inish, Android +tudio empezar a generar la estructura y
los archivos necesarios para nuestra aplicacin, algunas de las dependencias no estn
contenidas en Android +tudio, es por esto la importancia de estar conectado a una l'nea de
internet al momento de la creacin de la aplicacin ya que Android +tudio descargar y
configurar automticamente cada dependencia necesaria.
8. "l objetivo de nuestra primera aplicacin es observar el comportamiento de nuestra
actividad principal, en torno a los m!todos callbac% que posee en su ciclo de vida.
9. Abrimos el fichero :ainActivity.java incluido en el paquete com.apmv).ciclodevida,
situado en la estructura de la aplicacin y agregaremos la sobreescritura de los m!todos
callbac% para mostrar el orden del ciclo de vida;
@Overrideprotected void onStart(){
super.onStart(); Toast.makeText(this,"Mtodo onStart",Toast.LENGTH_LONG).show();}
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
Android
7/24/2019 Ciclo de Vida de las Actividades
5/12
Aplicaciones Mviles I 2015-II Ing. Alberto J. Flor Rodrge!
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
@Overrideprotected void onRestart(){ super.onRestart(); Toast.makeText(this,"Mtodo onRestart",Toast.LENGTH_LONG).show();}
@Overrideprotected void onResue(){ super.onResue(); Toast.makeText(this,"Mtodo onResue",Toast.LENGTH_LONG).show();}
@Overrideprotected void on!ause(){ super.on!ause(); Toast.makeText(this,"Mtodo on!ause",Toast.LENGTH_LONG).show();}
@Override
protected void onStop(){ super.onStop(); Toast.makeText(this,"Mtodo onStop",Toast.LENGTH_LONG).show();}
@Overrideprotected void onestro#(){ super.onestro#(); Toast.makeText(this,"Mtodoonestro#",Toast.LENGTH_LONG).show();$$ip%eentaci&n estatica # an&nia de%o'eto Toast}
7/24/2019 Ciclo de Vida de las Actividades
6/12
Aplicaciones Mviles I 2015-II Ing. Alberto J. Flor Rodrge!
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
@pciones de desarrollador
Manipulando la Barra de Acciones (ActionBar)
"n la misma aplicacin que generamos anteriormente, vamos a realizar unos cambios 4tiles sobre
nuestra barra de acciones.
). amos a especificar las acciones mediante un recurso men4, para esto vamos a crear un
nuevo fichero en la carpeta res/mende nuestro proyecto.
-. ombraremos al nuevo fichero mainBactivityBactions.xml y copiaremos el cdigo siguiente;
"n el cdigo anterior observamos que llamamos el dominio android y su esquema android
para definir los elementos internos. +i dejamos el archivo de forma normal y trabajamos con AP* -)
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
Android
7/24/2019 Ciclo de Vida de las Actividades
7/12
Aplicaciones Mviles I 2015-II Ing. Alberto J. Flor Rodrge!
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
o superior tendremos problemas con la parte del shoCAsAction, as' que por este motivo definimos
un nuevo dominio que para este caso le hemos colocado el nombre de la aplicacin, esto no es
mandatorio, podr'a ser cualquier nombre debido a que el tiempo de vida ser slo el contenido en el
recurso xml y se realiza para no tener conflicto con las llamadas a acciones a lo largo de nuestra
ejecucin.
. Agregando las acciones declaradas a nuestra barra, para lograr esto, debemos de
indicarle a Android que inflaremos este men4 como el principal, para esto, vamos a la clase
principal de nuestra aplicacin y busquemos el siguiente m!todo
#on$reate@ptions:enuD:enu men4E&( una vez ubicados ah' revisemos el cdigo, vemos
que existe una l'nea que infla un men4, el que est por defecto definido, as' que la
cambiaremos y colocaremos el recurso que creamos, quedar'a algo as';
@Overridepu'%ic 'oo%ean onCreateOptionsMenu(Menu menu) { // Inflate the menu this adds items to the action bar if it is present
//get"enuInflater#$inflate#%menumenu&main, menu$ getMenuInflater().inflate(R.menu.main_activity_actions, menu) return true!
1. Agregando funcionalidad a los botones,para lograr esto vamos a ubicar el m!todo que
recibe y captura los 'tems elegidos del men4, este m!todo se llama
#on@ptions*tem+electedD:enu*tem 'temE&, observamos su cdigo y no es nada complicado,
vamos a ubicas la l'nea en la que eval4a el id capturado y agregaremos la condicional para
nuestro botn de b4squeda.
@Overridepu'%ic 'oo%ean onOptionsItem"ele#ted(MenuItem item) {
// 'andle action bar item clic(s here )he action bar will // automatically handle clic(s on the 'ome/*p button, so long // as you specify a parent activity in +ndroid"anifestml int id $ item.getItemId()
//noinspection SimplifiableIfStatement i (id $$ R.id.action_settings) { return true !e%se i(id $$ R.id.action_search){ %oast.ma(e)et(this,"5ca se ostrar6a e% d6a%o-o para
'uscar",%oast.LENGTH_SHORT).s&o'() return true !
return super.onOptionsItem"ele#ted(item)!
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
Android
7/24/2019 Ciclo de Vida de las Actividades
8/12
Aplicaciones Mviles I 2015-II Ing. Alberto J. Flor Rodrge!
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
Comunicacin entre Actividades
/a siguiente parte de esta prctica se centrar en el uso del transporte de informacin hacia unanueva actividad para esto dise?aremos nuestro layout principal de la siguiente forma;
3. amos a ubicarnos en el archivo contentBmain.xml, que es donde se encuentra el mensaje
Fello GorldH Por defecto al realizar cambios se ver como sigue;
7/24/2019 Ciclo de Vida de las Actividades
9/12
Aplicaciones Mviles I 2015-II Ing. Alberto J. Flor Rodrge!
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" android1%a#out4a%i-n!arentStart*"true" />
7/24/2019 Ciclo de Vida de las Actividades
10/12
Aplicaciones Mviles I 2015-II Ing. Alberto J. Flor Rodrge!
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
9. 6na vez generada podemos dirigirnos a nuestro :anifiesto y observaremos que en la
declaracin de nuestra actividad :ostrar:ensaje el padre de esa actividad ser'a
:ainActivity.
. Ahora nos ubicamos en el fichero contentBmostrarBmensaje.xml y agregamos un =extieCpara mostrar ah' el resultado de la comunicacin;
7/24/2019 Ciclo de Vida de las Actividades
11/12
Aplicaciones Mviles I 2015-II Ing. Alberto J. Flor Rodrge!
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
//uncionalidad del .otn Saludarina% dit%et nom*re $ (dit%et)find+ie'-Id(R.id.edt_Nombre)
utton *tngo $ (utton)find+ie'-Id(R.id.btn_Go)*tngo.setOnCli#0istener(new +ie'.OnCli#0istener() {
@Override pu'%ic void onCli#(+ie' vie') { //0olocamos el mvalor en un ob1eto .undle undle *undle $ new undle() *undle.put"tring("=OM9R
7/24/2019 Ciclo de Vida de las Actividades
12/12
Aplicaciones Mviles I 2015-II Ing. Alberto J. Flor Rodrge!
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
Irupo face +*J55).
Iithub.
$onceptos de P@@, abstraccin, polimorfismo,
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
Android
Top Related