ebook img

ArcGIS-Runtime-SDK-for-Android PDF

110 Pages·2012·6.15 MB·English
by  
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview ArcGIS-Runtime-SDK-for-Android

Antonio Remírez Remírez 1 IIInnntttrrroooddduuucccccciiióóónnn aaa AAArrrcccGGGIIISSS RRRuuunnntttiiimmmeee fffooorrr AAAnnndddrrroooiiiddd ppoorr AAnnttoonniioo RReemmíírreezz RReemmíírreezz EEEsssttteee mmmaaannnuuuaaalll ssseee dddiiissstttrrriiibbbuuuyyyeee bbbaaajjjooo uuunnnaaa llliiiccceeennnccciiiaaa CCCrrreeeaaatttiiivvveee CCCooommmmmmooonnnsss RRReeecccooonnnoooccciiimmmiiieeennntttooo-NoComercial- CCoommppaarrttiirrIIgguuaall 33..00 EEssppaaññaa.. UUsstteedd eess lliibbrree ddee:: (cid:1) copiar, ddiissttrriibbuuiirr yy ccoommuunniiccaarr ppúúbblliiccaammeennttee llaa oobbrraa (cid:1) hhaacceerr oobbrraass ddeerriivvaaddaass BBaajjoo llaass ccoonnddiicciioonneess ssiigguuiieenntteess:: Reconocimiento —— DDeebbee rreeccoonnoocceerr llooss ccrrééddiittooss ddee llaa oobbrraa ddee llaa mmaanneerraa eeessspppeeeccciiifffiiicccaaadddaaa pppooorrr eeelll aaauuutttooorrr ooo eeelll llliiiccceeennnccciiiaaadddooorrr (((pppeeerrrooo nnnooo dddeee uuunnnaaa mmmaaannneeerrraaa qqquuueee sssuuugggiiieeerrraaa qqquuueee tieneee sssuuu aaapppoooyyyooo ooo aaapppoooyyyaaannn eeelll uuusssooo qqquuueee hhhaaaccceee dddeee sssuuu ooobbbrrraaa)))... EEElll aaauuutttooorrr ooorrriiigggiiinnnaaalll::: AAAnnntttooonnniiiooo Remírez Remírez. No comercial — NNNooo pppuuueeedddeee uuutttiiillliiizzzaaarrr eeessstttaaa ooobbbrrraaa pppaaarrraaa fffiiinnneeesss cccooommmeeerrrccciiiaaallleeesss... CCoommppaarrttiirr bbaajjoo llaa mmiissmmaa lliicceenncciiaa — SSii aalltteerraa oo ttrraannssffoorrmmaa eessttaa oobbrraa,, oo ggeenneerraa uunnaa ooobbbrrraaa dddeeerrriiivvvaaadddaaa,,, sssóóólllooo pppuuueeedddeee dddiiissstttrrriiibbbuuuiiirrr lllaaa ooobbbrrraaa gggeeennneeerrraaadddaaa bbbaaajjjooo uuunnnaaa llliiiccceeennnccciiiaaa iiidddééénnntttiiicccaaa aaa ésta. Reconocimientos: EEEsssrrriii::: """EEEsssrrriii aaannnddd ttthhheee EEEsssrrriii LLLooogggooo aaarrreee llliiiccceeennnssseeeddd tttrrraaadddeeemmmaaarrrkkksss ooofff EEEnnnvvviiirrrooonnnmmmeeennntttaaalll SSSyyysssttteeemmmsss RRReeessseeeaaarrrccchhh Institute, Inc." MMááss iinnffoorrmmaacciióónn:: http://www.esri.com Android: La documentación, iinncclluuyyeennddoo cualquier tipo de cóóddiiggoo,, ssee lliicceenncciiaa bbaajjoo ““AAppaacchhee 22..00 llliiiccceeennnssseee””” yyy eeelll rrreeessstttooo dddeee cccooonnnttteeennniiidddooosss dddeee lllaaa wwweeebbb dddeee AAAnnndddrrroooiiiddd ssseee llliiiccceeennnccciiiaaa bbbaaajjjooo “““CCCrrreeeaaatttiiivvveee CCCooommmmmmooonnnsss AAttttrriibbuuttiioonn 22..55 lliicceennssee””.. MMááss iinnffoorrmmaacciióónn:: http://developer.android.com 2 Introducción a ArcGIS Runtime for Android por Antonio Remírez Remírez Acerca del autor: Experto certificado por esri en desarrollo web y administración de sistemas GIS empresariales con experiencia en formación en ESRI España: www.esri.com/certificationVerification Web application developer: JKWBESGCC1EEQT6R Enterprise administration: 9CRLFWS11EF12QFC 3 Prefacio El nuevo Runtime SDK ppaarraa AAnnddrrooiidd ffaacciilliittaa eell ppooddeerr ddeell GGIISS ddeessddee ddiissppoossiittiivvooss ccoonn eell sssiiisssttteeemmmaaa ooopppeeerrraaatttiiivvvooo llliiibbbrrreee AAAnnndddrrroooiiiddd... MMMeeedddiiiaaannnttteee eeelll eeennntttooorrrnnnooo dddeee dddeeesssaaarrrrrrooollllllooo EEEcccllliiipppssseee yyy eeelll lleenngguuaajjee ddee pprrooggrraammaacciióónn JJaavvaa,, eell ccuurrssoo le acercará llaa ppootteenncciiaa ddee llaass nnuueevvaass tecnologías móviles. Para la realizaciiióóónnn dddeeelll cccuuurrrsssooo eeesss iiimmmpppooorrrtttaaannnttteee ttteeennneeerrr nnnoooccciiiooonnneeesss dddeee ppprrrooogggrrraaammmaaaccciiióóónnn ooorrriiieeennntttaaadddaaa aaa ooobbbjjjeeetttooosss yyy eeennn eeessspppeeeccciiiaaalll dddeeelll llleeennnggguuuaaajjjeee dddeee ppprrrooogggrrraaammmaaaccciiióóónnn JJJaaavvvaaa... NNNooo eeesss uuunnn rrreeeqqquuuiiisssiiitttooo iiinnndddiiissspppeeennnsssaaabbbllleee ttteeennneeerrr cccooonnnoooccciiimmmiiieeennntttooosss dddeee dddeeesssaaarrrrrrooollllllooo pppaaarrraaa lllaaa ppplllaaatttaaafffooorrrmmmaaa AAAnnndddrrroooiiiddd... EEll ffoorrmmaattoo ddeell ccuurrssoo eess sseeccuueenncciiaall,, hhaacciieennddoo eenn llooss pprriimmeerrooss tteemmaass hhiinnccaappiiéé eenn llaass bbbaaassseeesss dddeeelll dddeeesssaaarrrrrrooollllllooo AAAnnndddrrroooiiiddd,,, eeelll eeennntttooorrrnnnooo dddeee dddeeesssaaarrrrrrooollllllooo EEEcccllliiipppssseee yyy tttooodddooo lllooo rrreeelllaaaccciiiooonnnaaadddooo cccooonnn lllaaa ttteeecccnnnooolllooogggíííaaa qqquuueee eeesss ppprrreeeccciiisssooo cccooonnnoooccceeerrr aaannnttteeesss dddeee cccooommmeeennnzzzaaarrr aaa uuutttiiillliiizzzaaarrr eeelll RRRuuunnntttiiimmmeee SSSDDDKKK dddeee AArrccGGIISS ppaarraa AAnnddrrooiidd.. EEnn llooss ssiigguuiieenntteess tteemmaass,, ssee pprrooffuunnddiizzaa eenn llaa pprrooggrraammaacciióónn mmááss pppuuurrraaa rrreeeaaallliiizzzaaannndddooo eeejjjeeemmmppplllooosss tttííípppiiicccooosss dddeee aaapppllliiicccaaaccciiiooonnneeesss GGGIIISSS sssooobbbrrreee eeessstttaaa ppplllaaatttaaafffooorrrmmmaaa... AAAlll fffiiinnnaaalll dddeeelll curso, ssee eessttuuddiiaa bbrreevveemmeennttee ccóómmoo realizar el release de llaass aapplliiccaacciioonneess aassíí ccoommoo ssuu ddeesspplliieegguuee ffiinnaall eenn eell uussuuaarriioo.. 4 Índice 1.- Introducción al desarrollo Android ...................................................................................... 7 1.1. - Desarrollo Android ....................................................................................................... 7 1.2. – Activities ...................................................................................................................... 8 1.3. – Arquitectura del proyecto ......................................................................................... 10 1.4. – Ejercicio: Creando un proyecto Android ................................................................... 12 2.- Introducción a ArcGIS Runtime SDK ................................................................................... 20 2.1. – Runtime SDK .............................................................................................................. 20 2.2. – Requisitos del sistema ............................................................................................... 21 2.3. – Cliente-Servidor ......................................................................................................... 23 2.4. – Ejercicio: Poniendo en marcha ArcGIS Runtime ........................................................ 25 3.- Entorno de desarrollo: Eclipse ........................................................................................... 29 3.1.- Eclipse y ADT ............................................................................................................... 29 3.2.- Emuladores o AVD ...................................................................................................... 31 3.3.- Desarrollo con dispositivos físicos .............................................................................. 33 3.4.- Ejercicio: ArcGIS en AVD ............................................................................................. 34 4.- Consumir servicios web ..................................................................................................... 44 4.1.- Tipos de servicios disponibles ..................................................................................... 44 4.2.- Ejercicio: Consumir diferentes tipos de mapa ............................................................ 47 5.- Consultando los datos ........................................................................................................ 52 5.1.- Consultas ..................................................................................................................... 52 5.2.- Renderers .................................................................................................................... 54 5.4. - Callouts ....................................................................................................................... 55 5.5.- Ejercicio: QueryTask .................................................................................................... 56 5.6.- Ejercicio: Aplicar un renderer a una FeatureLayer ...................................................... 64 5.7.- Ejercicio: Callouts ........................................................................................................ 66 6.- Geoprocesamiento y geolocalización ................................................................................ 70 6.1.- Geoprocesamiento ...................................................................................................... 70 6.2.- Geolocalización ........................................................................................................... 71 6.3.- Ejercicio: Geolocalización inversa ............................................................................... 72 6.4.- Ejercicio: Cuencas visuales .......................................................................................... 75 7.- Edición ................................................................................................................................ 79 7.1. – Edición ....................................................................................................................... 79 5 7.2. – Opciones de edición .................................................................................................. 82 7.3.- Ejercicio: Edición ......................................................................................................... 83 8.- Despliegue de aplicaciones ................................................................................................ 87 8.1. – Distribución ............................................................................................................... 87 8.2. – Modelos de negocio .................................................................................................. 88 Anexo 1: Acerca de las versiones de Android ......................................................................... 90 Anexo 2: AndroidManifest.xml ............................................................................................... 92 Anexo 3: Resultado de los ejercicios ....................................................................................... 94 6 1.- IInnttrroodduucccciióónn aall ddeessaarrrroolllloo AAnnddrrooiidd 1.1. - Desarrollo Android CCCooommmooo tttooodddooo dddeeesssaaarrrrrrooollllllooo dddeee sssoooffftttwwwaaarrreee,,, dddeeesssaaarrrrrrooollllllaaarrr pppaaarrraaa lllaaa ppplllaaatttaaafffooorrrmmmaaa AAAnnndddrrroooiiiddd tttiiieeennneee uuunnnaaasss fffaaassseeesss bien diferenciadas: IInnssttaallaacciióónn Desarrollo Despliegue AAA lllooo lllaaarrrgggooo dddeeelll cccuuurrrsssooo,,, ssseee vvvaaa aaa ppprrrooofffuuunnndddiiizzzaaarrr eeennn cccaaadddaaa uuunnnaaa dddeee lllaaasss tttrrreeesss fffaaassseeesss,,, hhhaaaccciiieeennndddooo hhhiiinnncccaaapppiiiééé eeennn lllooosss en la fase de instalación ddeell eennttoorrnnoo yy ddeell ddeessaarrrroolllloo ddee pprrooyyeeccttooss:: Desarrollo •Java •Release •Eclipse •Creación de proyectos •SDK y ADT •Runtime SDK •Debug y testeo Instalación Despliegue EEEnnn lllooosss ppprrriiimmmeeerrrooosss ttteeemmmaaasss ssseee aaabbbooorrrdddaaa cccóóómmmooo dddeeebbbeee rrreeeaaallliiizzzaaarrrssseee lllaaa iiinnnssstttaaalllaaaccciiióóónnn ooo cccóóómmmooo aaafffeeeccctttaaa eeelll eeennntttooorrrnnnooo dddeee dddeeesssaaarrrrrrooollllllooo aaalll ppprrroooyyyeeeccctttooo... EEEnnn lllooosss sssiiiggguuuiiieeennnttteeesss,,, ssseee ppprrrooofffuuunnndddiiizzzaaa eeennn cccóóómmmooo cccrrreeeaaarrr ppprrroooyyyeeeccctttooosss cccooonnn eeelll Runtime SDK y se desarrollaann pprroottoottiippooss ddee pprrooyyeeccttooss GGIISS eexxpplloottaannddoo ssuu ffuunncciioonnaalliiddaadd.. PPoorr úúllttiimmoo,, ssee mmuueessttrraa ccóómmoo rreeaalliizzaarr uunn release ddeell pprrooyyeeccttoo yy ccóómmoo eess ssuu ddeesspplliieegguuee.. 7 1.2. – Activities PPPooodddrrríííaaa dddeeeccciiirrrssseee qqquuueee eeelll dddeeesssaaarrrrrrooollllllooo dddeee uuunnnaaa aaapppllliiicccaaaccciiióóónnn AAAnnndddrrroooiiiddd,,, ssseee lllllleeevvvaaa aaa cccaaabbbooo mmmeeedddiiiaaannnttteee eeelll ddeessaarrrroolllloo ddee llaass ssuucceessiivvaass ppaannttaallllaass qquuee ccoommppoonneenn nnuueessttrraa aapplliiccaacciióónn.. IImmaaggiinnee,, ppoorr eejjeemmpplloo,, qqquuueee aaabbbrrreee uuunnnaaa aaapppllliiicccaaaccciiióóónnn eeennn uuunnn dddiiissspppooosssiiitttiiivvvooo AAAnnndddrrroooiiiddd yyy eeennn sssuuu pppaaannntttaaallllllaaa aaapppaaarrreeeccceee uuunnnaaa iiimmmaaagggeeennn yyy uuunnn bboottóónn.. AAll ppiinncchhaarr eenn eell bboottóónn llaa aapplliiccaacciióónn llee lllleevvaa aa oottrraa ppaannttaallllaa eenn llaa ccuuaall aappaarreeccee uunn mmmeeennnsssaaajjjeee dddeee ttteeexxxtttooo... PPPaaarrraaa rrreeeaaallliiizzzaaarrr eeesssaaa aaapppllliiicccaaaccciiióóónnn,,, eeelll ppprrrooogggrrraaammmaaadddooorrr hhhaaa ttteeennniiidddooo qqquuueee dddeeesssaaarrrrrrooollllllaaarrr eeesssaaasss dos ventanas. Cada una de eessttaass iinntteerrffaacceess sseerráá lloo qquuee eenn AAnnddrrooiidd ssee ccoonnooccee ccoommoo Activity. NNoorrmmaallmmeennttee,, llaa vviissiióónn qquuee ssee ttiieennee ddee uunnaa Activity eess pprreecciissaammeennttee llaa ddee uunnaa ppaannttaallllaa cccooommmpppllleeetttaaa cccooonnn lllaaa qqquuueee iiinnnttteeerrraaaccctttúúúaaa eeelll uuusssuuuaaarrriiiooo pppeeerrrooo eeesss pppooosssiiibbbllleee qqquuueee ssseee tttrrraaattteee dddeee uuunnnaaa vvveeennntttaaannnaaa fffllloootttaaannnttteee encima de otra Activity oo iinncclluussoo uunnaa Activity dentro de otra Activity. UUnn ddeessaarrrroollllaaddoorr ddeebbee ccoommpprreennddeerr qquuee uunnaa Activity passaarráá ppoorr vvaarriiooss eessttaaddooss aa lloo llaarrggoo del ccciiiccclllooo dddeee vvviiidddaaa dddeee lllaaa aaapppllliiicccaaaccciiióóónnn (((dddeeesssdddeee qqquuueee uuunnn uuusssuuuaaarrriiiooo lllaaannnzzzaaa lllaaa aaapppllliiicccaaaccciiióóónnn hhhaaassstttaaa qqquuueee lllaaa ccciiieeerrrrrraaa))) yyy qquuee uunn nnúúmmeerroo iinnddeeffiinniiddoo ddee eessttaass Activities sseerráánn ccooeexxiissttiirráánn eenn eell ddiissppoossiittiivvoo dduurraannttee eessttee ciclo. Tanto es así, que resssuuullltttaaa iiimmmpppooorrrtttaaannnttteee cccooonnnoooccceeerrr sssuuu ppprrrooopppiiiooo ccciiiccclllooo dddeee eeexxxiiisssttteeennnccciiiaaa::: CCiicclloo ddee vviiddaa ddeeffiinniiddoo eenn eell AAPPII RReeffeerreennccee ddee AAnnddrrooiidd:: hhttttpp::////ddeevveellooppeerr..aannddrrooiidd..ccoomm//rreeffeerreennccee//aannddrrooiidd//aapppp//AAccttiivviittyy..hhttmmll 8 Los métodos que normalmente deben ser implementados en cada Activity son: • onCreate(): se llama cuando la Activity se llama por primera vez y debe ser creada. Si la aplicación requiere de conectar con unos datos o con el estado de la aplicación la última vez que fue abierta, debe realizarse aquí. Siempre se sigue con un onStart(). • onRestart(): la actividad ha sido detenida y debe relanzase. De nuevo, siempre se sigue con un onStart(). • onStart():se llama cuando la actividad se hace visible para el usuario. • onResume(): se llama cuando la aplicación se ha cargado y está preparada para que el usuario interactúe con ella. Siempre se continúa con un onPause(). • onPause(): el sistema requiere de otra Activity y antes se ejecuta este método. Suele utilizarse para salvar cambios y detener elementos que puedan consumir CPU. Se recomienda que la implementación sea lo más ligera posible debido a que ninguna otra Activity puede realizar su correspondiente onResume() si hay un previo onPause() sin finalizar. Además, siempre irá seguido de su onResume() si la Activity vuelve a ser visible al usuario o de su onStop() si se hace invisible. • onStop(): se llama cuando ya no es visible para el usuario. Esto puede deberse a que una nueva Activity ha comenzado o ha vuelto a ser visible al usuario o la actual ha sido destruida. • onDestroy(): llamada final de la Activity, después es totalmente destruida. Puede suceder debido a que el sistema necesite liberar memoria o porque explícitamente se llama a este método. 9 1.3. – Arquitectura del proyecto Es importante saber que el proyecto Android se convertirá en un fichero .apk (Application PacKage file), que es una variante de los clásicos ficheros .jar de Java. Este es el tipo de fichero es el empaquetado necesario para la distribución de aplicaciones en la plataforma Android. La arquitectura de los proyectos Android que hacen esto posible es la siguiente: El código fuente El código fuente de la aplicación, se sitúa, como en los proyectos Java, en la carpeta src, mientras que el código autogenerado se encuentra en la carpeta gen. Como puede verse en la imagen, en dichas carpetas encontraremos ficheros de código escritos en Java y con extensión .java. Nuestros ficheros Java se deben organizar en paquetes lo cual crea una estructura de clases que se refleja en nuestro disco como una estructura de carpetas donde se guardan los ficheros .java. Al crear un proyecto, se verá más adelante, es necesario establecer junto al nombre de la aplicación, el paquete que se quiere crear. En la carpeta gen se crean automáticamente para el mismo paquete dos ficheros .java adicionales: R y BuildConfig. En el fichero R.java, se generan automáticamente por el compilador, identificadores para todos los recursos del proyecto. De este modo, es posible acceder mediante código a todos los recursos ya que quedan programados bajo clases estáticas. 10

Description:
Web application developer: JKWBESGCC1EEQT6R El SDK de Android así como el plugin para Eclipse Android Development Tools (ADT).
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.