Trabajo Fisico ANDROID

download Trabajo Fisico ANDROID

of 32

Transcript of Trabajo Fisico ANDROID

  • 7/26/2019 Trabajo Fisico ANDROID

    1/32

    "Ao de la consolidacin del Mar de Grau"

    Escuela de Ingeniera de Sistemas eInformtica

    ICA-PERU

    Tema : Desarrollo demens y cuadros de diloos!

    Curso : aller de diseode soluciones m#iles!

    Docente : Caldern $aras%uis Ernes&o!

    Ciclo : I$

    Integrantes: Melar C'acnDieo!

    Condor( )o&o Guisella!*lores Garcia Cesar !

    ai+e ,ilario Carlos!

  • 7/26/2019 Trabajo Fisico ANDROID

    2/32

    ./0

    DEDICATORIA: %e dedicamos es&e &ra1a2oA Dios 3ue nos 'a dado la #ida y4or&ale5a+ara &erminar es&e +royec&o dein#es&iacin6A nues&ros Padres +or es&ar a'(cuando ms los necesi&amos7 y anues&ro docen&e +or ensearnos con

    &an&a e8+eriencia la1oral 3ue &iene

  • 7/26/2019 Trabajo Fisico ANDROID

    3/32

    y do&arnos de conocimien&osnue#os!

    Introduccin

    En el presente trabajodaremos a conocer acerca del Sistema

    OperativoAndroid. Como sabemos en los ltimos tiempos este Sistemaes uno

    de los ms utilizados en dispositivos mviles como Tablet, celulares y asu vez

    podramos decir !ue tambi"n se estn utilizando para dispositivos multmedia

    con Televisores inteli#entes,proyectores,entre otros dispositivos !ue cuenta conel Sistema operativo Android. Tambi"n podemos decir !ue el usuario tiene un

    $cil acceso al Sistema Operativo con su inter$az #r$ico prctico y didctico

    para todos.

    Al realizar este trabajo lle#aremos a un aprendizaje!ue nos ayuda a e%plorar

    di$erentes campos del so$t&are!ue van de la mano con el 'ard&are para el

    presente y el $uturo en nuestra sociedad.

    http://www.monografias.com/trabajos34/el-trabajo/el-trabajo.shtmlhttp://www.monografias.com/Computacion/Sistemas_Operativos/http://www.monografias.com/Computacion/Sistemas_Operativos/http://www.monografias.com/trabajos11/teosis/teosis.shtmlhttp://www.monografias.com/trabajos5/teap/teap.shtmlhttp://www.monografias.com/Computacion/Software/http://www.monografias.com/Computacion/Software/http://www.monografias.com/trabajos35/sociedad/sociedad.shtmlhttp://www.monografias.com/Computacion/Sistemas_Operativos/http://www.monografias.com/Computacion/Sistemas_Operativos/http://www.monografias.com/trabajos11/teosis/teosis.shtmlhttp://www.monografias.com/trabajos5/teap/teap.shtmlhttp://www.monografias.com/Computacion/Software/http://www.monografias.com/trabajos35/sociedad/sociedad.shtmlhttp://www.monografias.com/trabajos34/el-trabajo/el-trabajo.shtml
  • 7/26/2019 Trabajo Fisico ANDROID

    4/32

    %os mens son un com+onen&e de in&er4a5de usuario comn en muc'os &i+os dea+licaciones! Para +ro+orcionar unae8+eriencia de usuario 4amiliar y consis&en&e6de1e u&ili5ar los Men9API) +ara +resen&arlas acciones del usuario y o&ras o+ciones ensus ac&i#idades!

    A +ar&ir de Android ;!. 9ni#el de API //6 losdis+osi&i#os con Android ya no es&n o1liados a +ro+orcionar undedicado Men 1o&n! Con es&e cam1io6 las 9APP) Android de1en emirar

    le2os de una de+endencia en el +anel del men de 0 (&ems &radicionales y enluar de +ro+orcionar una 1arra de accin +ara +resen&ar acciones de losusuarios comunes!men? del &el@4ono!

    )u1mens! )on mens secundarios 3ue se +ueden mos&rar al +ulsar so1reuna o+cin de un men +rinci+al!

    Mens Con&e8&uales! &iles en muc'as ocasiones6 a+arecen al reali5ar una+ulsacin lara so1re aln elemen&o de la +an&alla!

    !A TE"DE"CIA E" !A #I DE A"DROID: E! $E"% !ATERA!

    En el l&imo ao6 Android 'a es&ado creciendo muc'(simo! Pero a la +ar en la3ue aumen&a1an las #en&as6 Android 'a ido e#olucionando y madurando de

    iual manera! Bos +odemos dar cuen&a en el Android 9!/6 9! o 9!; de'ace a+enas un &iem+o y #er la in&er4a5 de Android !. IC) con su l(neaminimalis&as y 4u&uris&as de colores a5ules y &o+ora4(a ro1&ica! PeroAndroid no e#oluciona solo: muc'as a+licaciones es&n cam1iando 'acia unnue#o modelo de in&er4a5 r=ca6 el men la&eral!

    TI&OS DE $E"%S

    $E"% DAS'(OARD

    ,ace +oco la moda en las a+licaciones Android era dis+oner de un >MenDas'1oard?! i&&er 4ue de las +rimeras6 y muc'as ms a+licaciones le

    siuieron! )euramen&e es&as imenes les re4res3uen un +oco la memoria!

    #SO

    DE$E"%

    S

    http://developer.android.com/reference/android/view/Menu.htmlhttp://developer.android.com/reference/android/view/Menu.htmlhttp://developer.android.com/reference/android/view/Menu.htmlhttp://developer.android.com/reference/android/view/Menu.html
  • 7/26/2019 Trabajo Fisico ANDROID

    5/32

    %a +rinci+al di=cul&ad de es&a in&er4a5 r=ca es 3ue +ar&imos desde unmen +rinci+al al 3ue es muy com+licado #ol#er y re3uiere de muc'os+asos +ara llear a un luar! )e +uede e2em+li=car es&o con el siuien&ees3uema!

    E! $E"% )CO"TE*T#A!+ !ATERA!

    )on las a+licaciones 3ue &ienen un 1o&n de men en la +ar&e su+erior 3ueal ser +ulsados nos descu1ren &odo un men en la +ar&e i53uierda 9oderec'a de nues&ra a+licacin! Unos cuan&os e2em+los son *ace1oo6GooleF o E#erno&e en&re o&ros!

    ,enta-as

    El men la&eral o&ora muc'(simas #en&a2as a una a+licacin! )i es&correc&amen&e diseada6 +odemos dis+oner de un com+le&o men accesi1ledesde cual3uier luar!

    Por o&ro lado6 nos ol#idamos del +ro1lema del es+acio: no 'ay casilimi&aciones de dimensiones! Con un men la&eral +odemos disear unmen com+le&amen&e 4uncional 3ue a+ro#ec'e de 4orma in&elien&eel es+acio y los r=cos! A3u( &ienes el e2em+lo de E#erno&e!

  • 7/26/2019 Trabajo Fisico ANDROID

    6/32

    &ro.lemas

    El men la&eral &iene un +ro1lema:

    Bo dis+onemos siem+re de un 1o&n claro de men! Dic'o 1o&n a#eces no es& en &odas las +inas y 'as de >su1ir? o &irar 'acia a&rs

    +ara 3ue =nalmen&e a+are5ca y +uedas a1rirlo! Claramen&e 'ace 4al&aun nue#o 1o&n >uni#ersal? 3ue de=na es&e &i+o de men y a+are5caen &odo momen&o!

    Gu(aCO"STR#CCI/" DE $E"%S

    Cons&ruccin de un men con o+ciones 9cuando se +resiona la &eclamen del m#il

    $en con opciones

    Em+ecemos creando una car+e&a en la car+e&a >res? del direc&orio6 a la 3uellamaremos >men?!Den&ro de esa ca+e&a >men?6 #amos a arear un arc'i#o al 3ue #amos allamar >lis&menu!8ml? 93ue no se &e ol#ide +oner la e8&ensin al arc'i#o aldarle el nom1re!

    A1rimos ese arc'i#o y escri1imos el siuien&e cdio:

    A'ora nos #amos al arc'i#o >s&rins!8ml? y creamos un nue#o s&rin:

    Bos #amos al arc'i#o >Reminder%is&Ac&i#i&y!class? y escri1imos al =nal9an&es de la l&ima lla#e el siuien&e cdio:

    H8ml #ersionJ"/!." encodinJ"u&4-K"LHmenu8mlns:androidJ"'&&+:sc'emas!android!coma+resandroid"L Hi&em

    android:iconJ"Nandroid:draa1leicmenuadd"android:idJ"NFidmenuinser&"android:&i&leJ"Ns&rinmenuinser&" L

    HmenuL

    Hs&rin nameJ"menuinser&"LArear recorda&orioHs&rinL

    NO#erride+u1lic 1oolean onCrea&eO+&ionsMenu9Menu menu

    su+er!onCrea&eO+&ionsMenu9menu7MenuInQa&er mi J e&MenuInQa&er97mi!inQa&e9R!menu!lis&menu6 menu7re&urn &rue7

  • 7/26/2019 Trabajo Fisico ANDROID

    7/32

    Una #e5 se 'a creado el men6 cuando se 'ace clic en @l6 se &iene 3uereali5ar una accin! Para ello6 al =nal del arc'i#o de la clase6 co+ia elsiuien&e cdio:

    E*&!ICACI/"

    En la l(nea es& el m@&odo al 3ue se llama cuando se selecciona unelemen&o del men! El +arme&ro 4ea&ureld6 iden&i=ca al ru+o en el 3ue seencuen&ra el men! El +arme&ro (&em iden&i=ca el elemen&o del men en el

    3ue se 'i5o clic!

    En la siuien&e l(nea6 se de&ermina con 3ue elemen&o se es& &ra1a2ando6com+arando el ID del (&em del men6 con los elemen&os del men 3ue&enemos! )e o1&iene el ID del men median&e el m@&odo e&I&emId9!

    En la l(nea S del cdio an&erior6 se consiue 3ue se cree una &area a &ra#@sde crea&eReminder96 si el elemen&o del men donde se 'i5o clic era el dearear una &area!

    En la siuien&e6 se in4orma al m@&odo onMenuI&em)elec&ed96 3ue laseleccin del men se 'a mani+ulado!

    )e u&ili5a el crea&eReminder96 +ara +ermi&ir al usuario +asar alReminderEdi&Ac&i#i&y6 +ara crear una nue#a &area! Para ello6 escri1iremos elsiuien&e m@&odo al =nal del arc'i#o Reminder%is&Ac&i#i&y!class!

    Cons&ruccin de un men con&e8&ual 9lis&a emeren&e de elemen&osde men6 3ue se +resen&a cuando +resionamos un ins&an&e unelemen&o

    $en conte0tual

    )e crea cuando +resionamos unos seundos so1re un #ie!

    )e &ra&a de una #en&ana Qo&an&e 3ue a+arece so1re la ac&i#idad en curso63ue +ermi&e a los usuarios eleir en&re #arias o+ciones!

    )u creacin es 1as&an&e similar a la de un men de o+ciones! )e +uedede=nir en TM% e inQarse 1a2o el mismo mecanismo 3ue se u&ili5a en lacreacin de un men de o+ciones!

    Primero es necesario llamar al reis&er*orCon&e8&Menu9!

    %a a+licacin necesi&a un mecanismo +ara eliminar una &area cuando ya nola necesi&emos7 +ara ello u&ili5amos un men con&e8&ual6 3ue a+arece &ras+resionar unos seundos so1re la &area a eliminar!

    Para crear es&e men6 #amos a 'acerlo median&e la creacin de un arc'i#o

    NO#erride+u1lic 1oolean onMenuI&em)elec&ed9in& 4ea&ureId6 MenuI&em i&em

    si&c'9i&em!e&I&emId9 case R!id!menuinser&:

    crea&eReminder97re&urn &rue7

    re&urn su+er!onMenuI&em)elec&ed94ea&ureId6 i&em7

  • 7/26/2019 Trabajo Fisico ANDROID

    8/32

    TM% en la car+e&a resmenu6 3ue daremos el nom1re de>lis&menui&emlon+ress!8ml?6 escri1iendo el siuien&e cdio en elarc'i#o creado:

    En es&e +un&o6 'ay 3ue acordarse de crear el nue#o recurso >menudele&e?en el arc'i#o >s&rins!8ml?:

    Como +odrs com+ro1ar6 a es&as al&uras se &e 'an 1orrado &odos los erroresde la clase Reminder%is&Ac&i#i&y!

    Carguemos el menu

    Para carar el men6 #amos a escri1ir el siuien&e cdio al =nal de la claseReminder%is&Ac&i#i&y:

    Es&e cdio reali5a la misma 4uncin 3ue el onCrea&eO+&ionMenu96 +ero enes&a ocasin se cara el men con&e8&ual!

    A'ora #amos a mane2ar la seleccin de los elemen&os del men con elsiuien&e cdio:

    H8ml #ersionJ"/!." encodinJ"u&4-K"LHmenu

    8mlns:androidJ"'&&+:sc'emas!android!coma+resandroid"L Hi&em android:idJ?NFidmenudele&e? android:&i&leJ?Ns&rinmenudele&e? LHmenuL

    Hs&rin nameJ"menudele&e"Lorrar &areaHs&rinL

    NO#erride+u1lic #oid onCrea&eCon&e8&Menu9Con&e8&Menu menu6 $ie #6

    Con&e8&MenuIn4o menuIn4o su+er!onCrea&eCon&e8&Menu9menu6 #6 menuIn4o7MenuInQa&er mi J e&MenuInQa&er97mi!inQa&e9R!menu!lis&menui&emlon+ress6 menu7

    NO#erride+u1lic 1oolean onCon&e8&I&em)elec&ed9MenuI&em i&em

    si&c'9i&em!e&I&emId9 case R!id!menudele&e:

    Ada+&erCon&e8&MenuIn4o in4o J 9Ada+&erCon&e8&MenuIn4oi&em!e&MenuIn4o97

    mD1,el+er!dele&eReminder9in4o!id7=llDa&a97re&urn &rue7

    re&urn su+er!onCon&e8&I&em)elec&ed9i&em7

  • 7/26/2019 Trabajo Fisico ANDROID

    9/32

    En la l(nea colocamos el m@&odo 3ue se llama cuando un elemen&o delmen con&e8&ual es& seleccionado! El +arme&ro i&em es el elemen&o 3uese selecciona en el men con&e8&ual!

    En la siuien&e l(nea se u&ili5a la ins&ruccin si&c' +ara de&erminar 3u@elemen&o se 'a seleccionado!

    Tra.a-ando con 1rupos de $ens

    U&ili5ando nues&ro men desde el cdio de la a+licacin

    Como +asa con &odo &i+o de recurso 3ue areamos a nues&ros +royec&osAndroid6 +ara u&ili5arlos en las a+licaciones es necesario con#er&irlos ao12e&os +rorama1les 3ue +odamos mani+ular! A con&inuacin &e com+ar&oel cdio necesario +ara u&ili5ar un recurso de Men en una ac&i#idad de la

    a+licacin +ara des+lear un men de o+ciones:

    El m@&odo 3ueu&ili5amos es onCrea&eO+&ionsMenu9 3ue nos +ermi&ir 'acer uso de laclaseMenuInQa&er 3ue nos sir#e +ara ins&anciar un recurso TM% de menden&ro de un o12e&o de la clase Menu7 es&o se lora llamando alm@&odo inQa&e9 3ue reci1e como +rimer +arme&ro el recurso TM% delmen 3ue ser asinado al o12e&o men 3ue reci1e el m@&odo+rinci+al onCrea&eO+&ionsMenu9!

    Ca1e mencionar 3ue es&e m@&odo de1ers escri1irlo 4uera delm@&odo onCrea&e9 de &u ac&i#idad! V de la misma 4orma6 de1ers incluir lassiuien&es sen&encias im+or& +ara 3ue &u cdio corra sin +ro1lema:

    El resul&ado de correr nues&ro demo ser el siuien&e:

  • 7/26/2019 Trabajo Fisico ANDROID

    10/32

    E,E"TOS DE $E"%S

    Em+ecemos +or un caso sencillo! $amos a +ar&ir de un +royec&o nue#o6 3ueya de1e con&ener +or de4ec&o una e&i3ue&a de &e8&o con un ,ello World!

    $amos a aadir en +rimer luar un men con&e8&ual 3ue a+are5ca al +ulsar

    so1re la e&i3ue&a de &e8&o! Para ello6 lo +rimero 3ue #amos a 'acer esindicar en el m@&odo onCrea&e9 de nues&ra ac&i#idad +rinci+al 3ue lae&i3ue&a &endr asociado un men con&e8&ual! Es&o lo conseuimos con unallamada a reis&er*orCon&e8&Menu9:

    A con&inuacin6 iual 3ue 'ac(amos con onCrea&eO+&ionsMenu9 +ara losmens 1sicos6 #amos a so1re escri1ir en nues&ra ac&i#idad el e#en&oencarado de cons&ruir los mens con&e8&uales asociados a los di4eren&escon&roles de la a+licacin! En es&e caso el e#en&o se llamaonCrea&eCon&e8&Menu96 y a di4erencia de onCrea&eO+&ionsMenu9 @s&e sellama cada #e5 3ue se necesi&a mos&rar un men con&e8&ual6 y no una sola#e5 al inicio de la a+licacin! En es&e e#en&o ac&uaremos iual 3ue +ara losm@nus 1sicos6 inQando el men TM% 3ue 'ayamos creado con las dis&in&aso+ciones6 o creando a mano el men median&e el m@&odo add9 X+ara msin4ormacin leer el ar&(culo an&eriorY! En nues&ro e2em+lo 'emos de=nido unmen en TM% llamado >menuc&8e&i3ue&a!8ml>!

    Por su +ar&e el e#en&o onCrea&eCon&e8&Menu9 3uedar(a de la siuien&e4orma:

    Por l&imo6 +ara im+lemen&ar las acciones a reali5ar &ras +ulsar una o+cinde&erminada del men con&e8&ual #amos a im+lemen&ar el e#en&oonCon&e8&I&em)elec&ed9 de 4orma anloa a cmo 'ac(amos cononO+&ionsI&em)elec&ed9 +ara los mens 1sicos:

    http://www.sgoliver.net/blog/?p=1756http://www.sgoliver.net/blog/?p=1756
  • 7/26/2019 Trabajo Fisico ANDROID

    11/32

    Con es&o6 ya &endr(amos lis&o nues&ro men con&e8&ual +ara la e&i3ue&a de&e8&o de la ac&i#idad +rinci+al6 y como #eis &odo es +rc&icamen&e anloo acmo cons&ruimos los mens y su1mens 1sicos en el ar&(culo an&erior! Enes&e +un&o ya +odr(amos e2ecu&ar el +royec&o en el emulador y com+ro1arsu 4uncionamien&o! Para ello6 una #e5 iniciada la a+licacin &an slo&endremos 3ue reali5ar una +ulsacin lara so1re la e&i3ue&a de &e8&o! Enese momen&o de1er(a a+arecer el men con&e8&ual6 donde+odremos seleccionar cual3uier de las dos o+ciones

    de=nidas!E-ercicio de $en Desplega.le )Conte0tual+

    Es&e e2ercicio mues&ra una +lan&illa inicial al cual se leareara ms (&em +ara 3ue el men &ena ms o+ciones!

    Pan&alla inicial

    En la +ar&e su+erior derec'a se deno&a la o+cin del men des+lea1le elcual ya es& +resionado y mues&ra un solo (&em 9A2us&e6 a es&e se le +uedemani+ular e inresar cuan&o (&em sea necesario!

    AP%ICACIZB

    Ir al +royec&o y 1uscar la car+e&a Res y lueo ala car+e&a Men!

  • 7/26/2019 Trabajo Fisico ANDROID

    12/32

    Va den&ro de la car+e&a Men dar do1le clic alarc'i#o main!8ml y u1icarse en la o+cin%ayou& de la #en&a Men Elemen&os6 es&e esel medio donde se area los (&em 3ue seannecesarios!

    En es&e e2em+lo #amos a inresar S elemen&os (&em6 el cual &endrn denom1res de las +ro#incias de Ica!

    Des+u@s de 'a1er inresado los (&em necesario ir a la +es&aa main!8ml+ara de&erminar los nom1res de cada (&em!

    Se e0plica el cdigo2

    [&em: Es el o12e&o de la lis&a des+lea1le!

    Android:id J Es #aria1le id de (&em!

    Android:orderInCa&eory J )e inresa nmero de acuerdo como 3uieraordenar las +osiciones el usuario!

    Android:s'oAsAc&ion J Permi&e es+eci=car el com+or&amien&o de unelemen&o!

    A#STE DE "O$(RES DE 4TE$

  • 7/26/2019 Trabajo Fisico ANDROID

    13/32

    %ueo ir a la car+e&a #ales y dar clic en el arc'i#o )&rin!8ml6 en es&earc'i#o se #a asociar los (&em declarados en main!8ml y as( darle unamscara en la lis&a des+lea1le con los d(as de la semana de lunes a#iernes!

    Con=uracin de #aria1le y mascara del men con&e8&ual!

    Resul&ado de los (&ems areados al men!

  • 7/26/2019 Trabajo Fisico ANDROID

    14/32

    DI5!O1OS E" E! E"TOR"O DEDESARRO!!O DE A"DROID:

    En android un diloo es una +e3uea

    #en&ana 3ue +ide al usuario +ara &omaruna decisin o in&roducir in4ormacinadicional! Un diloo no llena la +an&allay se u&ili5a normalmen&e +ara e#en&osmodales 3ue re3uieren los usuarios +arareali5ar una accin an&es de 3ue +uedan+roceder!

    En +rinci+io6 los diloos de Android los+odremos u&ili5ar con dis&in&os =nes6 eneneral:

    Mos&rar un mensa2e!

    C#ADROSDE

    DI5!O1OS

  • 7/26/2019 Trabajo Fisico ANDROID

    15/32

    Pedir una con=rmacin r+ida! )olici&ar al usuario una eleccin 9sim+le o ml&i+le en&re #arias

    al&erna&i#as!

    )i una ac&i#idad re3uiere in4ormacin adicional del usuario6 se +uedeo1&ener a1riendo una nue#a ac&i#idad 3ue reco2a los da&os y se los&rans=era a la ac&i#idad oriinal! )in em1aro6 +uede ser &edioso de+roramar y com+licar e8cesi#amen&e nues&ra a+licacin +or lo 3uelos diloos sim+li=can es&as &areas!

    %a clase Dialo es la clase 1ase +ara los diloos6 +ero se de1ee#i&ar crear ins&ancias Dialo direc&amen&e6 en su luar6 u&ilice unade las siuien&es su1clases:

    AlertDialog:Un diloo 3ue +uede mos&rar un &(&ulo6 con &res1o&ones6 una lis&a de elemen&os selecciona1les6 o un diseo

    +ersonali5ado!

    Es&e &i+o de diloo se limi&a a mos&rar un mensa2esencillo al usuario6 y un nico 1o&n de Ace+&ar +aracon=rma su lec&ura! Es&e &i+o de diloos loscons&ruiremos median&e la clase AlertDialog6 y msconcre&amen&e su su1clase AlertDialog.Builder! )uu&ili5acin es muy sencilla6 1as&ar con crear un o12e&ode &i+oAlertDialog.Buildery es&a1lecer las +ro+iedadesdel diloo median&e sus m@&odos corres+ondien&es:&(&ulo XsetTitle()Y6 mensa2e XsetMessage()Y y el &e8&o ycom+or&amien&o del 1o&n XsetPositiveButton()Y!

    Date&ic6erDialog o Time&ic6erDialog: Un diloo con unain&er4a5 de usuario +re-de=nido 3ue +ermi&e al usuarioseleccionar una 4ec'a u 'ora!

    CO"STR#CCI/" 7 DI5!O1O DE A!ERTA:

    %a claseAlertDialogle +ermi&e crear una ran #ariedad de diseosde diloo y es a menudo la nica clase de diloo 3ue us&ed

    necesi&a!Como se mues&ra a

    con&inuacinen la =ura /6 'ay&res reiones deun diloo dealer&a:

  • 7/26/2019 Trabajo Fisico ANDROID

    16/32

    8I1#RA 92El diseo de un cuadro de diloo!

    Como re4erencia a la *iura / se de&alla lo siuien&e:

    92 Ttulo: Es&o es o+cional y de1e ser u&ili5ado solamen&ecuando el rea de con&enido es& ocu+ada +or un mensa2ede&allado6 una lis&a6 o el diseo +ersonali5ado! )i &iene 3uedeclarar un sim+le mensa2e o +reun&a6 3ue no es necesarioun &(&ulo!

    2 5rea de Contenido: Es&o +uede mos&rar un mensa2e6 unalis&a6 o de o&ro diseo +ersonali5ado!

    32 !os (otones de Accin: Bo de1e 'a1er ms de &res1o&ones de accin en un cuadro de diloo!%a claseAlertDialog.Builder+ro+orciona APIs 3ue le +ermi&encrear un AlertDialog con es&e &i+o de con&enido6incluyendo un diseo +ersonali5ado! Para cons&ruir un

    AlertDialogse u&ili5a el siuien&e cdio:

    %os &emas siuien&es mues&ran cmo de=nir #arios a&ri1u&os de diloo conla claseAlertDialog.Builder!

    Dilogo Simple:Un diloo es una #en&ana 3ue se a1re so1renues&ra ac&i#idad mos&rando un mensa2e y nos +ermi&ein&erac&uar con el usuario median&e 1o&ones y o&ros elemen&os!Para mos&rar un dialoo in#ocamos el m@&odo showDialog ()de

    la clase Activity! Es&o 'ace 3ue se e2ecu&e el m@&odoonCreateDialogde la claseActivity3ue de1eremos so1rescri1ir

  • 7/26/2019 Trabajo Fisico ANDROID

    17/32

    +ara cons&ruir nues&ro dialoo6 3ue ser un o12e&o de &i+oDialo6 como se e8+lica a con&inuacin:

    Dialog dialogo;

    Para cons&ruir un dialoo de1emos de=nir un o12e&o de laclase Buildero cons&ruc&or de diloos6 median&e:

    Builder builder = new AlertDialog.Builder (this);

    E2ecu&ando dis&in&os m@&odos de es&e o12e&o Builder6+odemos ir de=niendo los con&enidos de nues&ro dialoo!*inalmen&e6 el diloo se crea median&e:

    Dialogo = builder.create ();

  • 7/26/2019 Trabajo Fisico ANDROID

    18/32

    Estructura del Dise;o del E-emplo 9:

  • 7/26/2019 Trabajo Fisico ANDROID

    19/32

    Dilogos con (otones: Median&e onCreateDialog6 +odemos incluir'as&a &res 1o&ones en el dialoo6 denominados botn !ositivo6 botnnegativo y botn neutro. El 1o&n +osi&i#o 9Primer 1o&n se crea conel m@&odo setPositiveButton6 3ue &oma como arumen&os el &e8&o del1o&n y un o12e&o 3ue im+lemen&a la in&er4a5Dialoglnter"ace.#nClic$%istener6 con las ins&rucciones a e2ecu&ar al

    +ulsar el 1o&n 9similar a la in&er4a5 #nClic$%istenerde la clase &iew!%os 1o&ones neu&ro y nea&i#o se de=nen de 4orma similar! Para sa1er3ue 1o&n se 'a +ulsado6 usamos las cons&an&es de la claseDialoglnter"ace!

    UOBPO)II$E6 UOBBEGAI$E6 UOBBEURA%6

    \ue se +ueden com+arar con una #aria1le en&era 3ue reci1e elm@&odo onClic$ y 3ue &oma el #alor corres+ondien&e al 1o&n+ulsado!

  • 7/26/2019 Trabajo Fisico ANDROID

    20/32

    Dilogos con Items: El m@&odo onCreateDialog solo +ermi&ediloos con uno6 dos o &res 1o&ones! Para incluir ms o+ciones6+odemos u&ili5ar una lis&a de ite's6 3ue se com+or&an de la mismamanera 3ue los 1o&ones al +ulsarlos! El &e8&o de los ite's de1ein&roducirse en un array de &i+o tring y se le +asa comoarumen&o al m@&odo setite's!

  • 7/26/2019 Trabajo Fisico ANDROID

    21/32

    Dilogos de Eleccin %nica: Una #ariacin del m@&odo setite'sessetingleChoiceite's6 3ue sir#e +ara aadir al dialoo una lis&a deite'scon casillas +ara marcar! Al +ulsar un ite'6 se marca su casilla6+ero el dialoo no se cierra6 lo 3ue +ermi&e correir nues&ra o+cin!Para cerrar el dialoo6 de1emos +ulsar el 1o&n Bac$ del dis+osi&i#o oaadir un 1o&n al dialoo!

  • 7/26/2019 Trabajo Fisico ANDROID

    22/32

    Dilogos de Eleccin $ltiple: Es un dialoo de eleccin ml&i+le6donde +ueden marcarse #arias casillas6 a +ar&ir del e2em+lo an&erior!Para almacenar los #alores &rue o 4alse de cada casilla6 se in&roduceun array 1ooleano llamado c'eedI&ems. El dialoo de eleccinml&i+le se cons&ruye e2ecu&ando el m@&odoBuilder.setMultiChoicelte's A3u( ite's es el array de ite's6c'eedI&ems es el array 1ooleano es un o12e&o de una clase 3ueim+lemen&a la in&er4a5 Dialoglnter"ace.#nMultiChoiceClic$%istener

    @s&a in&er4a5 de1e de=nir el m@&odo onClic$ 3ue &oma &resarumen&os6 en&re ellos el (ndice del ite' marcado y su #alor &rue o4alse!

  • 7/26/2019 Trabajo Fisico ANDROID

    23/32

    Dilogos de &rogreso: Un diloo de +roreso6 3ue es un o12e&ode la clase ProgressDialog6 mos&rando un elemen&o #isual animadomien&ras se e2ecu&a un +rocesoAsyncTas$en bac$ground! ,ay doses&ilos de dialoo de +roreso: 'ori5on&al y ira&orio 9s!inner). Cadadialoo se inicia con showDialog9id!

  • 7/26/2019 Trabajo Fisico ANDROID

    24/32

    El Asynas +ermi&e el uso a+ro+iado y 4cil del 'ilo de in&er4a5 deusuario! Es&a clase +ermi&e reali5ar o+eraciones en seundo +lano y+u1licar resul&ados en el 'ilo de in&er4a5 de usuario sin necesidad demani+ular los 'ilos y o mani+uladores!

    %a clase Asyn&as cuen&a con los siuien&es +asos:

    on&reE0ecute)+

    doIn(ac6ground )&arams 222+2 Es&e +aso se u&ili5a +ara reali5ar el4ondo de clculo 3ue +uede &omar muc'o &iem+o! %os +arme&ros dela &area as(ncrona se +asan a es&e +aso! El resul&ado del clculode1e ser de#uel&o +or es&e +aso y se +asar de nue#o a la l&imae&a+a!

    on&rogress#pdate)&rogress222+ 2Es&e m@&odo se u&ili5a +aramos&rar cual3uier 4orma de +roreso en la in&er4a5 de usuario6mien&ras 3ue el clculo de 4ondo se siue e2ecu&ando! Por e2em+lo6se +uede u&ili5ar +ara animar una 1arra de +roreso o mos&rar losreis&ros en un cam+o de &e8&o!

    on&ostE0ecute)Result+

    Dilogos &ersonali

  • 7/26/2019 Trabajo Fisico ANDROID

    25/32

    m@&odo inQa&e9 +ara inQar el cuadro de dialoo y cada dialoo+ersonali5ado necesi&ara su +ro+io layou& en el cual se im+lan&araen la clase +rinci+al

    Dilogo del Sistema )&romptDialog+: El uso Pro'!tDialog+ermi&eal usuario inresar un de&erminado &e8&o ya sea #isi1le en le&ras o en4orma de con&rasea median&e un dialoo 3ue el sis&ema nos+ro+orcionara6 +ara lorar a3uello se +uede u&ili5ar el com+onen&e

    AlertDialog6 y se +uede +ersonali5ar a una in&er4a5 de usuario +ara3ue +ueda &ener cual3uier uso 3ue se 3uiera!

  • 7/26/2019 Trabajo Fisico ANDROID

    26/32

    Un roadcas& Recei#er es un com+onen&e Android 3ue +ermi&e el reis&ro dee#en&os del sis&ema6Es decir son los encarados de reaccionar 9reci1ir y res+onder an&e lose#en&os ocurridos en el dis+osi&i#o6 ya sean enerados +or el sis&ema o +oruna a+licacin e8&erna! Como +or e2em+lo un a#iso de 1a&er(a 1a2a 6 un )M)reci1ido6 un )M) en#iado6 una llamada6 un a#iso de la &ar2e&a )D6e&cCreacin de un 1roadcas& Recei#er:

    Para crear un 1roadcas& Recei#er sim+lemen&e &enemos 3ue crear una clase3ue 'erede de roadcas&Recei#er !Adems den&ro de la clase crear elm@&odo OnRecei#e9 cuyo m@&odo se e2ecu&ara cada #e5 3ue se +rodu5ca ele#en&o al 3ue es& suscri&o nues&ro 1roadcas& Recei#er! Es im+or&an&e &ener

    en cuen&a 3ue den&ro del m@&odo onRecei#e9 no se de1en de lle#ar a ca1oo+eraciones 3ue lle#en muc'o &iem+o ni o+eracin de +ersis&encia !

    Ciclo de =ida:)u ciclo de #ida es muy cor&o6 ya 3ue solo es&n ac&i#os mien&ras se e2ecu&ael m@&odo onRecei#e 9Con&e8&6 In&en&6 El o12e&o Con&e8& nos +asa el es&adoac&ual6 y el in&en&6 nos +ermi&ir lan5ar el e#en&o!De 'ec'o el sis&ema llamaal m@&odo onRecei#e y cuando &ermina des&ruye el o12e&o un de&alleim+or&an&e es 3ue no es necesario 3ue es&e en marc'a la a+licacin dondese de=ne el 1roadcacs&Recei#er +ara 3ue es&e se ac&i#e

    Registro del (roadcast Recei=erPodemos reis&rar de dos maneras la 'a1i&ual 3ue es en el mani4es&!8mlllamado reis&ro es&a&ico o reis&rar de manera dinmica con el m@&odoReis&erRecei#e9

    Reis&rar un 1roadcas&Recei#er desde androidMani4es&!8ml es muy sencillo6solo se de1e in&roducir las siuien&es l(neas de cdio den&ro de la e&i3ue&aHa++lica&ionL

    Hrecei#erandroid:nameJ,-ece!torAnuncio,L Hin&en&-=l&erL Hac&ionandroid:nameJ,android.intent.action.BATT*-/%#0,L Hin&en&-=l&erL Hrecei#erL

    %ueo con&inuamos con crear una clase llamada Rece+&orAnuncio con elm@&odo onRecei#er9 6 es&e m@&odo ser llamado cuando el sis&ema lance el

    (roadcast

    Recei=er

    pu.licclassBom1redelaClasee0tendsroadcas&Recei#er NO#erride pu.lic=oidonRecei#e9Con&e8& con&e8&6 In&en& in&en&

  • 7/26/2019 Trabajo Fisico ANDROID

    27/32

    anuncio 1roadcas& AERV%OW 6 es&o ocurrir cuando se de&ec&e el ni#el1a2o de 1a&er(a!

    pu.licclassRece+&orAnuncioe0tendsroadcas&Recei#er

    pu.lic=oidonRecei#e9Con&e8& con&e8&6 In&en& in&en&

    EE$&!O DE (ROADCAST RECEI,ER &ARA !!A$ADACodigo 2-a=a

    $amos a de=nir un 1roadcas& recei#er 3ue escuc'e los cam1ios de es&adodel &el@4ono! )i el &el@4ono reci1e una llamada6 nues&ro rece+&or serno&i=cado y reis&rar un mensa2e!

    /! Creamos un nue#o +royec&o llamado -ece!torlla'ada con la #ersinAndroid !;!;

    ! En es&e caso no necesi&aremos una ac&i#idad +or lo 3ue la clase 3ue'ereda deActivityla la modi=caremos +ara 3ue en su luar 'erede de laclase Broadcast-eceiver&al y como se mues&ra a con&inuacin:

    Cdigo en el Android$anifest20ml

    al y como se e8+lica en la +ar&e &erica6 cuando u&ili5amosroadcas&Recei#ers resul&a im+or&an&e la im+lemen&acin del m@&odoon-eceive() 3ue es el >e3ui#alen&e? al m@&odo onCreate( en una ac&i#idad!Bo&a 3ue el m@&odo on-eceive()es& so1reescri&o de la clase +adre! Den&rode es&e m@&odo6 o1&enemos un o12e&o Bundle3ue con&iene el es&ado y la

    in4ormacin adicional 3ue &rae el 1ntent 3ue nos +ermi&ir dis+arar unano&i=cacin +ro#enien&e del sis&ema del &el@4ono6 3ue +ara es&e e2em+lo es

  • 7/26/2019 Trabajo Fisico ANDROID

    28/32

    una llamada en&ran&e en nues&ro dis+osi&i#o! En caso de 3ue la #aria1lee+trascon&ena alo 9es decir6 3ue en e4ec&o e8is&a una llamada u&ili5amosla cons&an&e *2T-A/TAT*de la clase Tele!honyManager3ue nos 1rinda lain4ormacin corres+ondien&e a la llamada en&ran&e y 3ue uardaremos enuna #aria1le +ara des+learla en el %ogde Ecli+se!

    u&ili5amos un %og.w() +ara des+lear mensa2es en la 4ase de de1u denues&ras a++s +ara de&ec&ar aluna inconsis&encia en nues&ro cdio!

    Por l&imo6 una #e5 3ue 'ayamos des+leado el es&ado de la llamada6creamos o&ra condicin +or medio de la cul si el &el@4ono se encuen&rasonando +or3ue 'ay una llamada6 o1&enemos el nmero a &ra#@s de*2T-A/13C#M134/35MB*- y la uardamos en una #aria1le +arainmedia&amen&e im+rimirla en el %o!

    ;! Como 'emos eliminado la ac&i#idad y en su luar es&amos creando unBroadcast-eceiver6 es im+or&an&e 3ue realicemos los cam1ioscorres+ondien&es en nues&ro arc'i#o AndroidMani"est.+'l 3ue de1er3uedar como se con&inuacin:

    U&ili5amos la e&i3ue&a 6receiver768receiver7 +ara enlo1ar &odo lo 3ue&ena 3ue #er con el Broacast-eceiver3ue u&ili5aremos! Por l&imo6 como laa+licacin accesa a la in4ormacin re4eren&e al es&ado del &el@4ono esnecesario de=nir el +ermiso corres+ondien&e +ara 3ue &odo #aya sin+ro1lemas!

    Una #e5 3ue ya es&@ el emulador lis&o6 nos #amos a la +es&aa de *'ulator

    Controly en el a+ar&ado Tele!hony Actionsde=nimos un nmero &ele4nico3ue ser el 3ue su+ues&amen&e es&ar reali5ando la llamada al emulador!

  • 7/26/2019 Trabajo Fisico ANDROID

    29/32

    "ota:El nmero es indis&in&o6 es decir6 no es necesario 3ue sea un nmeroreal +ara 3ue 4uncione!

    Va slo 1as&ar con +resionar el 1o&n Cally au&om&icamen&e #eremos 3ue

    se reali5a la llamada en el emulador!

    Va arrancada la accin #amos a com+ro1ar 3ue nues&ro Broadcast -eceiverreis&re las acciones 3ue de=nimos en la clase6 +ara lo cul nos si&uamos en

    la +es&aa de %ogCat! Es&a +es&aa nos mues&ra columnas: Ti'e6!id6 tag6Message! En los +arme&ros del m@&odo %og.w() de=nimos un &a y un

  • 7/26/2019 Trabajo Fisico ANDROID

    30/32

    mensa2e! Por lo 3ue es ms sencillo 1uscarlo +or el &a dis&in&i#o 3ueescri1imos 9D*B54:

    Concepto

    ])OB es un acrnimo de ]a#a)cri+&

    O12ec& Bo&a&ion es un 4orma&o de in&ercam1io

    de da&os inde+endien&e y &iene un

    4orma&o ms sencillo 3ue TM% ! Muc'ossi&ios e1 o4recen da&os en ])OB y muc'as a+licaciones u&ili5an ])OB +ara

    +ro+orcionar sus da&os!

    ])OB es inde+endien&e del lenua2e de +roramacin6 3ue resul&a 4cil de

    escri1ir y leer &an&o +ara los seres 'umanos como +ara las m3uinas! ])OB

    +uede re+resen&ar dos &i+os es&ruc&urados: o12e&os y ma&rices!

    Un o12e&o es una coleccin no ordenada de cero o ms +ares de

    nom1res#alores!

    Una ma&ri5 es una secuencia ordenada de cero o ms #alores! %os #alores

    +ueden ser cadenas6 nmeros6 1ooleanos6 nulos y es&os dos &i+os

    es&ruc&urados!

    ,enta-as

    Peso 1as&an&e reducido! )e +ierde muc'o +eso con las e&i3ue&as

    +ues&o 3ue se enlo1an los da&os en&re dos carac&eres 9 ^^6 ^_! En

    !I(RER4A

    SO"

  • 7/26/2019 Trabajo Fisico ANDROID

    31/32

    a+licaciones con muc'a &rans4erencia de da&os +uede ser muy

    rele#an&e %a e#aluacin de los da&os es muy #elo56 +ues&o 3ue la +ro+ia

    es&ruc&ura ])OB +uede ser una #aria1le 2a#ascri+&!

    Aun3ue e#al9 su+ona un +e3ueo au2ero de seuridad6 una 1uenaim+lemen&acin desde ser#idor es su=cien&e +ara 3ue e#al ya no sea

    im+or&an&e

    Des=enta-as

    Para e#aluarse se usa la 4uncin 2a#ascri+& na&i#a e#al96 y +or &emas

    de seuridad6 los desarrolladores nos +lan&eamos a #eces usarla! en

    Gmail o Va'oo es& im+lan&ado el uso de ])OB Es&ruc&uras com+le2as son di4(ciles de leer res+ec&o a TM% o ,M%!

    Android ofrece diferentes elementos para manipular

    los datos SO"> estas clases son:

    SO"O.-ect: es una coleccin desordenada de +ares nom1re

    #alor! )u 4orma e8&erna es una cadena en#uel&a en lla#es con dos

    +un&os en&re los nom1res y los #alores y las comas en&re los #alores y

    nom1res! %a 4orma in&erna es un o12e&o 3ue &iene e& 9 y o+&9 m@&odos +ara acceder a los #alores +or su nom1re6 y +u&

    9 m@&odos +ara aadir o sus&i&uir los #alores +or su nom1re! %os

    #alores +ueden ser cual3uiera de es&os

    &i+os: 1ooleanas 6 ])OBArray 6])OBO12ec& 6 Bmero 6 y de cadena 6 o

    el ])OBO12ec&!BU%% o12e&o!)OBArray6 ])OBO12ec&6 ])OB)&riner y

    ])OBoeni5er!

    SO"Arra?: es una secuencia ordenada de #alores! )u 4orma e8&erna

    es una cadena en#uel&a en corc'e&es con comas en&re los #alores! %a

    4orma in&erna es un o12e&o 3ue &iene e& 9 y o+& 9 m@&odos +ara

    acceder a los #alores de (ndice6 y +u& 9 m@&odos +ara aadir o

    sus&i&uir los #alores! %os #alores +ueden ser cual3uiera de es&os

    &i+os: 1ooleanas 6 ])OBArray 6 ])OBO12ec& 6 Bmero 6 y de cadena 6 o

    el ])OBO12ec&!BU%% o12e&o!

  • 7/26/2019 Trabajo Fisico ANDROID

    32/32

    SO"Stringer: es una 'erramien&a +ara +roducir r+idamen&e &e8&o

    ])OB! SO"@riter:es una 'erramien&a +ara la escri&ura r+ida de &e8&o

    ])OB a los arroyos!

    SO"To6ener: &oma una cadena de 4uen&e y e8&rae carac&eres ys(m1olos de la misma! Es u&ili5ado +or

    los ])OBO12ec& y ])OBArray cons&ruc&ores +ara anali5ar cadenas de

    cdio ])OB! ASO"E0ception: se inicia cuando se de&ec&a un error de sin&a8is o

    de +rocedimien&o!

    $todos de la clase son:

    get )String name+: Es&e m@&odo slo de#uel#e el #alor sino en la4orma de &i+o O12ec&

    get(oolean )String name+: Es&e m@&odo de#uel#e el #alor

    1ooleano es+eci=cado +or la cla#e getDou.le )String name+: Es&e m@&odo de#uel#e el #alor do1le

    es+eci=cado +or la cla#e getInt )String name+: Es&e m@&odo de#uel#e el #alor en&ero

    es+eci=cado +or la cla#e getInt )String name+ : Es&e m@&odo de#uel#e el #alor en&ero

    es+eci=cado +or la cla#e getInt )String name+: Es&e m@&odo de#uel#e el #alor en&ero

    es+eci=cado +or la cla#e get!ong)Stringname+: Es&e m@&odo de#uel#e el #alor a laro

    es+eci=cado +or la cla#e lengtB )+: Es&e m@&odo de#uel#e el nmero de asinaciones de

    nom1re #alor en es&e o12e&o