Día 1- Introduccion a Android y Activities, Fragments e Intents

download Día 1- Introduccion a Android y Activities, Fragments e Intents

of 199

Transcript of Día 1- Introduccion a Android y Activities, Fragments e Intents

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    1/199

    www.lania.mx

     TODOS LOS DERECHOS RESERVADOS

    El Framework de Android desde

    elPunto de Vista del OESF

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    2/199

     – ¿Qué es Android?

     – Versiones de Android y sus características

     – La arquitectura de Android

     – Dispositios Virtua!es Android "AVD#

     – Desarro!!o de tu pri$era ap!icaci%n $%i! conAndroid

     – Estructura de una ap!icaci%n Android

    &ntroducci%n a !a '!ata(or$aAndroid

    )

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    3/199

    • Android es un siste$a operatio $%i! que esta *asado enuna ersi%n $odi+cada de Linu,-

    • En )../0 co$o parte de su estrate1ia de entrar a! $undo$%i!0 2oo1!e co$pr% Android y to$o su desarro!!o-

    • 2oo1!e esta*!eci% que Android (uera a*ierto y !i*re3 así !a$ayoría de! c%di1o de Android (ue !i*erado *a4o !a !icenciaApac5e open6source-

    • Los $anu(acturadores de 5ard7are pueden a1re1ar suspropias e,tensiones a Android y persona!i8ar Android paradi(erenciar sus productos de otros-

    ¿Qué es Android ?

    9

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    4/199

    • Este si$p!e $ode!o de desarro!!o 5ace a Android $uy atractio y 5adespertado e! interés de $uc5as co$pa:ías ta!es co$o ;otoro!a ySony Ericsson-

    • Cuando e! &p5one (ue !an8ado a! $ercado0 $uc5as de estas co$pa:íasse ieron o*!i1adas a encontrar nueas (or$as de reita!i8ar susproductos-

    • Estos $anu(acturadores de 5ard7are en en Android una so!uci%n0 e!cua! !es per$ite continuar desarro!!ando sus equipos y uti!i8ar Androidco$o e! siste$a operatio que potencia!ice estos-

    • La principa! enta4a de adoptar Android es que o(rece un en(oqueuni+cado para desarro!!ar ap!icaciones- Los desarro!!adores so!a$entenecesitan desarro!!ar para Android y sus ap!icaciones de*erían sercapaces de e4ecutarse en di(erentes dispositios-

    ¿Qué es Android ?

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    5/199

    • La si1uiente ta*!a $uestra !as ersiones de Android y susno$*res6c%di1o=

    Versiones de Android

    /

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    6/199

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    7/199

    • Ap!icaciones escritas para ersiones de Android anteriores a 9-.son co$pati*!es con dispositios Android 9-.- y se e4ecutan sinrea!i8ar $odi+caciones-

    • Ap!icaciones para ta*!ets con Android 9-. que 5acen uso de !as

    nueas características disponi*!es en 9-.0 sin e$*ar1o0 no serBncapaces de e4ecutarse en dispositios anteriores-

    • En octu*re de ).>>0 2oo1!e !i*er% Android

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    8/199

    • Android soporta !as si1uientes características=

     –  Almacenamiento:  ti!i8a SQLite0 una *ase de datos re!aciona! !i1era0para a!$acena$iento de datos-

     – Conectividad:  Soporte para 2S;ED2E0 &DE0 CD;A0 EV6DO0 ;TS0F!uetoot50 Gi6i0 LTE0 y Gi;AI

     – Mensajes: Soporta S;S y ;;S

     – Web Browser: Fasado en Ge* @it 4unto con e! $otor de JaaScript VK

     – Media: H-)90 H-)< "in 92' or ;'< container#0 ;'E26< S'0 A;R0 A;R6GF "in 92' container#0 AAC0 HE6AAC "in ;'< or 92' container#0 ;'90;&D&0 O11 Vor*is0 GAV0 J'E20 '20 2&0 y F;'

    Características de Android

    K

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    9/199

    Características de Android

     – Hardware:  Ace!er%$etro0 CB$ara0 co$pas di1ita!0 sensor depro,i$idad y 2'S-

     –

    Multi-touch: Soporta panta!!as $u!ti6touc5

     – Multi-tasking: Soporta ap!icaciones $u!titareas

     – Flash: Android )-9 soporta !as5 >.->

     – Tethering:  Soporta cone,iones a internet co$o un 5otspota!B$*ricoina!B$*rico

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    10/199

    • E! siste$a operatio Android es or1ani8ado en cuatro capasprincipa!es=

     – ernel de linu!: Esta capa contiene todos !os driers de! dispositio de *a4onie! para !os di(erentes co$ponentes de 5ard7are de un dispositio Android-

     – "ibrer#as:  Estas contienen todo e! c%di1o que proee !as característicasprincipa!es de! siste$a operatio Android-

     –  Android runtime: En !a capa de !i*rerías0 e! android runti$e proee uncon4unto de !i*rerías core que per$ite a !os desarro!!adores escri*ir AppsAndroid usando Jaa- E! Android runti$e ta$*ién inc!uye !a $Bquina irtua!Da!i@0 !a cua! per$ite a cua!quier ap!icaci%n Android e4ecutar sus propiosprocesos con son su propia instancia de !a $Bquina irtua! Da!i@-

    Arquitectura de Android

    >.

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    11/199

    Arquitectura de Android

     – Framework de la A$licaci%n: Esta capa proporciona !as distintascapacidades de! SO Android a !os desarro!!adores para !aconstrucci%n de ap!icaciones $%i!es-

     –  A$licaciones: So*re esta capa se encuentran !as ap!icaciones queco$pras con e! dispositio Android co$o ta$*ién !asap!icaciones que descar1as e insta!as de! Android $ar@et-

    >>

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    12/199

    Arquitectura de Android

    >)

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    13/199

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    14/199

    Crear Dispositios Virtua!es Android"AVD#

    • 'ara crear un AVD se!ecciona MGindo7N y después MAVD;ana1erN

    ><

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    15/199

    Crear Dispositios Virtua!es Android"AVD#

    • En e! diB!o1o de! $ane4ador de! AVD0 c!ic@ a! *ot%n Me7Npara crear un nueo AVD

    >/

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    16/199

    Crear Dispositios Virtua!es Android"AVD#

    En e! diB!o1o de crear nueo AVD0 introduce y se!ecciona !ose!e$entos que quieras tener en tu AVD-

    >

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    17/199

    Crear Dispositios Virtua!es Android"AVD#

    'ara pro*ar un AVD se!ecciona uno de !a !ista de !a entanade diB!o1o M;ane4ador de AVDN y c!ic@ a! *ot%n de MStartN

    >

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    18/199

    Crear Dispositios Virtua!es Android"AVD#

    >K

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    19/199

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    20/199

    Desarro!!o de tu pri$era ap!icaci%nAndroid

    )-6 E,pande !a carpeta de Android y se!ecciona Android 'ro4ect⇒ e,t

    ).

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    21/199

    Desarro!!o de tu pri$era ap!icaci%nAndroid

    9-6 o$*ra a! proyecto Android co$o He!!oGor!d y después c!ic@a e,t

    )>

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    22/199

    Desarro!!o de tu pri$era ap!icaci%nAndroid

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    23/199

    Desarro!!o de tu pri$era ap!icaci%nAndroid

    /-6 La si1uiente entana $uestra !as opciones para con+1urar!as características de! icono de su ap!icaci%n

    )9

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    24/199

    Desarro!!o de tu pri$era ap!icaci%nAndroid

    -6 Crea una actiidad en *!anco por se!eccionar F!an@ Actiity⇒ e,t

    )<

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    25/199

    Desarro!!o de tu pri$era ap!icaci%nAndroid

    -6 o$*ra a tu actiidad ;ainActiity y a! !ayout co$oactiity$ain

    )/

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    26/199

    Desarro!!o de tu pri$era ap!icaci%nAndroid

    K-6 E! &DE de Ec!ipse de*ería $ostrar !a si1uiente panta!!a=

    )

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    27/199

    Desarro!!o de tu pri$era ap!icaci%nAndroid

    -6 En e! e,p!orador de paquetes e,pande e! proyectoHe!!oGor!d- En !a carpeta de res!ayout 5acer do*!e6c!ic@ a$ain-,$! "actiity$ain-,$!#

    )

    %

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    28/199

    Desarro!!o de tu pri$era ap!icaci%nAndroid

    >.-6 E! arc5io $ain-,$! de+ne !a inter(a8 de usuario " de tuap!icaci%n

    )K

    %

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    29/199

    Desarro!!o de tu pri$era ap!icaci%nAndroid

    >>-6 ;odi+car e! arc5io $ain-,$! con e! si1uiente c%di1o=

    >)-6 2uarda !os ca$*ios rea!i8ados por presionar Ctr! P S

    )

    !! d i !i i%

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    30/199

    Desarro!!o de tu pri$era ap!icaci%nAndroid

    >9-6 C!ic@ derec5o so*re e! no$*re de! proyecto en Ec!ipse andse!ecciona Run As ⇒ Android App!ication

    9.

    D !! d i !i i%

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    31/199

    Desarro!!o de tu pri$era ap!icaci%nAndroid

    >

    D !! d t i !i i%

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    32/199

    Desarro!!o de tu pri$era ap!icaci%nAndroid

    >/-6 C!ic@ so*re e! *ot%n Ho$e para $ostrar !a si1uiente panta!!a

    9)

    D !! d t i !i i%

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    33/199

    Desarro!!o de tu pri$era ap!icaci%nAndroid

    >-6 C!ic@ so*re a! *ot%n de ap!icaciones para desp!e1ar !a !istade ap!icaciones insta!adas en e! dispositio-

    99

    D !! d t i !i i%

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    34/199

    Desarro!!o de tu pri$era ap!icaci%nAndroid

    ¿CuB! AVD serB uti!i8ado para pro*ar tu ap!icaci%n?

    9<

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    35/199

    C%$o (unciona

    'ara crear un proyecto en Android usando Ec!ipse se necesitaproporcionar !a si1uiente in(or$aci%n=

    • En Android0 una actiidad "Actiity# es una entana quecontiene !a inter(a8 de usuario de tus ap!icaciones- naap!icaci%n puede tener una o $Bs actiidades ";ainActiity#

    9/

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    36/199

    C%$o (unciona

    • En este si$p!e e4e$p!o0 se $odi+c% e! arc5io $ain-,$!"actiity$ain-,$!# para desp!e1ar !a cadena MT5is is $y +rstAndroid app!icationN y un *ot%n-

    E! arc5io $ain-,$! "actiity$ain-,$!# contiene !a inter(a8de usuario de !a actiidad0 !a cua! es $ostrada cuando;ainActiity es car1ada-

    • Cuando MdepurasN !a ap!icaci%n so*re e! e$u!ador de Android0

    !a ap!icaci%n es insta!ada auto$Btica$ente so*re e!e$u!ador-

    9

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    37/199

    Estructura de una ap!icaci%n Android

    Varios arc5ios y carpetas (or$an un proyecto en Android ene! e,p!orador de paquetes de Ec!ipse

    9

    src= contiene !os arc5ios (uente -4aa de!proyecto- En este e4e$p!o0 ;ainActiity-4aaes e! arc5io (uente de tu actiidad-

    1en= contiene e! arc5io R-4aa0 e! cua! es unarc5io 1enerado que re(erencia todos !osrecursos encontrados en e! proyecto-

    Li*rería Android

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    38/199

    Estructura de una ap!icaci%n Android

    9K

    assets= esta carpeta contiene !os recursos usados por !aap!icaci%n ta!es co$o HT;L0 arc5ios de te,to0 *ases dedatos0 entre otros-

    *in= esta carpeta contiene !os arc5ios construidos por e! ADTdurante e! procesos de i$p!antaci%n- En particu!ar este

    1enera e! arc5io -ap@ "Android pac@a1e#- n arc5io -ap@ ese! arc5io para distri*uir e insta!ar una ap!icaci%n de Android-

    res= esta carpeta contiene todos !os recursos uti!i8ados en tuap!icaci%n- Ade$Bs0 contiene otros su*6carpetas ta!es co$o=dra7a*!ereso!ution0 !ayout0 y a!ues-

    Android;ani(est-,$!= este es e! arc5io $ani(est para tuap!icaci%n Android- En este arc5io se especi+can !osper$isos necesitados por tus ap!icaci%n así co$o ta$*ién !osintent6+!ters0 receiers0 entre otros-

    Estructura de una ap!icaci%n

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    39/199

    E! arc5io $ain-,$! "actiity$ain-,$!# de+ne !a inter(a8 deusuario de tu ap!icaci%n- O*sera !o si1uiente=

    • En este caso e! strin1 se re+ere a! arc5io strin1s-,$!!oca!i8ado en !a carpeta resa!ues- 'or !o tanto0 strin15e!!ose re+ere a !a cadena 5e!!o de+nida en e! arc5io strin1-,$!-

    Estructura de una ap!icaci%nAndroid

    9

    Estructura de una ap!icaci%n

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    40/199

    La si1uiente +1ura $uestra otra carpeta !!a$ada a!ues6(rcon e! arc5io strin1s-,$! conteniendo !a $is$a cadena 5e!!oen (rancés-

    Estructura de una ap!icaci%nAndroid

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    41/199

    E! si1uiente arc5io i$portante a descri*ir en e! proyectoAndroid es e! Android;ani(est-,$!=

    Estructura de una ap!icaci%nAndroid

    Estructura de una ap!icaci%n

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    42/199

    E! arc5io Android;ani(est-,$! contiene !a si1uiente in(or$aci%nacerca de !a ap!icaci%n=

     – De+ne e! no$*re de! paquete de !a ap!icaci%n co$o net-!earn)dee!op-He!!oGor!d

     – La ersi%n de! c%di1o de !a ap!icaci%n es > "esta*!ecido por e! atri*uto

    android=ersioncode#- Este a!or es usado para identi+car e! nu$ero de ersi%n de!a ap!icaci%n-

     – E! no$*re de !a ersi%n de !a ap!icaci%n es >-. "esta*!ecido por e! atri*utoandroid=ersiona$e#0 e! cua! es usado para $ostrarse a! usuario-

     – E! atri*uto android=$inSd@Version de! e!e$ento uses6sd@ especi+ca !a ersi%n$íni$a de! SO so*re e! cua! !a ap!icaci%n se e4ecutarB-

     – La ap!icaci%n uti!i8a !a i$a1en !!a$ada ic!aunc5er-pn1 !oca!i8ada en !as carpetasdra7a*!e-

    Estructura de una ap!icaci%nAndroid

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    43/199

     – E! no$*re de !a ap!icaci%n es e! a!or de !a cadena appna$e

     – E,iste una so!a actiidad en !a ap!icaci%n especi+cada por e! arc5io;ainActiity-4aa-

     – Dentro de !a de+nici%n de esta actiidad0 se encuentra un e!e$ento!!a$ado intent6+!ter=

    • La acci%n para e! intent6+!ter es !!a$ada android-intent-action-;A&para indicar que esta actiidad sire co$o e! punto de entrada para !a

    ap!icaci%n-

    • La cate1oría para e! intent6+!ter es !!a$adaandroid-intent-cate1ory-LACHER para indicar que !a ap!icaci%npuede ser e4ecutada a traés de! icono $ostrado en e! dispositio-

    Estructura de una ap!icaci%nAndroid

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    44/199

    Con(or$e se a1re1uen $Bs arc5ios y carpetas a! proyecto0Ec!ipse auto$Btica$ente 1enerarB e! contenido de! arc5ioR-4aa0 e! cua! actua!$ente contiene !o si1uiente=

    Estructura de una ap!icaci%nAndroid

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    45/199

    ina!$ente0 e! c%di1o que conecta a !a actiidad con !ainter(a8 de usuario "$ain-,$! actiity$ain-,$!# es e!si1uiente=

    Estructura de una ap!icaci%nAndroid

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    46/199

     –

    E! cic!o de ida de una actiidad

     – so de ra1$ents para persona!i8ar !as &

     – Ap!icar esti!os y te$as a !as actiidades

     – Desp!e1ar actiidades co$o entanas de diB!o1o

     – Co$prender e! concepto de &ntents

     – ti!i8ar e! o*4eto &ntent para en!a8ar actiidades

     – Co$o !os intents +!ters ayudan a se!ectia$ente conectar otras actiidades

     – Desp!e1ar a!ertas a! usuario usando noti+caciones

    Actiities0 ra1$ents e &ntents

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    47/199

    'ara crear una actiidad "Actiity#0 se crea una c!ase 4aa que5erede de !a c!ase *ase Actiity

    Entendiendo !as Actiities

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    48/199

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    49/199

    • La c!ase *ase Actiity de+ne una serie de eentos que 1o*iernan e!cic!o de ida de una actiidad=

     – onCreate"#= L!a$ado cuando !a actiidad es creada-

     – onStart"#= L!a$ado cuando !a actiidad es isi*!e a! usuario-

     – onResu$e"#= L!a$ado cuando !a actiidad e$pie8a a interactuar con e! usuario-

     – on'ause"#= L!a$ado cuando !a actiidad actua! esta siendo pausada y !a preiaactiidad esta siendo reanudada-

     – onStop"#= L!a$ado cuando !a actiidad no es isi*!e a! usuario-

     – onDestroy"#= L!a$ado antes de que !a actiidad sea destruida por e! siste$a-

     – onRestart"#= L!a$ado cuando !a actiidad 5a sido parada y es reiniciada otra e8-

    Entendiendo !as Actiities

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    50/199

    • E! si1uiente dia1ra$a $uestra e! cic!o de ida de unaactiidad=

    Entendiendo !as Actiities

    /.

    Entendiendo e! cic!o de ida de una

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    51/199

    >-6 ti!i8ando Ec!ipse0 crea un nueo proyecto !!a$ado Actiity

    )-6 En e! arc5io ;ainActiity-4aa a1re1a !as si1uientessentencias=

    Entendiendo e! cic!o de ida de unaactiidad

    />

    Entendiendo e! cic!o de ida de una

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    52/199

    9-6 'resiona 6>>para e4ecutar !a ap!icaci%n so*re e! e$u!ador de

    Android "entana Lo1Cat#

    Entendiendo e! cic!o de ida de unaactiidad

    /)

    Entendiendo e! cic!o de ida de una

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    53/199

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    54/199

    -6 En este caso e! eento OnDestroy"# no (ue !!a$ado0 !o cua!si1ni+ca que nuestra actiidad esta an en $e$oria-

    K-6 C!ic@ a! *ot%n de *ac@ y o*sera !a sa!ida en !a entana de

    Lo1Cat

     

    Entendiendo e! cic!o de ida de unaactiidad

    /<

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    55/199

    • na actiidad es destruida cuando se presiona e! *ot%n de*ac@-

    • E! $étodo On'ause"# es !!a$ado cuando !a actiidad es

    eniada a! *ac@1round y cuando es ter$inada por e! usuarioa! presionar e! *ot%n de *ac@-

    • Cuando una actiidad es iniciada0 !os $étodos OnStart"# yOnResu$e"# son sie$pre !!a$ados-

    • Cuando una actiidad es por pri$era e8 creada e! $étodoOnCreate"# es !!a$ado-

    Co$o (unciona

    //

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    56/199

    • Con *ase en estas o*seraciones0 se de*en se1uir !as si1uientesdirectrices=

     – ti!i8a e! $étodo OnCreate"# para crear e instanciar !os o*4etos quese estarBn usando en !a ap!icaci%n-

     – ti!i8a e! $étodo OnResu$e"# para iniciar cua!quier sericio o c%di1oque necesite e4ecutarse $ientras tu actiidad esta en pri$er p!ano-

     – ti!i8a e! $étodo On'ause"# para detener cua!quier sericio o c%di1oque no requiera e4ecutarse cuando tu actiidad no esta en pri$er

    p!ano

     – ti!i8a e! $étodo OnDestroy"# para !i*erar recursos antes de que tuactiidad sea destruida-

    Co$o (unciona

    /

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    57/199

    • 'ara ap!icar una apariencia de cuadro de diB!o1o a unaactiidad rea!i8a !o si1uiente=

    Ap!icar esti!os y te$as a una Actiidad

    /

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    58/199

    • Esta $odi+caci%n 5arB que tu actiidad apare8ca co$o unDia!o1

    Ap!icar esti!os y te$as a una Actiidad

    /K

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    59/199

    • Ocu!tar e! titu!o de !a actiidad=

    Ap!icar esti!os y te$as a una Actiidad

    /

    D ! t d diB! d

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    60/199

    • 'ara desp!e1ar una entana de dia!o1o que o*ten1a unacon+r$aci%n de! usuario0 se puede so*re6escri*ir e! $étodoprote1ido onCreateDia!o1"# de+nido en !a c!ase *ase Actiity-

    >-6 Crea un nueo proyecto Android !!a$ado Dia!o1

    )-6 A1re1a !as si1uientes sentencias a! arc5io $ain-,$!

    Desp!e1ar una entana de diB!o1o usando unaActiity

    .

    D ! t d diB! d

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    61/199

    9-6 A1re1a !as si1uientes sentencias en ne1rita a! arc5ioDia!o1Actiity-4aa=

    Desp!e1ar una entana de diB!o1o usando unaActiity

    >

    Desp!e1ar una entana de diB!o1o usando una

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    62/199

    Desp!e1ar una entana de diB!o1o usando unaActiity

    )

    Desp!e1ar una entana de diB!o1o usando una

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    63/199

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    64/199

    • C!ic@ so*re e! *ot%n para desp!e1ar !a entana de diB!o1o

    Desp!e1ar una entana de diB!o1o usando unaActiity

    <

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    65/199

    • 'ara $ostrar un DiB!o1o0 se de*e i$p!e$entar e! $étodoonCreateDia!o1"# en !a c!ase Actiity-

    • Este $étodo es !!a$ado cuando se inoca a! $étodo s5o7Dia!o1"#

    • E! $étodo onCreateDia!o1"# es uti!i8ado para crear Dia!o1s queson $ane4ados por !a Actiidad

    Co$o (unciona

    /

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    66/199

    • 'ara crear un DiB!o1o0 se de*e uti!i8ar e! constructor Fui!derde !a c!ase A!ertDia!o1-

    Co$o (unciona

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    67/199

    Co$o (unciona

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    68/199

    >-6 ti!i8a e! $is$o proyecto creado anterior$ente y a1re1a !asi1uientes sentencias en ne1ritas a! arc5io $ain-,$!=

    Desp!e1ar un dia!o1o de pro1reso "'or (aor espere#

    K

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    69/199

    )-6 A1re1a !as si1uientes sentencias en ne1rita a! arc5ioDia!o1Actiity-4aa=

    Desp!e1ar un dia!o1o de pro1reso "'or (aor espere#

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    70/199

    Desp!e1ar un dia!o1o de pro1reso "'or (aor espere#

    .

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    71/199

    9-6 'resiona 6>> para e4ecutar !a ap!icaci%n en e! e$u!ador deAndroid y presiona e! se1undo *ot%n para desp!e1ar e! diB!o1ode pro1reso=

    Desp!e1ar un dia!o1o de pro1reso "'or (aor espere#

    >

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    72/199

    • 'ara crear un diB!o1o de pro1reso0 se de*e crear una instanciade !a c!ase 'ro1ressDia!o1 e inocar a su $étodo s5o7"#=

    • Este c%di1o desp!ie1a e! dia!o1o de pro1reso- De*ido a queeste es un dia!o1o $oda!0 se *!oquearB !a & 5asta que e!dia!o1o de pro1reso desapare8ca-

    • 'ara !!ear a ca*o una tarea en e! *ac@1round0 se de*e crearun T5read usando un *!oque Runna*!e

    Co$o (unciona

    )

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    73/199

    E! c%di1o que se co!oque dentro de! $étodo run"# serBe4ecutado en un 5i!o separado y en este caso se si$u!a estopor rea!i8ar a!1o por cinco se1undos a traés de insertar unretraso con e! $étodo s!eep"#=

    • Después de cinco se1undo0 se desaparece e! diB!o1o por

    Co$o (unciona

    9

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    74/199

    • Se puede crear ta$*ién un diB!o1o que desp!ie1ue e!pro1reso de una operaci%n ta! co$o e! estado de unadescar1a-

    >-6 ti!i8ando e! proyecto creado en !a secci%n anterior0 a1re1a

    !as si1uientes !íneas en ne1rita a! arc5io $ain-,$!=

    Desp!e1ar un dia!o1o de pro1reso $Bs so+sticado

    <

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    75/199

    )-6 A1re1a !as si1uientes !íneas en ne1rita a! arc5ioDia!o1Actiity-4aa=

    Desp!e1ar un dia!o1o de pro1reso $Bs so+sticado

    /

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    76/199

    Desp!e1ar un dia!o1o de pro1reso $Bs so+sticado

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    77/199

    Desp!e1ar un dia!o1o de pro1reso $Bs so+sticado

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    78/199

    9-6 'resiona 6>> para e4ecutar !a ap!icaci%n en e! e$u!ador de

    Android y presiona e! tercer *ot%n para desp!e1ar e! diB!o1o depro1reso=

    Desp!e1ar un dia!o1o de pro1reso $Bs so+sticado

    K

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    79/199

    • 'ara crear un dia!o1o que $uestre e! pro1reso de una

    operaci%n0 se de*e pri$ero crear una instancia de !a c!ase'ro1ressDia!o1 y con+1urar sus propiedades-

    • 'osterior$ente0 se crean !os dos *otones que se desp!ie1andentro de! dia!o1o de pro1reso-

    Co$o (unciona

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    80/199

    • Este c%di1o produce e! si1uiente dia!o1o de pro1reso=

    Co$o (unciona

    K.

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    81/199

    • 'ara $ostrar e! estado de pro1reso en e! diB!o1o de pro1reso0

    se puede uti!i8ar un o*4eto de !a c!ase T5read para e4ecutar un*!oque Runna*!e de c%di1o=

    Co$o (unciona

    K>

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    82/199

    • na ap!icaci%n Android puede contener cero o $Bs

    actiidades- Cuando !a ap!icaci%n tiene $Bs de una actiidad0se necesita nae1ar de una actiidad a otra-

    • En Android0 se nae1a entre actiidades a traés de !o que se

    conoce co$oIntents.

    >-6 En Ec!ipse0 crea una nueo proyecto Android !!a$adosin1&ntent

    )-6 A1re1a una nuea c!ase a! proyecto "C!ic@ derec5o so*re e!no$*re de! paquete dentro de !a carpeta src y se!ecciona e7 ⇒ C!ass#

    En!a8ando Actiidades usando &ntents

    K)

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    83/199

    9-6 o$*ra a !a nuea c!ase SecondActiity y presiona inis5

    En!a8ando Actiidades usando &ntents

    K9

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    84/199

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    85/199

    En!a8ando Actiidades usando &ntents

    K/

    /-6 Crea un arc5io !!a$ado secondactiity-,$! en !a carpeta

    res!ayout y $odi+ca e! arc5io con !as si1uientes !íneas= 

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    86/199

    En!a8ando Actiidades usando &ntents

    K

    -6 En e! arc5io SecondActiity-4aa a1re1a !as si1uientes !íneasde c%di1o=

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    87/199

    En!a8ando Actiidades usando &ntents

    K

    -6 A1re1a !as si1uientes !íneas en ne1rita a! arc5io $ain-,$!

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    88/199

    En!a8ando Actiidades usando &ntents

    KK

    -6 ;odi+ca e! arc5io sin1&ntentActiity-4aa con !as si1uientes

    !íneas en ne1ritas=

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    89/199

    En!a8ando Actiidades usando &ntents

    K

    K-6 'resiona 6>> para e4ecutar !a ap!icaci%n so*re e! e$u!ador

    de Android=

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    90/199

    Co$o (unciona

    .

    • na Actiity esta inte1rada por un co$ponente de !a &

    "$ain-,$!# y un co$ponente 4aa "c!asesin1&ntentActiity-4aa#-

    • 'or !o tanto0 si quieres a1re1ar una actiidad a tu ap!icaci%n

    se de*en a1re1ar estos dos co$ponentes-

    • En e! arc5io Android;ani(est-,$! se a1re1% !o si1uiente=

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    91/199

    Co$o (unciona

    >

    • Cuando e! *oton MDisp!ay second actiityN es se!eccionado0 se

    uti!i8a e! $étodo startActiity"#=

    • Las actiidades en Android pueden ser inocadas porcua!quier ap!icaci%n e4ecutBndose en e! dispositio a traésde su no$*re "action# de! intent6+!ter

    • Si !a actiidad que se quiere inocar esta de+nida dentro de!$is$o proyecto se puede !!a$ar ta$*ién de !a si1uiente(or$a=

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    92/199

    Reso!iendo co!isiones entre &ntent6i!ters

    )

    • E! intent6+!ter de+ne co$o una actiidad puede ser

    inocada- ¿Que sucede si otra actiidad "en !a $is$a o enotra ap!icaci%n# tiene e! $is$o no$*re de! +!ter? 'or e4e$p!o=

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    93/199

    Reso!iendo co!isiones entre &ntent6i!ters

    9

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    94/199

    Reso!iendo co!isiones entre &ntent6i!ters

    <

    • Si se !!a$a a! $étodo startActiity"# con e! si1uiente intent e!

    SO Android desp!e1arB una entana de se!ecci%n deactiidades-

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    95/199

    Re1resando resu!tados desde un &ntent

    /

    • E! $étodo startActiity"# inoca a otra actiidad pero esta no

    re1resa un resu!tado a !a actiidad que !a !!a$%-

    • Si una actiidad requiere esperar por datos que !e deue!auna se1unda actiidad0 se de*e uti!i8ar e! $étodo

    startActiityorResu!t"#-

    • E! si1uiente e4e$p!o i!ustra esta escenario=

    >-6 ti!i8ando e! $is$o proyecto de !a preia secci%n0 a1re1a !as

    si1uientes sentencias en ne1rita a! arc5io secondactiity-,$! 

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    96/199

    Re1resando resu!tados desde un &ntent

    d ! d d d

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    97/199

    Re1resando resu!tados desde un &ntent

    )-6 A1re1a !as si1uientes sentencias en ne1rita a! arc5io

    SecondActiity-4aa=

    R d ! d d d &

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    98/199

    Re1resando resu!tados desde un &ntent

    K

    R d !t d d d & t t

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    99/199

    Re1resando resu!tados desde un &ntent

    9-6 A1re1a !as si1uientes sentencias en ne1rita a! arc5io

    sin1&ntentActiity-4aa=

    R d !t d d d & t t

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    100/199

    Re1resando resu!tados desde un &ntent

    >..

    R d !t d d d & t t

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    101/199

    Re1resando resu!tados desde un &ntent

    >.>

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    102/199

    Co$o (unciona

    >.)

    • 'ara !!a$ar a una actiidad y esperar por un resu!tado de

    re1reso de esta actiidad0 se necesita uti!i8ar e! $étodostartActiityorResu!t"#=

    • Ade$Bs de pasar co$o ar1u$ento un o*4eto &ntent0 se requierepasar ta$*ién un c%di1o de so!icitud- Este c%di1o de so!icitudes un a!or entero que identi+ca a !a actiidad que se esta!!a$ando-

    • E! c%di1o de so!icitud es necesario de*ido a que cuando unaactiidad re1resa un a!or0 se de*e de tener una $anear deidenti+car !a actiidad-

    C ( i

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    103/199

    Co$o (unciona

    >.9

    • Con e! o*4etio de que una actiidad re1rese un a!or a !a

    actiidad que !a inoco0 se uti!i8a un o*4eto &ntent para eniar!os datos de re1reso ía e! $étodo setData"#=

    Co$o (unciona

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    104/199

    Co$o (unciona

    >.<

    • En !a actiidad que inoco a !a se1unda actiidad0 se necesita

    i$p!e$entar e! $étodo onActiityResu!t"#0 e! cua! es !!a$ado siuna actiidad re1resa un a!or=

    'asar datos usando un o*4eto &ntent

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    105/199

    'asar datos usando un o*4eto &ntent

    >./

    • Ade$Bs de re1resar datos desde una actiidad ta$*ién es

    co$n pasar datos a una actiidad-

    • En e! e4e$p!o anterior se puede necesitar esta*!ecer a!1n te,topor de(au!t en !a ista de! EditTe,t antes de que !a actiidad esdesp!e1ada-

    • En este caso0 se puede uti!i8ar e! o*4eto intent para pasar !osdatos a !a actiidad-

    • E! si1uiente e4e$p!o $uestra co$o pasar datos a una actiidad=

    >-6 En ec!ipse0 crea un nueo proyecto Android !!a$ada'assin1Data

    'asar datos usando un o*4eto &ntent

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    106/199

    )-6 A1re1a !as si1uientes sentencias a! arc5io $ain-,$!=

    'asar datos usando un o*4eto &ntent

    >.

    'asar datos usando un o*4eto &ntent

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    107/199

    9-6 Crea un nueo arc5io I;L a !a carpeta res!ayout !!a$ado

    secondactiity-,$! y a1re1a !as si1uientes !íneas=

    'asar datos usando un o*4eto &ntent

    >.

    'asar datos usando un o*4eto &ntent

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    108/199

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    109/199

    'asar datos usando un o*4eto &ntent

    >.

    'asar datos usando un o*4eto &ntent

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    110/199

    /-6 A1re1a !as si1uientes sentencias en ne1rita a! arc5io

    Android;ani(est-,$!=

    'asar datos usando un o*4eto &ntent

    >>.

    'asar datos usando un o*4eto &ntent

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    111/199

    /-6 A1re1a !as si1uientes sentencias en ne1rita a! arc5io

    'assin1DataActiity-4aa y presiona 6>> para e4ecutar e!pro1ra$a=

    'asar datos usando un o*4eto &ntent

    >>>

    'asar datos usando un o*4eto &ntent

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    112/199

    'asar datos usando un o*4eto &ntent

    >>)

    Co$o (unciona

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    113/199

    • Este e4e$p!o i!ustra a!1unas $aneras de pasar datos entre

    actiidades-

    • 'ri$ero0 se puede uti!i8ar e! $étodo putE,tra"# de un o*4eto&ntent para a1re1ar un par no$*re6a!or-

    • Ade$Bs de poder uti!i8ar e! $étodo putE,tra"#0 se puede crearta$*ién un o*4eto Fund!e y entonces a1re1ar este a! o*4eto &ntent

    a traés de! $étodo putE,tras"#-

    • Considera a! o*4eto Fund!e co$o un o*4eto diccionario e! cua!contiene un con4unto de pares no$*re6a!or-

    Co$o (unciona

    >>9

    Co$o (unciona

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    114/199

    • Las si1uientes sentencias crean un o*4eto Fund!e y entonces

    a1re1an dos pares de datos "no$*re6a!or#- 'osterior$ente0 e!o*4eto Fund!e es unido a! o*4eto &ntent-

    • En !a se1unda actiidad0 para o*tener !os datos eniadosusando e! o*4eto &ntent0 pri$ero se o*tiene e! o*4eto &ntentusando e! $étodo 1et&ntent"#-

    Co$o (unciona

    >><

    Co$o (unciona

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    115/199

    • En este caso0 se de*e !!a$ar a! $étodo apropiado para e,traer e!

    par no$*re6a!or con *ase en e! tipo de dato eniado-

    •'ara o*tener e! o*4eto Fund!e0 uti!i8a e! $étodo 1etE,tras"#=

    • 'ara o*tener !os pares no$*re6a!or0 uti!i8a !os $étodos

    apropiados- 'ara !a cadena=

    • 'ara e! a!or entero=

    Co$o (unciona

    >>/

    Co$o (unciona

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    116/199

    • Otra $anera de pasar datos a una actiidad es uti!i8ando e!

    $étodo setData"#=

    • 2enera!$ente0 se uti!i8a e! $étodo setData"# para asi1nar !osdatos so*re !os cua!es un o*4eto &ntent a a tra*a4ar-

    • 'ara o*tener !os datos esta*!ecidos por e! $étodo setData"#0se uti!i8a e! $étodo 1etData"#- En este caso data es un o*4eto&ntent=

    Co$o (unciona

    >>

    ra1$ents

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    117/199

    • En dispositios con panta!!as peque:as0 una actiidad !!ena !a

    panta!!a co$p!eta$ente desp!e1ando !as distintas Vie7s queinte1ran !a & de una ap!icaci%n-

    • Cuando una actiidad es $ostrada en dispositios conpanta!!as $Bs 1randes0 ta! co$o una ta*!et0 se $uestra (uera

    de !u1ar-

    • De*ido a que !a panta!!a es $Bs 1rande0 todas !as istas enuna actiidad de*en ser reordenadas para 5acer un uso

    correcto de! espacio incre$entado-

    • n en(oque $Bs e+ciente es tener M$ini6actiidadesN0 cadauna conteniendo su propio con4unto de istas-

    ra1$ents

    >>

    ra1$ents

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    118/199

    • En tie$po de e4ecuci%n0 una actiidad puede contener una o$Bs $ini6actiidades dependiendo de !a orientaci%n de !apanta!!a-

    En Android 9-. y posterior0 estas $ini6actiidades sonconocidas co$o (ra1$ents-

    • n (ra1$ent es co$o otra actiidad y se crean para conteneristas "ie7s#-

    • Los ra1$ents estBn sie$pre e$potrados en una actiidad-

    ra1$ents

    >>K

    ra1$ents

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    119/199

    • La si1uiente +1ura $uestra dos (ra1$ents=

     

    a# Lista de !i*ros *# Descripci%n de! !i*ro Dispositio en $odoportrait

    ra1$ents

    >>

    ra1$ents

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    120/199

    • Si !a ap!icaci%n es a5ora desp!e1ada en una ta*!eta en $odo !andscape

    a$*os (ra1$ents pueden ser e$potrados en una so!a actiidad

    Dispositio en $odo !andscape

     

    ra1$ents

    >).

    ra1$ents

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    121/199

    • Los ra1$ents representan una (or$a ersBti! en !a cua! sepuede crear !a inter(a8 de usuario de una ap!icaci%n Android-

    • En conc!usi%n=

    • Los (ra1$ents (or$an !a unidad at%$ica de una inter(a8 deusuario y puede ser a1re1ados o re$oidos dinB$ica$entea !as actiidades con !a +na!idad de crear !a $e4ore,periencia de usuario posi*!e dependiendo de! dispositio-

    ra1$ents

    >)>

    ra1$ents

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    122/199

    >-6 En Ec!ipse0 crea un nueo proyecto Android !!a$ado

    ra1$ents

    )-6 En !a carpeta res!ayout0 crea un nueo arc5io !!a$ado(ra1$ent>-,$! y a1re1a !as si1uientes sentencias=

    ra1$ents

    >))

    ra1$ents

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    123/199

    9-6 Ta$*ién en !a carpeta res!ayout0 crea otro arc5io !!a$ado

    (ra1$ent)-,$! y a1re1a !as si1uientes sentencias=

    ra1$ents

    >)9

    ra1$ents

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    124/199

    )<

    ra1$ents

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    125/199

    /-6 Dentro de! no$*re de! paquete net-!earn)dee!op-ra1$ents0

    a1re1ar dos c!ases !!a$adas ra1$ent>-4aa y ra1$ent)-4aa

    -6 A1re1ar !as si1uientes sentencias a ra1$ent>-4aa=

    1

    >)/

    ra1$ents

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    126/199

    -6 A1re1a !as si1uientes sentencias a ra1$ent)-4aa=

    1

    >)

    ra1$ents

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    127/199

    K-6 'resiona 6>> para e4ecutar !a ap!icaci%n so*re e! e$u!ador de

    Android

    1

    >)

    Co$o (unciona

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    128/199

    • n (ra1$ent se co$porta co$o una actiidad= tiene una c!ase 4aa y car1a su & desde un I;L-

    • E! arc5io I;L contiene todos !os e!e$entos usua!es de &

    que una actiidad puede tener ta!es co$o= Te,tVie70 EditTe,t0Futton0 entre otros-

    • La c!ase 4aa para un (ra1$ent necesita 5eredar de !a c!ase*ase ra1$ent=

    >)K

    Co$o (unciona

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    129/199

    • 'ara di*u4ar !a & de un (ra1$ent0 se de*e so*re6escri*ir e! $étodoonCreateVie7"#- Este $étodo re1resa un o*4eto Vie7=

    • E! o*4eto Layout&nUater re!!ena !a & desde e! arc5io I;L especi+cado-

    • E! ar1u$ento container se re+ere a! Vie72roup padre0 e! cua! es !a

    actiidad en !a que se esta intentando incrustar e! (ra1$ent-

    • E! ar1u$ento saed&nstanceState per$ite restaurar e! (ra1$ent a suestado 1uardado preia$ente

    >)

    Co$o (unciona

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    130/199

    • 'ara a1re1ar un (ra1$ent a una actiidad se uti!i8a e! e!e$ento (ra1$ent=

    • Cada (ra1$ent necesita un identi+cador

    >9.

    A1re1ando ra1$ents DinB$ica$ente

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    131/199

    • En !a secci%n anterior0 se $ostr% co$o se pueden a1re1ar(ra1$ents a una actiidad por $odi+car e! arc5io I;L entie$po de dise:o-

    • En rea!idad0 esto es $uc5o $Bs ti! si se crean !os (ra1$ents yse a1re1an a !as actiidades en tie$po de e4ecuci%n-

    • Esto per$ite crear una & persona!i8a*!e para tu ap!icaci%n- 'ore4e$p!o= si !a ap!icaci%n se esta e4ecutando so*re unS$artp5one0 se de*ería !!enar !a actiidad con un so!o (ra1$ent-

    • 'or otro !ado0 si !a ap!icaci%n se esta e4ecutando so*re una ta*!et0se de*ería !!enar a! actiidad con dos o $Bs (ra1$ents-

    >9>

    A1re1ando ra1$ents en tie$po de e4ecuci%n

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    132/199

    >-6 ti!i8ando e! $is$o proyecto creado en !a preia secci%n0

    $odi+ca e! arc5io $ain-,$! por co$entar !os dos e!e$entos(ra1$ents=

    >9)

    A1re1ando ra1$ents en tie$po de e4ecuci%n

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    133/199

    )-6 A1re1a e! si1uiente c%di1o en ne1ritas a! arc5io

    ra1$entsActiity-4aa=

    >99

    A1re1ando ra1$ents en tie$po de e4ecuci%n

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    134/199

    >9<

    A1re1ando ra1$ents en tie$po de e4ecuci%n

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    135/199

    9-6 'resiona 6>> para e4ecutar !a ap!icaci%n so*re e! e$u!ador

    Android

    >9/

    Co$o (unciona

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    136/199

    • 'ara a1re1ar (ra1$ents a una actiidad0 se de*e uti!i8ar !a c!asera1$ent;ana1er=

    •  Ta$*ién se de*e uti!i8ar !a c!ase ra1$entTransaction para !!ear a ca*ooperaciones con !os (ra1$ents=

    • En e! e4e$p!o se uti!i8% e! Gindo7;ana1er para deter$inar si e! dispositioesta actua!$ente en $odo portrait o !andscape-

    • Se a1re1a e! apropiado (ra1$ent a !a actiidad a traés de crear e! (ra1$enty entonces !!a$ar a! $étodo rep!ace"# de! o*4eto ra1$entTransaction paraa1re1ar e! (ra1$ent a! contenedor ista especi+cado-

    >9

    Co$o (unciona

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    137/199

    • En este caso0 android-R-id-content se re+ere a !a ista content

    de !a actiidad

    • 'ara ase1urar que !os ca$*ios (ueron rea!i8ados0 se necesita!!a$ar a! $étodo co$$it"#=

    >9

    Cic!o de ida de un ra1$ent

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    138/199

    • Co$prender e! cic!o de ida de un ra1$ent te per$ite

    1uardar apropiada$ente una instancia de un (ra1$ent cuandoes destruido y restaurar!o a su estado preio cuando es re6creado-

    • E! si1uiente e4e$p!o e,a$ina !os distintos estados

    e,peri$entados por un ra1$ent

    >-6 ti!i8ando e! $is$o proyecto creado en !a secci%n anterior0a1re1a e! si1uiente c%di1o en ne1rita a! arc5io ra1$ent>-4aa=

    >9K

    Cic!o de ida de un ra1$ent

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    139/199

    >9

    Cic!o de ida de un ra1$ent

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    140/199

    >

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    141/199

    >

    Cic!o de ida de un ra1$ent

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    142/199

    )-6 Ca$*ia e! e$u!ador de Android a! $odo !andscape por

    presionar 6>>

    9-6 'resiona 6>> en Ec!ipse para e4ecutar !a ap!icaci%n en e!e$u!ador

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    143/199

    -6 En e! e$u!ador0 c!ic@ a! *ot%n 5o$e y $anten!o presionado0

    C!ic@ so*re tu ap!icaci%n y !o si1uiente serB $ostrado=

    -6 +na!$ente0 c!ic@ so*re e! *ot%n *ac@ de! e$u!ador0 a5ora

    de*e de $ostrar !os si1uiente=

    >

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    144/199

    • Cuando un (ra1$ent esta siendo creado0 e! (ra1$ent pasa por !ossi1uientes estados= – onAttac5"#

     – onCreate"#

     – onCreateVie7"#

     – onActiityCreated"#

    • n (ra1$ent pasa a traés de !os si1uientes estados cuando !!e1a aestar isi*!e= – onStart"#

     – onResu$e"#

    • Los si1uientes estados son a traesados por un (ra1$ent cuando aa! $odo *ac@1round= – on'ause"#

     – onStop"#

    >

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    145/199

    • Cuando un (ra1$ent es destruido0 este a a traés de !os

    si1uientes estados= – on'ause"#

     – onStop"#

     – onDestroyVie7"#

     – onDestroy"#

     –

    onDetac5"#

    • A! i1ua! que !as actiidades0 se puede restaurar una instanciade un (ra1$ent usando un o*4eto Fund!e en !os si1uientesestados= – onCreate"# – onCreateVie7"#

     – onActiityCreated"#

    >

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    146/199

    • La $ayoría de !os estados e,peri$entados por un (ra1$ent sonsi$i!ares a !os de una actiidad3 sin e$*ar1o0 !os si1uientes sonespecí+cos de !os (ra1$ents=

     – onAttac5ed"#= L!a$ado cuando e! (ra1$ent 5a sido asociado con !aactiidad-

     – onCreateVie7"#= L!a$ado para crear !a ista para e! (ra1$ent

     – onActiityCreated"#= L!a$ado cuando e! $étodo OnCreate"# de !aactiidad 5a sido re1resado-

     – onDestroyVie7"#= L!a$ado cuando !a ista de! (ra1$ent esta siendore$oida-

     – onDetac5"#= L!a$ado cuando e! (ra1$ent es separado de !a actiidad

    >

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    147/199

    • na de !as principa!es di(erencias entre actiidades y

    (ra1$ents es que cuando una actiidad a a! *ac@1round0 !aactiidad es co!ocada en !a pi!a de re1reso-

    • Esto per$ite que !a actiidad sea reanudada cuando e! usuariopresiona e! *ot%n de re1reso-

    • Los (ra1$ents0 sin e$*ar1o0 no son co!ocadosauto$Btica$ente en !a pi!a de re1reso cuando se an a!*ac@1round-

    • 'ara co!ocar un (ra1$ent adentro de !a pi!a0 se necesitae,p!ícita$ente !!a$ar a! $étodo addToFac@Stac@"# duranteuna transacci%n

    >

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    148/199

    • 'or e4e$p!o=

    >

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    149/199

    • na Actiidad puede contener uno o $Bs (ra1$ents

    tra*a4ando 4untos para presentar una & co5erente- En estecaso0 !os (ra1$ents pueden requerir co$unicarse einterca$*iar datos-

    • E! si1uiente e4e$p!o $uestra co$o un (ra1$ent puede

    acceder a !as istas contenidas adentro de otro (ra1$ent-

    >-6 ti!i8ando e! proyecto anterior0 a1re1a !as si1uientes sentencias enne1rita a! arc5io (ra1$ent>-,$!=

    >

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    150/199

    )-6 A1re1a !as si1uientes sentencias en ne1rita a! arc5io (ra1$ent)-,$!=

    >/.

    &nteracciones entre ra1$ents

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    151/199

    9-6 A1re1a !as si1uientes !íneas a! arc5io $ain-,$!

    >/>

    &nteracciones entre ra1$ents

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    152/199

    /)

    &nteracciones entre ra1$ents

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    153/199

    >/9

    &nteracciones entre ra1$ents

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    154/199

    /-6 A1re1a !as si1uientes sentencias a! arc5io ra1$ent)-4aa=

    >/<

    &nteracciones entre ra1$ents

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    155/199

    >//

    &nteracciones entre ra1$ents

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    156/199

    -6 'resiona 6>> para e4ecutar !a ap!icaci%n so*re e! e$u!ador Android-En e! se1undo (ra1$ent so*re !a derec5a0 c!ic@ en e! *ot%n=

    >/

    Co$o (unciona

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    157/199

    • De*ido a que !os (ra1$ents estBn incrustados en !as

    actiidades0 se puede o*tener !a actiidad en !a cua! un(ra1$ent esta e$potrado actua!$ente por=

    • 'ri$ero uti!i8ar e! $étodo 1etActiity"# y posterior$ente

    • ti!i8ar e! $étodo +ndVie7Fy&d"# para !oca!i8ar !a ista contenida

    en e! (ra1$ent

    A!ternatia$ente0 se puede a1re1ar ta$*ién e! si1uiente$étodo a! arc5io ra1$entsActiity-4aa=

    >/

    &nocar ap!icaciones inte1radas usando &ntents

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    158/199

    • no de !os aspectos c!aes de Android es uti!i8ar !os intents para

    inocar actiidades de otras ap!icaciones-

    • uestra ap!icaci%n puede !!a$ar a !as ap!icaciones que estBninc!uidas en e! dispositio Android-

    • 'or e4e$p!o0 si tu ap!icaci%n necesita car1ar una pB1ina 7e*0 sepuede uti!i8ar e! o*4eto &ntent para inocar e! nae1adorinte1rado en e! dispositio para car1ar !a pB1ina 7e*0 en !u1arde construir tu propia ersi%n de nae1ador para este prop%sito-

    • E! si1uiente e4e$p!o $uestra co$o !!a$ar a a!1unasap!icaciones inte1radas co$n$ente en e! dispositio Android

    >/K

    &nocar ap!icaciones inte1radas usando &ntents

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    159/199

    >-6 En ec!ipse crea un nueo proyecto Android y n%$*ra!o &ntents

    )-6 A1re1a !as si1uientes sentencias a! arc5io $ain-,$!

    >/

    &nocar ap!icaciones inte1radas usando &ntents

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    160/199

    9-6 A1re1a !as si1uientes sentencias en ne1rita a! arc5io

    &ntentsActiity-4aa=

    >.

    &nocar ap!icaciones inte1radas usando &ntents

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    161/199

    >>

    i 4 ! !i i% * ! ! d d

    &nocar ap!icaciones inte1radas usando &ntents

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    162/199

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    163/199

    • En este e4e$p!o0 se $ostr% co$o uti!i8ar !a c!ase &ntent para!!a$ar a a!1unas ap!icaciones inte1radas por de(au!t en e! SOAndroid ta!es co$o $apas0 te!é(ono0 contactos y nae1ador7e*-

    • En Android !os &ntent ienen en pares= action y data- E! actiondescri*e !o que se a a !!ear a ca*o ta! co$o editar une!e$ento0 isua!i8ar e! contenido de un e!e$ento0 entre otros-

    Los data especi+can !o que es a(ectado ta! co$o !os datos deuna persona en !a *ase de datos de contactos-

    • Los data son especi+cados co$o un o*4eto ri

    >9

    A! 4 ! d ti

    Co$o (unciona

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    164/199

    • A!1unos e4e$p!os de action son= – ACT&OV&EG

     – ACT&OD&AL

     – ACT&O'&CW 

    • A!1unos e4e$p!os de data inc!uyen !os si1uientes=

     – 777-1oo1!e-co$

     – te!=P/>)9))-.

     – content=contacts

    ><

    E! ti d t d i* ! i% !i d

    Co$o (unciona

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    165/199

    • E! par action y data descri*e !a operaci%n a ser rea!i8ada=

     – 'ara $arcar un n$ero te!e(%nico se de*ería uti!i8ar e! parACT&OD&ALte!=P/>)9

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    166/199

    • E! c%di1o anterior se puede re6escri*ir de !a si1uiente (or$a=

    • En e! se1undo *ot%n0 se $arca un n$ero especí+co por pasar

    co$o ar1u$ento en e! data e! n$ero te!e(%nico=

    • Si requiere !!a$ar a! n$ero sin interenci%n de! usuario sede*e ca$*iar e! action co$o si1ue=

    >

    ' d ! ! d d i i+ !

    Co$o (unciona

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    167/199

    • 'ara desp!e1ar e! $arcador de n$eros sin especi+car a!1nn$ero si$p!e$ente o$ite !a porci%n de data=

    • E! tercer *ot%n desp!ie1a un $apa usando !a constanteACT&OV&EG=

    >

    AnB!isis de! uso de! o*4eto &ntent

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    168/199

    • 'ri$ero0 se aprendi% que se puede !!a$ar a otra actiidad porpasar su action a! constructor de un o*4eto &ntent=

    • E! action0 en este e4e$p!o Mnet-!earn)dee!op-SecondActiityN0es ta$*ién conocido co$o e! no$*re de! co$ponente- Este esuti!i8ado para identi+car !a ap!icaci%nactiidad tar1et quequieres inocar-

    • Se puede ta$*ién re6escri*ir e! c%di1o anterior por especi+care! no$*re de !a actiidad si este reside en e! $is$o proyecto=

    >K

    AnB!isis de! uso de! o*4eto &ntent

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    169/199

    • Se puede crear un o*4eto &ntent por pasar un action y data=

    •  Ta$*ién se puede pasar !os datos a traés de! $étodo setData"#=

    • E! SO Android *uscarB todas !as actiidades que son capaces desatis(acer tu so!itud- Este proceso es conocido co$o reso!uci%n deintents

    >

    • 'ara a!1unos intents no 5ay necesidad de especi+car !os data 'or

    AnB!isis de! uso de! o*4eto &ntent

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    170/199

    • 'ara a!1unos intents0 no 5ay necesidad de especi+car !os data- 'ore4e$p!o para se!eccionar un contacto de !a ap!icaci%n de contactos0

    se puede especi+car e! action y entonces indicar e! tipo ;&;Euti!i8ando e! setType"#=

    • E! $étodo setType"# e,p!ícita$ente especi+ca e! tipo de datos ;&;Epara indicar e! tipo de datos a re1resar-

    • Ade$Bs de especi+car e! action0 data y e! type0 un o*4eto intent

    puede especi+car ta$*ién una cate1oría-

    • na cate1oría a1rupa actiidades en unidades !%1icas0 !o cua! seuti!i8a para rea!i8ar +!trado

    >.

    • Con !a +na!idad de que otras actiidades inoquen una

    so de !os intent +!ters

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    171/199

    • Con !a +na!idad de que otras actiidades inoquen unaactiidad0 se necesitan especi+car e! action y cate1ory adentrode! e!e$ento intent6+!ter en e! arc5io Android;ani(est-,$!=

    • Especi+car intent +!ters a deta!!e=

    >-6 ti!i8ando e! proyecto &ntents creado anterior$ente0 a1re1auna nuea c!ase a! proyecto y n%$*ra!a ;yFro7serActiity-4aa-

    Ade$Bs0 a1re1a un nueo arc5io I;L !!a$ado *ro7ser-,$! a !acarpeta res!ayout

    >>

    ) A1re1a !as si1uientes sentencias a! arc5io

    so de !os intent +!ters

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    172/199

    )-6 A1re1a !as si1uientes sentencias a! arc5ioAndroid;ani(est-,$!=

    >)

    so de !os intent +!ters

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    173/199

    >9

    9 A1re1a !as si1uientes sentencias a! arc5io $ain ,$!=

    so de !os intent +!ters

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    174/199

    9-6 A1re1a !as si1uientes sentencias a! arc5io $ain-,$!=

    ><

    so de !os intent +!ters

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    175/199

    >/

    < 6 A1re1a !as si1uientes sentencias en ne1rita a! arc5io

    so de !os intent +!ters

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    176/199

    / 6 A1re1a !as si1uientes sentencias en ne1rita a! arc5io

    so de !os intent +!ters

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    177/199

    /- A1re1a !as si1uientes sentencias en ne1rita a! arc5io*ro7ser-,$!=

    -6 A1re1a !as si1uientes sentencias en ne1rita a! arc5io;yFro7serActiity-4aa=

     

    >

    so de !os intent +!ters

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    178/199

    >K

    6 'resiona 6>> para e4ecutar !a ap!icaci%n en e! e$u!ador de

    so de !os intent +!ters

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    179/199

    - 'resiona >> para e4ecutar !a ap!icaci%n en e! e$u!ador deAndroid y c!ic@ so*re e! *ot%n Launc5 $y Fro7ser

    >

    • En este e4e$p!o pri$ero se creo una actiidad !!a$ada

    Co$o (unciona

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    180/199

    En este e4e$p!o0 pri$ero se creo una actiidad !!a$ada;yFro7serActiity y se dec!ar% en e! arc5ioAndroid;ani(est-,$!

    • En este caso0 se dec!aran dos action0 una cate1ory y un data-

    >K.

    • Si a5ora se usa e! action ACT&O V&EG=

    Co$o (unciona

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    181/199

    Si a5ora se usa e! action ACT&OV&EG=

    • Android desp!e1arB !a si1uiente se!ecci%n=

    >K>

    • Se 5ace notar que cuando $!tip!es actiidades pueden

    Co$o (unciona

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    182/199

    Se 5ace notar que cuando $!tip!es actiidades puedenatender e! o*4eto intent0 !a entana de diB!o1o MCo$p!eteaction usin1N aparece-

    • Se puede persona!i8ar esta entana a traés de uti!i8ar e!$étodo createC5ooser"# de !a c!ase intent=

    • Esto produce e! si1uiente ca$*io en !a entana de dia!o1o=

    >K)

    • Se pueden a1rupar actiidades en cate1orías por uti!i8ar e!

    A1re1ar Cate1orías

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    183/199

    Se pueden a1rupar actiidades en cate1orías por uti!i8ar e!e!e$ento cate1ory en e! intent +!ter- Sup%n que se a1re1ae! si1uiente e!e$ento cate1ory a! arc5ioAndroid;ani(est-,$!=

    >K9

    A1re1ar Cate1orías

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    184/199

    >K<

    A1re1ar Cate1orías

    • E! si1uiente c%di1o inocarB !a actidad ;yFro7erActiity=

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    185/199

    >K/

    1 1 y y

    • Se a1re1a !a cate1oría a! o*4eto &ntent usando e! $étodo

    addcate1ory"#- Si se o$ite !a sentencia addcate1ory"# e!c%di1o an inocarB a !a actiidad ;yFro7erActiity-

    • Si se especi+ca una cate1oría que no 5ace un $atc5 con !acate1oría de+nida en e! intent6+!ter e! c%di1o no (uncionarB=

    A1re1ar Cate1orías

    • A! a1re1ar !a si1uiente cate1oría en e! intent +!ter de

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    186/199

    >K

    1 1 1 1;yFro7erActiity0 e! c%di1o anterior tra*a4arB sin pro*!e$as=

    • Se pueden a1re1ar $!tip!es cate1orías a un o*4eto &ntent3 pore4e$p!o !as si1uientes sentencias a1re1an !a cate1oríanet-!earn)dee!op-So$eOt5erApps a! o*4eto &ntent=

    A1re1ar Cate1orías

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    187/199

    >K

    Este c%di1o no serB capa8 de inocar a !a actiidad;yFro7erActiity=

    • Se 5ace notar que cuando se uti!i8a un o*4eto &ntent concate1orías0 todas !as cate1orías a1re1adas a! o*4eto &ntent de*enestar de+nidas en e! inter6+!ter antes de que un actiidad puedasser inocada-

    Desp!e1ar noti+caciones

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    188/199

    >KK

    • En !os e4e$p!os anteriores se 5a estado uti!i8ando !a c!ase Toast- Esta c!ase es una $anera prBctica de $ostrar a!ertas a!os usuarios3 sin e$*ar1o0 no es persistente-

    • 'ara $ensa4es que son i$portantes0 se de*ería uti!i8ar un$étodo persistente-

    • En este caso0 se de*e uti!i8ar e! oti+cation;ana1er paradesp!e1ar un $ensa4e persistente so*re !a parte superior de!

    dispositio0 co$n$ente conocida co$o *arra de estado"status *ar# o ta$*ién !!a$ada *arra de noti+caci%n

    Desp!e1ar noti+caciones

    >-6 En Ec!ipse0 crea un proyecto Android !!a$ado oti+cations

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    189/199

    >K

    p p y

    )-6 A1re1a una nuea c!ase !!a$ada oti+cationVie7 a! paquete-Ade$Bs0 a1re1a un nueo arc5io noti+cation-,$! a !a carpetares!ayout

    9-6 A1re1a !as si1uientes sentencias de c%di1o a! arc5ionoti+cation-,$!=

    Desp!e1ar noti+caciones

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    190/199

    >.

    Desp!e1ar noti+caciones

    /-6 A1re1a !as si1uientes sentencias en ne1ritas a! arc5io

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    191/199

    >>

    Android;ani(est-,$!=

    Desp!e1ar noti+caciones

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    192/199

    >)

    -6 A1re1a !as si1uientes sentencias a! arc5io $ain-,$!=

    Desp!e1ar noti+caciones

    -6 ina!$ente0 a1re1a !as si1uientes sentencias a! arc5io

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    193/199

    >9

    oti+cationsActiity-4aa=

    Desp!e1ar noti+caciones

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    194/199

    ><

    Desp!e1ar noti+caciones

    K-6 'resiona 6>> para e4ecutar !a ap!icaci%n so*re e! e$u!ador de

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    195/199

    >/

    Android- C!ic@ so*re e! *ot%n Disp!ay oti+cation y un te,to denoti+caci%n aparecerB en !a *arra de estado=

    -6 Arrastrando !a *arra de estado 5acia a*a4o $ostrarB !osdeta!!es de !a noti+caci%n

    Co$o (unciona

    • 'ara desp!e1ar una noti+caci%n0 pri$ero se creo un o*4eto &ntent queapunta a !a actiidad oti+cationVie7=

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    196/199

    >

    apunta a !a actiidad oti+cationVie7=

    • 'osterior$ente se crea ta$*ién un o*4eto 'endin1&ntent=

    • E! $étodo 1etActiity"# re1resa un o*4eto 'endin1&ntent y reci*e !ossi1uientes ar1u$entos=

    conte,t= conte,to de ap!icaci%n• request code= c%di1o de so!icitud para e! intent

    • intent= e! intent para en!a8ar a !a actiidad tar1et

    • Ua1s= !os $odos en !os cua!es !a actiidad serB en!an8ada

    Co$o (unciona

    • Se o*tiene una instancia de !a c!ase oti+cation;ana1er y sei i d ! ! i+ i

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    197/199

    >

    crea una instancia de !a c!ase oti+cation=

    • La c!ase oti+cation per$ite especi+car !a in(or$aci%nprincipa! de !a noti+caci%n cuando esta aparece por pri$era

    e8 en !a *arra de estado-

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    198/199

    Co$o (unciona

    • 'osterior$ente0 se desaparece !a noti+caci%n a traés deti!i ! ét d !"# d ! *4 t ti+ ti ;

  • 8/18/2019 Día 1- Introduccion a Android y Activities, Fragments e Intents

    199/199

    uti!i8ar e! $étodo cance!"# de! o*4eto oti+cation;ana1er y

    pasando e! &D de !a noti+caci%n=