ciclo de vida de las actividades

Upload: esly-yoel-carbajal-mingol

Post on 20-Feb-2018

219 views

Category:

Documents


0 download

TRANSCRIPT

  • 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