<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>mobile development &#187; Android</title>
	<atom:link href="http://mobile.davidocs.com/tag/android/feed/" rel="self" type="application/rss+xml" />
	<link>http://mobile.davidocs.com</link>
	<description>Building Android and iPhone applications from scratch</description>
	<lastBuildDate>Wed, 30 Sep 2009 08:54:01 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<image>
<link>http://mobile.davidocs.com</link>
<url>http://mobile.davidocs.com/wp-content/mbp-favicon/android-wallpaper4_1024x768.png</url>
<title>mobile development</title>
</image>
		<item>
		<title>Cómo instalar el teclado del HTC Hero en el HTC Magic</title>
		<link>http://mobile.davidocs.com/android/como-instalar-el-teclado-del-htc-hero-en-el-htc-magic/</link>
		<comments>http://mobile.davidocs.com/android/como-instalar-el-teclado-del-htc-hero-en-el-htc-magic/#comments</comments>
		<pubDate>Wed, 30 Sep 2009 08:54:01 +0000</pubDate>
		<dc:creator>David González</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[AppsInstaller]]></category>
		<category><![CDATA[HTC Hero]]></category>
		<category><![CDATA[Keyboard]]></category>

		<guid isPermaLink="false">http://mobile.davidocs.com/?p=234</guid>
		<description><![CDATA[Uno de los puntos más débiles que nos encontramos al utilizar el HTC Magic o el HTC Dream es el teclado. Podemos configurar mil cosas de nuestro teléfono pero el teclado queda algo por detrás del resto del sistema operativo.
Pues bien, ahora ya es posible sustituir el viejo teclado de Android por el nuevo utilizado [...]


Entradas relacionadas:<ol><li><a href='http://mobile.davidocs.com/android/como-anadir-iconos-a-un-listview-en-android/' rel='bookmark' title='Permanent Link: Cómo añadir iconos a un ListView en Android'>Cómo añadir iconos a un ListView en Android</a></li>
<li><a href='http://mobile.davidocs.com/android/primeros-pasos-con-android/' rel='bookmark' title='Permanent Link: Primeros pasos con Android'>Primeros pasos con Android</a></li>
<li><a href='http://mobile.davidocs.com/android/tratamiento-de-ficheros-xml-con-android/' rel='bookmark' title='Permanent Link: Tratamiento de ficheros XML con Android'>Tratamiento de ficheros XML con Android</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p class="dropcap-first">Uno de los puntos más débiles que nos encontramos al utilizar el HTC Magic o el HTC Dream es el teclado. Podemos configurar mil cosas de nuestro teléfono pero el teclado queda algo por detrás del resto del sistema operativo.</p>
<p>Pues bien, ahora ya es posible sustituir el viejo teclado de Android por el nuevo utilizado en el HTC Hero, en sencillos pasos podréis cambiarlo sin problemas.</p>
<p><img class="alignnone size-full wp-image-235" title="081209-0916-howtogetthe1" src="http://mobile.davidocs.com/wp-content/uploads/2009/09/081209-0916-howtogetthe1.png" alt="081209-0916-howtogetthe1" width="250" height="346" /><img class="alignnone size-full wp-image-236" title="081209-0916-howtogetthe2" src="http://mobile.davidocs.com/wp-content/uploads/2009/09/081209-0916-howtogetthe2.png" alt="081209-0916-howtogetthe2" width="250" height="348" /></p>
<p><span id="more-234"></span></p>
<p>Pasos a seguir:</p>
<p><img class="size-full wp-image-238  alignleft" title="chart" src="http://mobile.davidocs.com/wp-content/uploads/2009/09/chart.png" alt="chart" width="135" height="135" /></p>
<p><strong>1-</strong> Instala la aplicación <a href="http://www.androlib.com/android.application.com-mmg-appin-jpAw.aspx" target="_blank">AppsInstaller</a>.</p>
<p><strong>2-</strong> Descarga el fichero htc_ime.rar (link más abajo)</p>
<p><strong>3-</strong> Extrae el fichero del .zip y cópialo en la tarjeta microSD del teléfono.</p>
<p><strong>4-</strong> Ves a <em>Ajustes </em>&gt; <em>Aplicaciones </em>y marca la casilla <em>Origenes Desconocidos</em>.</p>
<p><strong>5-</strong> Ejecuta <em>AppsInstaller </em>y selecciona HTC_IME para instalarla.</p>
<p><strong>6-</strong> Desde <em>Ajustes </em>&gt; <em>Idioma y país</em> selecciona la casilla <em>Touch Input</em>.</p>
<p><strong>7-</strong> Abre el navegador y deja pulsado el campo de texto.</p>
<p><strong>8-</strong> Selecciona Touch Input en el menú emergente.</p>
<p>Ahora ya tienes el nuevo teclado del <strong>HTC Hero</strong>, para cambiar entre las 3 disposiciones de teclado aprieta el botón que parece un engranaje y te llevara a la pantalla de configuración.</p>
<p>Cualquier pregunta que tengas no dudes en comentarla.</p>
<p><table style="border: 1px solid #CCC;" cellpadding="3" width="100%">
  <tr>
    <td width="35">
      <img src="http://mobile.davidocs.com/wp-content/plugins/downloads-manager/img/icons/winrar.gif" alt="http://mobile.davidocs.com/wp-content/plugins/downloads-manager/img/icons/winrar.gif">
    </td>
    <td>
      <b>download:</b> <a href="http://mobile.davidocs.com/?file_id=6">htc_ime</a> <small>(3.93MB)</small><br />
      <b>added:</b> 30/09/2009 <br />
      <b>clicks:</b> 339 <br />
      <b>description:</b> Teclado del HTC Hero para instalar. <br />
    </td>
  </tr>
</table></p>
<p>Fuente: <a href="http://www.allshadow.com/2009/08/12/how-to-get-the-htc-hero-keyboard-android/" target="_blank">Allshadow</a></p>



Comparte:


	<a rel="nofollow"  target="_blank" href="http://www.facebook.com/share.php?u=http%3A%2F%2Fmobile.davidocs.com%2Fandroid%2Fcomo-instalar-el-teclado-del-htc-hero-en-el-htc-magic%2F&amp;t=C%C3%B3mo%20instalar%20el%20teclado%20del%20HTC%20Hero%20en%20el%20HTC%20Magic" title="Facebook"><img src="http://mobile.davidocs.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://bitacoras.com/anotaciones/http%3A%2F%2Fmobile.davidocs.com%2Fandroid%2Fcomo-instalar-el-teclado-del-htc-hero-en-el-htc-magic%2F" title="Bitacoras.com"><img src="http://mobile.davidocs.com/wp-content/plugins/sociable/images/bitacoras.png" title="Bitacoras.com" alt="Bitacoras.com" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://meneame.net/submit.php?url=http%3A%2F%2Fmobile.davidocs.com%2Fandroid%2Fcomo-instalar-el-teclado-del-htc-hero-en-el-htc-magic%2F" title="Meneame"><img src="http://mobile.davidocs.com/wp-content/plugins/sociable/images/meneame.png" title="Meneame" alt="Meneame" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.wikio.it/vote?url=http%3A%2F%2Fmobile.davidocs.com%2Fandroid%2Fcomo-instalar-el-teclado-del-htc-hero-en-el-htc-magic%2F" title="Wikio IT"><img src="http://mobile.davidocs.com/wp-content/plugins/sociable/images/wikio.png" title="Wikio IT" alt="Wikio IT" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fmobile.davidocs.com%2Fandroid%2Fcomo-instalar-el-teclado-del-htc-hero-en-el-htc-magic%2F&amp;title=C%C3%B3mo%20instalar%20el%20teclado%20del%20HTC%20Hero%20en%20el%20HTC%20Magic&amp;bodytext=Uno%20de%20los%20puntos%20m%C3%A1s%20d%C3%A9biles%20que%20nos%20encontramos%20al%20utilizar%20el%20HTC%20Magic%20o%20el%20HTC%20Dream%20es%20el%20teclado.%20Podemos%20configurar%20mil%20cosas%20de%20nuestro%20tel%C3%A9fono%20pero%20el%20teclado%20queda%20algo%20por%20detr%C3%A1s%20del%20resto%20del%20sistema%20operativo.%0D%0A%0D%0APues%20bien%2C%20ahora%20y" title="Digg"><img src="http://mobile.davidocs.com/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://delicious.com/post?url=http%3A%2F%2Fmobile.davidocs.com%2Fandroid%2Fcomo-instalar-el-teclado-del-htc-hero-en-el-htc-magic%2F&amp;title=C%C3%B3mo%20instalar%20el%20teclado%20del%20HTC%20Hero%20en%20el%20HTC%20Magic&amp;notes=Uno%20de%20los%20puntos%20m%C3%A1s%20d%C3%A9biles%20que%20nos%20encontramos%20al%20utilizar%20el%20HTC%20Magic%20o%20el%20HTC%20Dream%20es%20el%20teclado.%20Podemos%20configurar%20mil%20cosas%20de%20nuestro%20tel%C3%A9fono%20pero%20el%20teclado%20queda%20algo%20por%20detr%C3%A1s%20del%20resto%20del%20sistema%20operativo.%0D%0A%0D%0APues%20bien%2C%20ahora%20y" title="del.icio.us"><img src="http://mobile.davidocs.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.friendfeed.com/share?title=C%C3%B3mo%20instalar%20el%20teclado%20del%20HTC%20Hero%20en%20el%20HTC%20Magic&amp;link=http%3A%2F%2Fmobile.davidocs.com%2Fandroid%2Fcomo-instalar-el-teclado-del-htc-hero-en-el-htc-magic%2F" title="FriendFeed"><img src="http://mobile.davidocs.com/wp-content/plugins/sociable/images/friendfeed.png" title="FriendFeed" alt="FriendFeed" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://news.ycombinator.com/submitlink?u=http%3A%2F%2Fmobile.davidocs.com%2Fandroid%2Fcomo-instalar-el-teclado-del-htc-hero-en-el-htc-magic%2F&amp;t=C%C3%B3mo%20instalar%20el%20teclado%20del%20HTC%20Hero%20en%20el%20HTC%20Magic" title="HackerNews"><img src="http://mobile.davidocs.com/wp-content/plugins/sociable/images/hackernews.png" title="HackerNews" alt="HackerNews" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://technorati.com/faves?add=http%3A%2F%2Fmobile.davidocs.com%2Fandroid%2Fcomo-instalar-el-teclado-del-htc-hero-en-el-htc-magic%2F" title="Technorati"><img src="http://mobile.davidocs.com/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a>


<br/><br/>

<p>Entradas relacionadas:<ol><li><a href='http://mobile.davidocs.com/android/como-anadir-iconos-a-un-listview-en-android/' rel='bookmark' title='Permanent Link: Cómo añadir iconos a un ListView en Android'>Cómo añadir iconos a un ListView en Android</a></li>
<li><a href='http://mobile.davidocs.com/android/primeros-pasos-con-android/' rel='bookmark' title='Permanent Link: Primeros pasos con Android'>Primeros pasos con Android</a></li>
<li><a href='http://mobile.davidocs.com/android/tratamiento-de-ficheros-xml-con-android/' rel='bookmark' title='Permanent Link: Tratamiento de ficheros XML con Android'>Tratamiento de ficheros XML con Android</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://mobile.davidocs.com/android/como-instalar-el-teclado-del-htc-hero-en-el-htc-magic/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Crea accesos directos gestuales con Open Gesture Pro</title>
		<link>http://mobile.davidocs.com/android/crea-accesos-directos-gestuales-con-open-gesture-pro/</link>
		<comments>http://mobile.davidocs.com/android/crea-accesos-directos-gestuales-con-open-gesture-pro/#comments</comments>
		<pubDate>Wed, 30 Sep 2009 06:44:13 +0000</pubDate>
		<dc:creator>David González</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Reviews]]></category>
		<category><![CDATA[Gestures]]></category>
		<category><![CDATA[Open Gesture Pro]]></category>

		<guid isPermaLink="false">http://mobile.davidocs.com/?p=231</guid>
		<description><![CDATA[Hay una gran variedad de aplicaciones que modifican la Home de nuestro teléfono, pero hasta ahora no habíamos visto ninguna como esta. Open Gesture añade soporte gestual que te permite lanzar aplicaciones y ajustes.
Deslizando el dedo hacia arriba lanza accesos directos a Bluetooth, Wifi, GPS, etc. Podemos configurar nuestros propios &#8220;gestos&#8221; para lanzar páginas web, [...]


Entradas relacionadas:<ol><li><a href='http://mobile.davidocs.com/android/a-primera-vista-sherpa-para-android/' rel='bookmark' title='Permanent Link: A primera vista: Sherpa para Android'>A primera vista: Sherpa para Android</a></li>
<li><a href='http://mobile.davidocs.com/android/realidad-aumentada-en-3d-con-layar/' rel='bookmark' title='Permanent Link: Realidad aumentada en 3D con Layar'>Realidad aumentada en 3D con Layar</a></li>
<li><a href='http://mobile.davidocs.com/android/10-aplicaciones-interesantes-para-android/' rel='bookmark' title='Permanent Link: 10 aplicaciones interesantes para Android'>10 aplicaciones interesantes para Android</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p class="dropcap-first">Hay una gran variedad de aplicaciones que modifican la <em>Home </em>de nuestro teléfono, pero hasta ahora no habíamos visto ninguna como esta. <strong>Open Gesture</strong> añade soporte gestual que te permite lanzar aplicaciones y ajustes.</p>
<p>Deslizando el dedo hacia arriba lanza accesos directos a <em>Bluetooth</em>, <em>Wifi</em>, <em>GPS</em>, etc. Podemos configurar nuestros propios &#8220;gestos&#8221; para lanzar páginas web, contactos, aplicaciones o archivos, por ejemplo, puedes llamar a tu novia Marta dibujando una &#8220;M&#8221; en la pantalla.</p>
<p>No es necesario estar en la <em>Home </em>para poder realizar los gestos, apretando el botón de cámara mientras estamos en cualquier otra aplicación, podemos abrir <em>YouTube </em>estando en el navegador.</p>
<p>Sin duda una aplicación original  de la que veremos versiones en el futuro.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="344" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/3MtIsW6G0Ic&amp;hl=es&amp;fs=1&amp;" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="425" height="344" src="http://www.youtube.com/v/3MtIsW6G0Ic&amp;hl=es&amp;fs=1&amp;" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>



Comparte:


	<a rel="nofollow"  target="_blank" href="http://www.facebook.com/share.php?u=http%3A%2F%2Fmobile.davidocs.com%2Fandroid%2Fcrea-accesos-directos-gestuales-con-open-gesture-pro%2F&amp;t=Crea%20accesos%20directos%20gestuales%20con%20Open%20Gesture%20Pro" title="Facebook"><img src="http://mobile.davidocs.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://bitacoras.com/anotaciones/http%3A%2F%2Fmobile.davidocs.com%2Fandroid%2Fcrea-accesos-directos-gestuales-con-open-gesture-pro%2F" title="Bitacoras.com"><img src="http://mobile.davidocs.com/wp-content/plugins/sociable/images/bitacoras.png" title="Bitacoras.com" alt="Bitacoras.com" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://meneame.net/submit.php?url=http%3A%2F%2Fmobile.davidocs.com%2Fandroid%2Fcrea-accesos-directos-gestuales-con-open-gesture-pro%2F" title="Meneame"><img src="http://mobile.davidocs.com/wp-content/plugins/sociable/images/meneame.png" title="Meneame" alt="Meneame" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.wikio.it/vote?url=http%3A%2F%2Fmobile.davidocs.com%2Fandroid%2Fcrea-accesos-directos-gestuales-con-open-gesture-pro%2F" title="Wikio IT"><img src="http://mobile.davidocs.com/wp-content/plugins/sociable/images/wikio.png" title="Wikio IT" alt="Wikio IT" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fmobile.davidocs.com%2Fandroid%2Fcrea-accesos-directos-gestuales-con-open-gesture-pro%2F&amp;title=Crea%20accesos%20directos%20gestuales%20con%20Open%20Gesture%20Pro&amp;bodytext=Hay%20una%20gran%20variedad%20de%20aplicaciones%20que%20modifican%20la%20Home%20de%20nuestro%20tel%C3%A9fono%2C%20pero%20hasta%20ahora%20no%20hab%C3%ADamos%20visto%20ninguna%20como%20esta.%20Open%20Gesture%20a%C3%B1ade%20soporte%20gestual%20que%20te%20permite%20lanzar%20aplicaciones%20y%20ajustes.%0D%0A%0D%0ADeslizando%20el%20dedo%20hacia%20arr" title="Digg"><img src="http://mobile.davidocs.com/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://delicious.com/post?url=http%3A%2F%2Fmobile.davidocs.com%2Fandroid%2Fcrea-accesos-directos-gestuales-con-open-gesture-pro%2F&amp;title=Crea%20accesos%20directos%20gestuales%20con%20Open%20Gesture%20Pro&amp;notes=Hay%20una%20gran%20variedad%20de%20aplicaciones%20que%20modifican%20la%20Home%20de%20nuestro%20tel%C3%A9fono%2C%20pero%20hasta%20ahora%20no%20hab%C3%ADamos%20visto%20ninguna%20como%20esta.%20Open%20Gesture%20a%C3%B1ade%20soporte%20gestual%20que%20te%20permite%20lanzar%20aplicaciones%20y%20ajustes.%0D%0A%0D%0ADeslizando%20el%20dedo%20hacia%20arr" title="del.icio.us"><img src="http://mobile.davidocs.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.friendfeed.com/share?title=Crea%20accesos%20directos%20gestuales%20con%20Open%20Gesture%20Pro&amp;link=http%3A%2F%2Fmobile.davidocs.com%2Fandroid%2Fcrea-accesos-directos-gestuales-con-open-gesture-pro%2F" title="FriendFeed"><img src="http://mobile.davidocs.com/wp-content/plugins/sociable/images/friendfeed.png" title="FriendFeed" alt="FriendFeed" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://news.ycombinator.com/submitlink?u=http%3A%2F%2Fmobile.davidocs.com%2Fandroid%2Fcrea-accesos-directos-gestuales-con-open-gesture-pro%2F&amp;t=Crea%20accesos%20directos%20gestuales%20con%20Open%20Gesture%20Pro" title="HackerNews"><img src="http://mobile.davidocs.com/wp-content/plugins/sociable/images/hackernews.png" title="HackerNews" alt="HackerNews" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://technorati.com/faves?add=http%3A%2F%2Fmobile.davidocs.com%2Fandroid%2Fcrea-accesos-directos-gestuales-con-open-gesture-pro%2F" title="Technorati"><img src="http://mobile.davidocs.com/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a>


<br/><br/>

<p>Entradas relacionadas:<ol><li><a href='http://mobile.davidocs.com/android/a-primera-vista-sherpa-para-android/' rel='bookmark' title='Permanent Link: A primera vista: Sherpa para Android'>A primera vista: Sherpa para Android</a></li>
<li><a href='http://mobile.davidocs.com/android/realidad-aumentada-en-3d-con-layar/' rel='bookmark' title='Permanent Link: Realidad aumentada en 3D con Layar'>Realidad aumentada en 3D con Layar</a></li>
<li><a href='http://mobile.davidocs.com/android/10-aplicaciones-interesantes-para-android/' rel='bookmark' title='Permanent Link: 10 aplicaciones interesantes para Android'>10 aplicaciones interesantes para Android</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://mobile.davidocs.com/android/crea-accesos-directos-gestuales-con-open-gesture-pro/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Maps con Threads</title>
		<link>http://mobile.davidocs.com/android/google-maps-con-threads/</link>
		<comments>http://mobile.davidocs.com/android/google-maps-con-threads/#comments</comments>
		<pubDate>Mon, 28 Sep 2009 06:52:51 +0000</pubDate>
		<dc:creator>David González</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[Google Maps]]></category>
		<category><![CDATA[threads]]></category>

		<guid isPermaLink="false">http://www.tech-xperience.com/mobiledev/?p=199</guid>
		<description><![CDATA[No cabe duda de que una de las grandas posibilidades que podemos aprovechar en un dispositivo Android es la geo-localización. Uno de los primeros pasos que podemos dar en este campo es la utilización de Google Maps.
Desde hace mucho tiempo Google Maps es sinónimo de geo-localización en Internet, gracias a la estupenda API de la [...]


Entradas relacionadas:<ol><li><a href='http://mobile.davidocs.com/android/como-anadir-iconos-a-un-listview-en-android/' rel='bookmark' title='Permanent Link: Cómo añadir iconos a un ListView en Android'>Cómo añadir iconos a un ListView en Android</a></li>
<li><a href='http://mobile.davidocs.com/android/disenando-la-aplicacion-uso-de-tabhost-en-android/' rel='bookmark' title='Permanent Link: Diseñando la aplicación, uso de TabHost en Android'>Diseñando la aplicación, uso de TabHost en Android</a></li>
<li><a href='http://mobile.davidocs.com/android/tratamiento-de-ficheros-xml-con-android/' rel='bookmark' title='Permanent Link: Tratamiento de ficheros XML con Android'>Tratamiento de ficheros XML con Android</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p class="dropcap-first">No cabe duda de que una de las grandas posibilidades que podemos aprovechar en un dispositivo Android es la geo-localización. Uno de los primeros pasos que podemos dar en este campo es la utilización de <strong>Google Maps</strong>.</p>
<p>Desde hace mucho tiempo Google Maps es sinónimo de geo-localización en Internet, gracias a la estupenda <strong>API</strong> de la que disponemos podemos hacer uso de sus funciones en nuestras aplicaciones Android.</p>
<p>A continuación desarrollaremos un primer ejemplo, en el que aprovecharemos para introducir el concepto de thread y cómo influyen en el funcionamiento de nuestra aplicación.</p>
<p><span style="color: #008000;"><strong><span style="font-size: medium;">¿Qué es esto?</span></strong></span></p>
<p>En éste tutorial vamos a crear una aplicación que utiliza Google Maps y threads para que mientras realizamos una búsqueda mostraremos un diálogo de espera.</p>
<p><span style="font-size: medium;"><span style="color: #008000;"><strong>¿Qué voy a aprender?</strong></span></span></p>
<ul>
<li>Acceso a Google Maps</li>
<li>Utilización de threads</li>
<li>Introducción al uso del geocoder.</li>
</ul>
<p><strong><span style="font-size: medium;"><span style="color: #008000;">¿Cómo quedará?</span></span></strong></p>
<p style="text-align: center;"><strong><span style="font-size: medium;"><span style="color: #008000;"><img class="size-full wp-image-225 aligncenter" title="threadgooglemaps1" src="http://mobile.davidocs.com/wp-content/uploads/2009/09/threadgooglemaps1.JPG" alt="threadgooglemaps1" width="328" height="470" /><br />
</span></span></strong></p>
<p><strong><span style="font-size: medium;"><span style="color: #008000;"><span id="more-199"></span></span></span></strong></p>
<p><strong><span style="font-size: medium;"><span style="color: #008000;">Pasos a seguir:</span></span></strong></p>
<p>Se trata de una aplicación bastante sencilla, en ella vamos a necesitar una sola Activity y un solo layout. Antes de poder utilizar un objeto de Google Maps es necesario que os registreis para utilizar la API de Google Maps, en éste <a href="http://code.google.com/intl/es-ES/android/add-ons/google-apis/mapkey.html" target="_blank">enlace</a> se explican los sencillos pasos que debéis seguir.</p>
<p>Lo primero que vamos a necesitar es el XML donde reside el layout de la aplicación.</p>
<p><strong><span style="font-size: medium;"><span style="color: #008000;">main.xml:</span></span></strong></p>
<pre class="brush: xml;">
&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;
&lt;AbsoluteLayout
android:id=&quot;@+id/layout&quot;
android:layout_width=&quot;fill_parent&quot;
android:layout_height=&quot;fill_parent&quot;
xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;
&gt;
&lt;TextView
android:id=&quot;@+id/tv&quot;
android:layout_width=&quot;wrap_content&quot;
android:layout_height=&quot;wrap_content&quot;
android:text=&quot;@string/address&quot;
android:layout_x=&quot;11px&quot;
android:layout_y=&quot;5px&quot;
&gt;
&lt;/TextView&gt;
&lt;EditText
android:id=&quot;@+id/et_direccion&quot;
android:layout_width=&quot;240px&quot;
android:layout_height=&quot;wrap_content&quot;
android:hint=&quot;@string/input&quot;
android:textSize=&quot;18sp&quot;
android:layout_x=&quot;12px&quot;
android:layout_y=&quot;30px&quot;
&gt;
&lt;/EditText&gt;
&lt;Button
android:id=&quot;@+id/btn_busqueda&quot;
android:layout_width=&quot;59px&quot;
android:layout_height=&quot;wrap_content&quot;
android:text=&quot;@string/go&quot;
android:layout_x=&quot;256px&quot;
android:layout_y=&quot;30px&quot;
&gt;
&lt;/Button&gt;
&lt;com.google.android.maps.MapView android:id=&quot;@+id/mapa&quot;
android:layout_width=&quot;fill_parent&quot;
android:layout_height=&quot;310px&quot;
android:apiKey=&quot;Copia aqui la clave API asignada&quot;
android:layout_x=&quot;2px&quot;
android:layout_y=&quot;100px&quot;
android:clickable=&quot;true&quot; /&gt;
&lt;/AbsoluteLayout&gt;
</pre>
<p>Como veis es un layout muy simple. Tenemos un área de texto donde escribiremos la dirección que queremos buscar y y un botón al que asignaremos la tarea de comenzar la búsqueda de resultados. En el campo &#8220;apiKey&#8221; del MapView debéis copiar la clave que se os haya asignado al acabar el proceso citado anteriormente.</p>
<p>Pasamos ahora a la chicha de la aplicación, el evento de buscar y el manejo del thread.</p>
<p>La idea de todo esto es separar dos procesos, en uno de ellos haremos la búsqueda de las coordenadas y en la otra actualizaremos el layout de la aplicación. Para hacerlo necesitamos un Handler.</p>
<p><strong><span style="font-size: medium;"><span style="color: #008000;">ThreadGoogleMaps.java:</span></span></strong></p>
<pre class="brush: java;">
private Handler showAdressResults = new Handler() {
 @Override
 public void handleMessage(Message msg) {
 pd.dismiss();

 if (foundAdresses.size() == 0) {
 //Sino encuentra la dirección mostramos un diálogo de error
 Dialog locationError = new AlertDialog.Builder(
 ThreadGoogleMaps.this).setIcon(0).setTitle(
 &quot;Error&quot;).setPositiveButton(R.string.ok, null)
 .setMessage(
 &quot;Error, no se ha encontrado la dirección.&quot;)
 .create();
 locationError.show();

 } else { // else display address on map
 for (int i = 0; i &lt; foundAdresses.size(); ++i) {
 //Guardamos el resultado en formato latitud y longitud
 Address x = foundAdresses.get(i);
 lat = x.getLatitude();
 lon = x.getLongitude();
 }
 //Mostramos la dirección en el mapa
 navigateToLocation((lat * 1000000), (lon * 1000000),myMap);
 }
 }
 };
</pre>
<p>El <a href="http://developer.android.com/intl/zh-TW/reference/android/os/Handler.html" target="_blank">Handler</a> se ocupa de actualizar el mapa, en función de si la búsqueda de coordenadas ha devuelto algún resultado.  Para rellenar buscar ésas coordenadas utilizamos una función del <a href="http://developer.android.com/intl/zh-TW/reference/android/location/Geocoder.html" target="_blank">geocoder</a>, se trata de la función <em>getFromLocationName. </em></p>
<p>Como veis es un ejemplo bastante sencillo, obviamente se le podría añadir soporte de GPS o cualquier otra idea pero para el propósito de éste tutorial.</p>
<p><strong><span style="font-size: medium;"><span style="color: #008000;">Código fuente: </span></span></strong></p>
<p><table style="border: 1px solid #CCC;" cellpadding="3" width="100%">
  <tr>
    <td width="35">
      <img src="http://mobile.davidocs.com/wp-content/plugins/downloads-manager/img/icons/winrar.gif" alt="http://mobile.davidocs.com/wp-content/plugins/downloads-manager/img/icons/winrar.gif">
    </td>
    <td>
      <b>download:</b> <a href="http://mobile.davidocs.com/?file_id=5">ThreadGoogleMaps</a> <small>(34.98KB)</small><br />
      <b>added:</b> 28/09/2009 <br />
      <b>clicks:</b> 193 <br />
      <b>description:</b> Ejemplo que añade el tratamiento de threads y Google Maps <br />
    </td>
  </tr>
</table></p>



Comparte:


	<a rel="nofollow"  target="_blank" href="http://www.facebook.com/share.php?u=http%3A%2F%2Fmobile.davidocs.com%2Fandroid%2Fgoogle-maps-con-threads%2F&amp;t=Google%20Maps%20con%20Threads" title="Facebook"><img src="http://mobile.davidocs.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://bitacoras.com/anotaciones/http%3A%2F%2Fmobile.davidocs.com%2Fandroid%2Fgoogle-maps-con-threads%2F" title="Bitacoras.com"><img src="http://mobile.davidocs.com/wp-content/plugins/sociable/images/bitacoras.png" title="Bitacoras.com" alt="Bitacoras.com" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://meneame.net/submit.php?url=http%3A%2F%2Fmobile.davidocs.com%2Fandroid%2Fgoogle-maps-con-threads%2F" title="Meneame"><img src="http://mobile.davidocs.com/wp-content/plugins/sociable/images/meneame.png" title="Meneame" alt="Meneame" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.wikio.it/vote?url=http%3A%2F%2Fmobile.davidocs.com%2Fandroid%2Fgoogle-maps-con-threads%2F" title="Wikio IT"><img src="http://mobile.davidocs.com/wp-content/plugins/sociable/images/wikio.png" title="Wikio IT" alt="Wikio IT" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fmobile.davidocs.com%2Fandroid%2Fgoogle-maps-con-threads%2F&amp;title=Google%20Maps%20con%20Threads&amp;bodytext=No%20cabe%20duda%20de%20que%20una%20de%20las%20grandas%20posibilidades%20que%20podemos%20aprovechar%20en%20un%20dispositivo%20Android%20es%20la%20geo-localizaci%C3%B3n.%20Uno%20de%20los%20primeros%20pasos%20que%20podemos%20dar%20en%20este%20campo%20es%20la%20utilizaci%C3%B3n%20de%20Google%20Maps.%0D%0A%0D%0ADesde%20hace%20mucho%20tiempo%20Googl" title="Digg"><img src="http://mobile.davidocs.com/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://delicious.com/post?url=http%3A%2F%2Fmobile.davidocs.com%2Fandroid%2Fgoogle-maps-con-threads%2F&amp;title=Google%20Maps%20con%20Threads&amp;notes=No%20cabe%20duda%20de%20que%20una%20de%20las%20grandas%20posibilidades%20que%20podemos%20aprovechar%20en%20un%20dispositivo%20Android%20es%20la%20geo-localizaci%C3%B3n.%20Uno%20de%20los%20primeros%20pasos%20que%20podemos%20dar%20en%20este%20campo%20es%20la%20utilizaci%C3%B3n%20de%20Google%20Maps.%0D%0A%0D%0ADesde%20hace%20mucho%20tiempo%20Googl" title="del.icio.us"><img src="http://mobile.davidocs.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.friendfeed.com/share?title=Google%20Maps%20con%20Threads&amp;link=http%3A%2F%2Fmobile.davidocs.com%2Fandroid%2Fgoogle-maps-con-threads%2F" title="FriendFeed"><img src="http://mobile.davidocs.com/wp-content/plugins/sociable/images/friendfeed.png" title="FriendFeed" alt="FriendFeed" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://news.ycombinator.com/submitlink?u=http%3A%2F%2Fmobile.davidocs.com%2Fandroid%2Fgoogle-maps-con-threads%2F&amp;t=Google%20Maps%20con%20Threads" title="HackerNews"><img src="http://mobile.davidocs.com/wp-content/plugins/sociable/images/hackernews.png" title="HackerNews" alt="HackerNews" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://technorati.com/faves?add=http%3A%2F%2Fmobile.davidocs.com%2Fandroid%2Fgoogle-maps-con-threads%2F" title="Technorati"><img src="http://mobile.davidocs.com/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a>


<br/><br/>

<p>Entradas relacionadas:<ol><li><a href='http://mobile.davidocs.com/android/como-anadir-iconos-a-un-listview-en-android/' rel='bookmark' title='Permanent Link: Cómo añadir iconos a un ListView en Android'>Cómo añadir iconos a un ListView en Android</a></li>
<li><a href='http://mobile.davidocs.com/android/disenando-la-aplicacion-uso-de-tabhost-en-android/' rel='bookmark' title='Permanent Link: Diseñando la aplicación, uso de TabHost en Android'>Diseñando la aplicación, uso de TabHost en Android</a></li>
<li><a href='http://mobile.davidocs.com/android/tratamiento-de-ficheros-xml-con-android/' rel='bookmark' title='Permanent Link: Tratamiento de ficheros XML con Android'>Tratamiento de ficheros XML con Android</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://mobile.davidocs.com/android/google-maps-con-threads/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Realidad aumentada en 3D con Layar</title>
		<link>http://mobile.davidocs.com/android/realidad-aumentada-en-3d-con-layar/</link>
		<comments>http://mobile.davidocs.com/android/realidad-aumentada-en-3d-con-layar/#comments</comments>
		<pubDate>Thu, 24 Sep 2009 09:41:55 +0000</pubDate>
		<dc:creator>David González</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Reviews]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[AR]]></category>
		<category><![CDATA[Layar]]></category>
		<category><![CDATA[Realidad aumentada]]></category>
		<category><![CDATA[Wikitude]]></category>

		<guid isPermaLink="false">http://mobile.davidocs.com/?p=220</guid>
		<description><![CDATA[Recientemente la compañia Layar ha anunciado que en Noviembre añadirá funciones 3D a su navegador de realidad aumentada. En los últimos meses se está hablando mucho sobre realidad aumentada, básicamente se trata de un sistema que añade información visual a la información real que recibimos desde la cámara de nuestro dispositivo.
Es un campo bastante nuevo, [...]


Entradas relacionadas:<ol><li><a href='http://mobile.davidocs.com/android/crea-accesos-directos-gestuales-con-open-gesture-pro/' rel='bookmark' title='Permanent Link: Crea accesos directos gestuales con Open Gesture Pro'>Crea accesos directos gestuales con Open Gesture Pro</a></li>
<li><a href='http://mobile.davidocs.com/android/descubriendo-el-mundo-iphone-y-android/' rel='bookmark' title='Permanent Link: Descubriendo el mundo iPhone y Android'>Descubriendo el mundo iPhone y Android</a></li>
<li><a href='http://mobile.davidocs.com/android/a-primera-vista-sherpa-para-android/' rel='bookmark' title='Permanent Link: A primera vista: Sherpa para Android'>A primera vista: Sherpa para Android</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p class="dropcap-first">Recientemente la compañia Layar ha anunciado que en Noviembre añadirá <a href="http://layar.com/3d/" target="_blank">funciones 3D</a> a su navegador de realidad aumentada. En los últimos meses se está hablando mucho sobre <a href="http://es.wikipedia.org/wiki/Realidad_aumentada" target="_blank">realidad aumentada</a>, básicamente se trata de un sistema que añade información visual a la información real que recibimos desde la cámara de nuestro dispositivo.</p>
<p>Es un campo bastante nuevo, pese a disponer de <a href="http://www.wikitude.org/" target="_blank">varias</a> <a href="http://layar.com/" target="_blank">aplicaciones</a> que lo utilizan, se está empezando a abrir la veda para los desarrolladores.</p>
<p>Desde Layar se están preocupando bastante para que los desarrolladores puedan <strong>adentrarse </strong>en este interesante mundo y empiezen a colaborar y aportar ideas y aplicaciones. Pero vamos a centrarnos en lo último, Layar y las posiblidades 3D que ofrecen.</p>
<p style="text-align: center;"><img class="size-full wp-image-221 aligncenter" title="pacman2" src="http://mobile.davidocs.com/wp-content/uploads/2009/09/pacman2.png" alt="pacman2" width="480" height="320" /></p>
<p><span id="more-220"></span></p>
<p>Layar 3D hace uso de OpenGL, el accelerómetro, el GPS y la brújula para reconocer nuestra posición y saber qué estamos mirando con la cámara. La idea es que los desarrolladores puedan añadir objetos 3D basándose en coordenadas. Los objetos podrán optimizarse en tamaña y orientación para proporcionar una experiéncia más realística. Por si fuera poco será posible descargarse y renderizar los objetos 3D online, de ésta manera no es necesario tener los objetos en nuestro teléfono, sino que el navegador se ocupará de todo.</p>
<p>Desde el punto de vista del desarrollador se nos permetirá especificar la altura y ángulo de los objetos e incluso simples animaciones, Layar se ocupará de proporcionarnos las herramientas necesarias para crear los objetos 3D en formato <a href="http://en.wikipedia.org/wiki/Obj" target="_blank">OBJ</a>.</p>
<p>Tendremos que esperar hasta el próximo Noviembre para poder empezar a jugar con todo esto, de momento podemos ir <a href="http://dev.layar.com" target="_blank">registrándonos en la web</a>, pensando en ideas y disfutar de una pequeña muestra de las posibilidades que nos brinda.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="560" height="340" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/hZzdpwb2jSM&amp;hl=es&amp;fs=1&amp;" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="560" height="340" src="http://www.youtube.com/v/hZzdpwb2jSM&amp;hl=es&amp;fs=1&amp;" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>



Comparte:


	<a rel="nofollow"  target="_blank" href="http://www.facebook.com/share.php?u=http%3A%2F%2Fmobile.davidocs.com%2Fandroid%2Frealidad-aumentada-en-3d-con-layar%2F&amp;t=Realidad%20aumentada%20en%203D%20con%20Layar" title="Facebook"><img src="http://mobile.davidocs.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://bitacoras.com/anotaciones/http%3A%2F%2Fmobile.davidocs.com%2Fandroid%2Frealidad-aumentada-en-3d-con-layar%2F" title="Bitacoras.com"><img src="http://mobile.davidocs.com/wp-content/plugins/sociable/images/bitacoras.png" title="Bitacoras.com" alt="Bitacoras.com" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://meneame.net/submit.php?url=http%3A%2F%2Fmobile.davidocs.com%2Fandroid%2Frealidad-aumentada-en-3d-con-layar%2F" title="Meneame"><img src="http://mobile.davidocs.com/wp-content/plugins/sociable/images/meneame.png" title="Meneame" alt="Meneame" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.wikio.it/vote?url=http%3A%2F%2Fmobile.davidocs.com%2Fandroid%2Frealidad-aumentada-en-3d-con-layar%2F" title="Wikio IT"><img src="http://mobile.davidocs.com/wp-content/plugins/sociable/images/wikio.png" title="Wikio IT" alt="Wikio IT" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fmobile.davidocs.com%2Fandroid%2Frealidad-aumentada-en-3d-con-layar%2F&amp;title=Realidad%20aumentada%20en%203D%20con%20Layar&amp;bodytext=Recientemente%20la%20compa%C3%B1ia%20Layar%20ha%20anunciado%20que%20en%20Noviembre%20a%C3%B1adir%C3%A1%20funciones%203D%20a%20su%20navegador%20de%20realidad%20aumentada.%20En%20los%20%C3%BAltimos%20meses%20se%20est%C3%A1%20hablando%20mucho%20sobre%20realidad%20aumentada%2C%20b%C3%A1sicamente%20se%20trata%20de%20un%20sistema%20que%20a%C3%B1ade%20informa" title="Digg"><img src="http://mobile.davidocs.com/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://delicious.com/post?url=http%3A%2F%2Fmobile.davidocs.com%2Fandroid%2Frealidad-aumentada-en-3d-con-layar%2F&amp;title=Realidad%20aumentada%20en%203D%20con%20Layar&amp;notes=Recientemente%20la%20compa%C3%B1ia%20Layar%20ha%20anunciado%20que%20en%20Noviembre%20a%C3%B1adir%C3%A1%20funciones%203D%20a%20su%20navegador%20de%20realidad%20aumentada.%20En%20los%20%C3%BAltimos%20meses%20se%20est%C3%A1%20hablando%20mucho%20sobre%20realidad%20aumentada%2C%20b%C3%A1sicamente%20se%20trata%20de%20un%20sistema%20que%20a%C3%B1ade%20informa" title="del.icio.us"><img src="http://mobile.davidocs.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.friendfeed.com/share?title=Realidad%20aumentada%20en%203D%20con%20Layar&amp;link=http%3A%2F%2Fmobile.davidocs.com%2Fandroid%2Frealidad-aumentada-en-3d-con-layar%2F" title="FriendFeed"><img src="http://mobile.davidocs.com/wp-content/plugins/sociable/images/friendfeed.png" title="FriendFeed" alt="FriendFeed" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://news.ycombinator.com/submitlink?u=http%3A%2F%2Fmobile.davidocs.com%2Fandroid%2Frealidad-aumentada-en-3d-con-layar%2F&amp;t=Realidad%20aumentada%20en%203D%20con%20Layar" title="HackerNews"><img src="http://mobile.davidocs.com/wp-content/plugins/sociable/images/hackernews.png" title="HackerNews" alt="HackerNews" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://technorati.com/faves?add=http%3A%2F%2Fmobile.davidocs.com%2Fandroid%2Frealidad-aumentada-en-3d-con-layar%2F" title="Technorati"><img src="http://mobile.davidocs.com/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a>


<br/><br/>

<p>Entradas relacionadas:<ol><li><a href='http://mobile.davidocs.com/android/crea-accesos-directos-gestuales-con-open-gesture-pro/' rel='bookmark' title='Permanent Link: Crea accesos directos gestuales con Open Gesture Pro'>Crea accesos directos gestuales con Open Gesture Pro</a></li>
<li><a href='http://mobile.davidocs.com/android/descubriendo-el-mundo-iphone-y-android/' rel='bookmark' title='Permanent Link: Descubriendo el mundo iPhone y Android'>Descubriendo el mundo iPhone y Android</a></li>
<li><a href='http://mobile.davidocs.com/android/a-primera-vista-sherpa-para-android/' rel='bookmark' title='Permanent Link: A primera vista: Sherpa para Android'>A primera vista: Sherpa para Android</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://mobile.davidocs.com/android/realidad-aumentada-en-3d-con-layar/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Tratamiento de ficheros XML con Android</title>
		<link>http://mobile.davidocs.com/android/tratamiento-de-ficheros-xml-con-android/</link>
		<comments>http://mobile.davidocs.com/android/tratamiento-de-ficheros-xml-con-android/#comments</comments>
		<pubDate>Fri, 07 Aug 2009 13:32:51 +0000</pubDate>
		<dc:creator>David González</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[SAXParser]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://www.tech-xperience.com/mobiledev/?p=159</guid>
		<description><![CDATA[Una de las muchas funciones interesantes que nos ofrece Android es poder leer datos de un fichero XML. A simple vista puede parecer algo bastante trivial, pero sin éstos métodos hay una gran cantidad de informacion en Internet que no podremos obtener. [tweetmeme]
Gracias a métidos como SAXParser (SAX es la abreviatura de Simple API para [...]


Entradas relacionadas:<ol><li><a href='http://mobile.davidocs.com/android/como-anadir-iconos-a-un-listview-en-android/' rel='bookmark' title='Permanent Link: Cómo añadir iconos a un ListView en Android'>Cómo añadir iconos a un ListView en Android</a></li>
<li><a href='http://mobile.davidocs.com/android/disenando-la-aplicacion-uso-de-tabhost-en-android/' rel='bookmark' title='Permanent Link: Diseñando la aplicación, uso de TabHost en Android'>Diseñando la aplicación, uso de TabHost en Android</a></li>
<li><a href='http://mobile.davidocs.com/android/google-maps-con-threads/' rel='bookmark' title='Permanent Link: Google Maps con Threads'>Google Maps con Threads</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p class="dropcap-first">Una de las muchas funciones interesantes que nos ofrece Android es poder leer datos de un fichero <strong>XML</strong>. A simple vista puede parecer algo bastante trivial, pero sin éstos métodos hay una gran cantidad de informacion en Internet que no podremos obtener. [tweetmeme]</p>
<p>Gracias a métidos como <a href="http://developer.android.com/reference/javax/xml/parsers/SAXParser.html" target="_blank">SAXParser</a> (<em>SAX</em> es la abreviatura de <strong>Simple API para XML</strong>) podremos leer contenido de un fichero <em>XML </em>para después tratarlo a nuestro antojo.</p>
<p><span style="color: #008000;"><strong><span style="font-size: medium;">¿Qué es esto?</span></strong></span></p>
<p>En éste tutorial vamos a leer contenido de un fichero <em>XML </em>y lo mostraremos por pantalla.</p>
<p><span style="font-size: medium;"><span style="color: #008000;"><strong>¿Qué voy a aprender?</strong></span></span></p>
<ul>
<li>Obtener datos de ficheros <em>XML </em>en la red.</li>
<li>Recorrer ficheros <em>XML</em>.</li>
</ul>
<p><strong><span style="font-size: medium;"><span style="color: #008000;">¿Cómo quedará?</span></span></strong></p>
<p style="text-align: center;"><strong><span style="font-size: medium;"><span style="color: #008000;"><img class="size-full wp-image-170 aligncenter" title="tuto3-1" src="http://www.tech-xperience.com/mobiledev/wp-content/uploads/2009/08/tuto3-1.jpg" alt="tuto3-1" width="325" height="601" /><br />
</span></span></strong></p>
<p><span id="more-159"></span><strong><span style="font-size: medium;"><span style="color: #008000;">Pasos a seguir:</span></span></strong></p>
<p>Como veis a nivel visual se trata de una aplicación muy sencilla, la información que leamos del <em>XML </em>la mostraremos por pantalla mediante un <em>TextView</em>. No es necesario modificar el fichero <em>main.xml, </em>mostraremos el texto al vuelo.</p>
<p>Para poder tratar un fichero XML primero debemos conocer su estructura, en nuestro caso se trata de un simple fichero que incluye los datos de una ubicación:</p>
<p><strong><span style="font-size: medium;"><span style="color: #008000;">ejemplo.xml:</span></span></strong></p>
<pre class="brush: xml;">

&lt;ejemplo&gt;
&lt;titulo&gt;Mobile Development&lt;/titulo&gt;
&lt;valoracion&gt;4&lt;/valoracion&gt;
&lt;distancia&gt;6.7762437412613&lt;/distancia&gt;
&lt;coordenadas&gt;40.4784,-3.71233&lt;/coordenadas&gt;
&lt;telefono&gt;91 386 2393&lt;/telefono&gt;
−&lt;cireccion&gt;
&lt;calle&gt;Paseo Maritimo Rafael de Casanovas&lt;/calle&gt;
&lt;numero numerodecalle=&quot;7&quot;/&gt;
&lt;ciudad&gt;Tarragona&lt;/ciudad&gt;

&lt;categoria lang=&quot;Programacion&quot;&lt;/title&gt;

&lt;/categoria&gt;&lt;/cireccion&gt;&lt;/ejemplo&gt;
</pre>
<p>Para poder leer los datos del fichero <em>XML </em>necesitamos un <a href="http://developer.android.com/reference/org/xml/sax/XMLReader.html" target="_blank">XMLReader</a> y un <a href="http://developer.android.com/reference/java/net/ContentHandler.html" target="_blank">ContentHandler</a>. El <em>XMLReader</em> es quien se encarga de leer los datos (un punto para el ingeniero) y el <em>ContentHandler </em>es quien le dice al <em>XMLReader </em>como tratar esos datos.</p>
<p>Lo que vamos a hacer ahora es abrir la dirección URL donde está alojado el fichero, crearemos el <em>SAXParser</em>, le añadiremos un <em>ContentHandler</em>, pasaremos los datos desde la URL y los mostraremos por pantalla.</p>
<p><strong><span style="font-size: medium;"><span style="color: #008000;">ParsingXML.java:</span></span></strong></p>
<pre class="brush: java;">

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

/* Create a new TextView to display the parsingresult later. */
TextView tv = new TextView(this);
try {

/* URL desde donde leeremos los datos. */

String URL_Test = &quot;http://www.tech-xperience.com/mobiledev/places.xml&quot;;
URL url = new URL(URL_Test);

/* Creamos un SAXParser. */
SAXParserFactory spf = SAXParserFactory.newInstance();
SAXParser sp = spf.newSAXParser();

/* Cogemos el XMLReader del SAXParser que hemos creado. */
XMLReader xr = sp.getXMLReader();
/* Creamos un nuevo ContentHandler y lo aplicamos al XML-Reader*/
XMLHandler myXMLHandler = new XMLHandler();
xr.setContentHandler(myXMLHandler);

/* Tratamos los datos del URL. */
xr.parse(new InputSource(url.openStream()));
/* Acaba el tratamiento. */

/* Ponemos los datos por pantalla con el XMLHandler. */
ParsedXMLDataSet parsedExampleDataSet = myXMLHandler.getParsedData();

/* Set the result to be displayed in our GUI. */
tv.setText(parsedExampleDataSet.toString());

} catch (Exception e) {
/* Mostramos el Error. */
tv.setText(&quot;Error: &quot; + e.getMessage());
Log.e(MY_DEBUG_TAG, &quot;XMLQueryError&quot;, e);
}
/* Display the TextView. */
this.setContentView(tv);
}
</pre>
<p>La siguiente clase que definiremos es el <em>ContentHandler</em>, en nuestro caso un <strong>SAX-Handler</strong> que se ocupará de recorrer el archivo <em>XML</em>.</p>
<p>Cuando se encuentre con <strong>tag de apertura</strong> como,
<pre class="brush: xml;">&lt;ejemplo&gt;</pre>
<p> se  ejecutará la funcion del Handler:</p>
<pre class="brush: java;">

public void startElement(String namespaceURI, String localName,
String qName, Attributes atts) throws SAXException {}
</pre>
<p>Lo mismo ocurre al encontrarse con un <strong>tag de cierre</strong> como,
<pre class="brush: xml;">&lt;/ejemplo&gt;</pre>
<p> se  <strong>ejecutará</strong> la funcion del Handler:</p>
<pre class="brush: java;">

@Override
public void endElement(String namespaceURI, String localName, String qName)
throws SAXException {}
</pre>
<p>Para <strong>leer los datos</strong> dentro de un tag como el anterior debemos usar la función:</p>
<pre class="brush: java;">

@Override
public void characters(char ch[], int start, int length)}
</pre>
<p>En caso de que el <strong>contenido </strong>que queremos leer se encuentre de ésta manera</p>
<pre class="brush: xml;">

&lt;numero numerodecalle=&quot;7&quot;/&gt;
</pre>
<p>Deberemos acceder a él dentro de la función <strong>startElement</strong></p>
<pre class="brush: java;">

public void startElement(String namespaceURI, String localName,
String qName, Attributes atts) throws SAXException {}
</pre>
<p>Visto así no parece muy claro, veamos el código completo para entenderlo mejor.</p>
<p><strong><span style="font-size: medium;"><span style="color: #008000;">XMLHandler.java:</span></span></strong></p>
<pre class="brush: java;">

package com.mobiledev;

import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;

public class XMLHandler extends DefaultHandler{

// ===========================================================
// Campos
// ===========================================================

@SuppressWarnings(&quot;unused&quot;)
private boolean in_ejemplo = false;
private boolean in_titulo = false;
private boolean in_valoracion = false;
private boolean in_distancia = false;
private boolean in_coordenadas = false;
private boolean in_telefono = false;
@SuppressWarnings(&quot;unused&quot;)
private boolean in_direccion = false;
@SuppressWarnings(&quot;unused&quot;)
private boolean in_categoria = false;
private boolean in_calle = false;
@SuppressWarnings(&quot;unused&quot;)
private boolean in_numero = false;
private boolean in_ciudad = false;

private ParsedXMLDataSet myParsedXMLDataSet = new ParsedXMLDataSet();

// ===========================================================
// Getter &amp; Setter
// ===========================================================

public ParsedXMLDataSet getParsedData() {
return this.myParsedXMLDataSet;
}

// ===========================================================
// Metodos
// ===========================================================
@Override
public void startDocument() throws SAXException {
this.myParsedXMLDataSet = new ParsedXMLDataSet();
}

@Override
public void endDocument() throws SAXException {
// No hacemos nada
}

/** Se ejecuta cuando encuentra tags como:
* &lt;tag&gt;
* Puede leer atributos cuando se encuentra con:
* &lt;/tag&gt;&lt;tag attribute=&quot;attributeValue&quot;&gt;*/
@Override
public void startElement(String namespaceURI, String localName,
String qName, Attributes atts) throws SAXException {
if (localName.equals(&quot;ejemplo&quot;)) {
this.in_ejemplo = true;
}else if (localName.equals(&quot;titulo&quot;)) {
this.in_titulo = true;
}else if (localName.equals(&quot;valoracion&quot;)) {
this.in_valoracion = true;
}else if (localName.equals(&quot;distancia&quot;)) {
this.in_distancia = true;
}else if (localName.equals(&quot;coordenadas&quot;)) {
this.in_coordenadas = true;
}else if (localName.equals(&quot;telefono&quot;)) {
this.in_telefono = true;
}else if (localName.equals(&quot;direccion&quot;)) {
this.in_direccion = true;
}else if (localName.equals(&quot;calle&quot;)) {
this.in_calle = true;
}else if (localName.equals(&quot;numero&quot;)) {
// Extraemos el atributo
String attrValue = atts.getValue(&quot;numerodecalle&quot;);
int i = Integer.parseInt(attrValue);
myParsedXMLDataSet.setNumCalle(i);
}else if (localName.equals(&quot;ciudad&quot;)) {
this.in_ciudad = true;
}else if (localName.equals(&quot;categoria&quot;)) {
// Extraemos el atributo
String attrValue = atts.getValue(&quot;lang&quot;);
myParsedXMLDataSet.setCategoria(attrValue);
}
}
/** Se ejecuta en tags de cierre:
* &lt;/tag&gt; */
@Override
public void endElement(String namespaceURI, String localName, String qName)
throws SAXException {
if (localName.equals(&quot;ejemplo&quot;)) {
this.in_ejemplo = false;
}else if (localName.equals(&quot;titulo&quot;)) {
this.in_titulo = false;
}else if (localName.equals(&quot;valoracion&quot;)) {
this.in_valoracion = false;
}else if (localName.equals(&quot;distancia&quot;)) {
this.in_distancia = false;
}else if (localName.equals(&quot;coordenadas&quot;)) {
this.in_coordenadas = false;
}else if (localName.equals(&quot;telefono&quot;)) {
this.in_telefono = false;
}else if (localName.equals(&quot;direccion&quot;)) {
this.in_direccion = false;
}else if (localName.equals(&quot;calle&quot;)) {
this.in_calle = false;
}else if (localName.equals(&quot;numero&quot;)) {
this.in_numero = false;
}else if (localName.equals(&quot;ciudad&quot;)) {
this.in_ciudad = false;
}else if (localName.equals(&quot;categoria&quot;)) {
this.in_categoria = false;
}
}
/** Se ejecuta cuando se encuentra con la siguiente estructura:
* &lt;tag&gt;characters&lt;/tag&gt; */
@Override
public void characters(char ch[], int start, int length) {
if(this.in_titulo){
myParsedXMLDataSet.setTitulo(new String(ch, start, length));
}
if(this.in_valoracion){
myParsedXMLDataSet.setValoracion(new String(ch, start, length));
}
if(this.in_distancia){
myParsedXMLDataSet.setDistancia(new String(ch, start, length));
}
if(this.in_coordenadas){
myParsedXMLDataSet.setCoordenada(new String(ch, start, length));
}
if(this.in_telefono){
myParsedXMLDataSet.setTelefono(new String(ch, start, length));
}
if(this.in_calle){
myParsedXMLDataSet.setCalle(new String(ch, start, length));
}
if(this.in_ciudad){
myParsedXMLDataSet.setCiudad(new String(ch, start, length));
}
}
}
</pre>
<p>En la función <strong>characters</strong> se llama a las funciones que pasan los datos del <em>Reader</em> a la clase donde almacenamos los datos leidos, en éste caso, <em>ParsedXMLDataSet</em>.</p>
<p><strong><span style="font-size: medium;"><span style="color: #008000;">ParsedXMLDataSet.java:</span></span></strong></p>
<pre class="brush: java;">

package com.mobiledev;

public class ParsedXMLDataSet {

private String Titulo = null;
private String Valoracion = null;
private String Distancia = null;
private String Coordenada = null;
private String Telefono = null;
private int NumCalle = 0;
private String Calle = null;
private String Ciudad = null;
private String Categoria = null;

// ===========================================================
// Getter &amp;amp;amp;amp;amp;amp;amp; Setter
// ===========================================================

public String getTitulo() {
return Titulo;
}
public void setTitulo(String extractedString) {
this.Titulo = extractedString;
}
public String getValoracion() {
return Valoracion;
}
public void setValoracion(String extractedString) {
this.Valoracion = extractedString;
}
public String getDistancia(){
return Distancia;
}
public void setDistancia(String extractedString){
this.Distancia = extractedString;
}
public String getCoordenada() {
return Coordenada;
}
public void setCoordenada(String extractedString) {
this.Coordenada = extractedString;
}
public String getTelefono() {
return Telefono;
}
public void setTelefono(String extractedString) {
this.Telefono = extractedString;
}
public int getNumCalle() {
return NumCalle;
}
public void setNumCalle(int extractedInt) {
this.NumCalle = extractedInt;
}
public String getCalle() {
return Calle;
}
public void setCalle(String extractedString) {
this.Calle = extractedString;
}
public String getCiudad() {
return Ciudad;
}
public void setCiudad(String extractedString) {
this.Ciudad = extractedString;
}
public String getCategoria() {
return Calle;
}
public void setCategoria(String extractedString) {
this.Categoria = extractedString;
}
public String toString(){
return &quot;Establecimiento = &quot; + this.Titulo
+ &quot;\nValoracion = &quot; + this.Valoracion
+ &quot;\nDistancia = &quot; + this.Distancia
+ &quot;\nCoordenadas = &quot; + this.Coordenada
+ &quot;\nTelefono = &quot; + this.Telefono
+ &quot;\nNumCalle = &quot; + this.NumCalle
+ &quot;\nCalle = &quot; + this.Calle
+ &quot;\nCiudad = &quot; + this.Ciudad
+ &quot;\nCategoria = &quot; + this.Categoria;

}
}
</pre>
<p>Ésta clase proporciona los métodos para recoger los datos del <em>XML </em>y un método que devuelve los valores que contiene. Éste metodo es el que se llama después de leer datos desde la clase principal y muestra los datos en el <em>TextView. </em>[tweetmeme]<em><br />
</em>
</p>
<p style="text-align: center;"><img class="size-full wp-image-170 aligncenter" title="tuto3-1" src="http://www.tech-xperience.com/mobiledev/wp-content/uploads/2009/08/tuto3-1.jpg" alt="tuto3-1" width="325" height="601" /></p>
<p><strong><span style="font-size: medium;"><span style="color: #008000;">Código fuente: </span></span></strong></p>
<p><table style="border: 1px solid #CCC;" cellpadding="3" width="100%">
  <tr>
    <td width="35">
      <img src="http://mobile.davidocs.com/wp-content/plugins/downloads-manager/img/icons/winrar.gif" alt="http://mobile.davidocs.com/wp-content/plugins/downloads-manager/img/icons/winrar.gif">
    </td>
    <td>
      <b>download:</b> <a href="http://mobile.davidocs.com/?file_id=4">ParsingXML</a> <small>(34.39KB)</small><br />
      <b>added:</b> 07/08/2009 <br />
      <b>clicks:</b> 246 <br />
      <b>description:</b> Ejemplo de tratamiento de ficheros XML colgados en la red. <br />
    </td>
  </tr>
</table></p>
<p><span style="font-size: medium;"><span style="color: #008000;"><strong><br />
</strong></span></span></p>
<p><span style="color: #008000;"><strong><span style="font-size: medium;"><br />
</span></strong></span></p>



Comparte:


	<a rel="nofollow"  target="_blank" href="http://www.facebook.com/share.php?u=http%3A%2F%2Fmobile.davidocs.com%2Fandroid%2Ftratamiento-de-ficheros-xml-con-android%2F&amp;t=Tratamiento%20de%20ficheros%20XML%20con%20Android" title="Facebook"><img src="http://mobile.davidocs.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://bitacoras.com/anotaciones/http%3A%2F%2Fmobile.davidocs.com%2Fandroid%2Ftratamiento-de-ficheros-xml-con-android%2F" title="Bitacoras.com"><img src="http://mobile.davidocs.com/wp-content/plugins/sociable/images/bitacoras.png" title="Bitacoras.com" alt="Bitacoras.com" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://meneame.net/submit.php?url=http%3A%2F%2Fmobile.davidocs.com%2Fandroid%2Ftratamiento-de-ficheros-xml-con-android%2F" title="Meneame"><img src="http://mobile.davidocs.com/wp-content/plugins/sociable/images/meneame.png" title="Meneame" alt="Meneame" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.wikio.it/vote?url=http%3A%2F%2Fmobile.davidocs.com%2Fandroid%2Ftratamiento-de-ficheros-xml-con-android%2F" title="Wikio IT"><img src="http://mobile.davidocs.com/wp-content/plugins/sociable/images/wikio.png" title="Wikio IT" alt="Wikio IT" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fmobile.davidocs.com%2Fandroid%2Ftratamiento-de-ficheros-xml-con-android%2F&amp;title=Tratamiento%20de%20ficheros%20XML%20con%20Android&amp;bodytext=Una%20de%20las%20muchas%20funciones%20interesantes%20que%20nos%20ofrece%20Android%20es%20poder%20leer%20datos%20de%20un%20fichero%20XML.%20A%20simple%20vista%20puede%20parecer%20algo%20bastante%20trivial%2C%20pero%20sin%20%C3%A9stos%20m%C3%A9todos%20hay%20una%20gran%20cantidad%20de%20informacion%20en%20Internet%20que%20no%20podremos%20obten" title="Digg"><img src="http://mobile.davidocs.com/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://delicious.com/post?url=http%3A%2F%2Fmobile.davidocs.com%2Fandroid%2Ftratamiento-de-ficheros-xml-con-android%2F&amp;title=Tratamiento%20de%20ficheros%20XML%20con%20Android&amp;notes=Una%20de%20las%20muchas%20funciones%20interesantes%20que%20nos%20ofrece%20Android%20es%20poder%20leer%20datos%20de%20un%20fichero%20XML.%20A%20simple%20vista%20puede%20parecer%20algo%20bastante%20trivial%2C%20pero%20sin%20%C3%A9stos%20m%C3%A9todos%20hay%20una%20gran%20cantidad%20de%20informacion%20en%20Internet%20que%20no%20podremos%20obten" title="del.icio.us"><img src="http://mobile.davidocs.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.friendfeed.com/share?title=Tratamiento%20de%20ficheros%20XML%20con%20Android&amp;link=http%3A%2F%2Fmobile.davidocs.com%2Fandroid%2Ftratamiento-de-ficheros-xml-con-android%2F" title="FriendFeed"><img src="http://mobile.davidocs.com/wp-content/plugins/sociable/images/friendfeed.png" title="FriendFeed" alt="FriendFeed" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://news.ycombinator.com/submitlink?u=http%3A%2F%2Fmobile.davidocs.com%2Fandroid%2Ftratamiento-de-ficheros-xml-con-android%2F&amp;t=Tratamiento%20de%20ficheros%20XML%20con%20Android" title="HackerNews"><img src="http://mobile.davidocs.com/wp-content/plugins/sociable/images/hackernews.png" title="HackerNews" alt="HackerNews" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://technorati.com/faves?add=http%3A%2F%2Fmobile.davidocs.com%2Fandroid%2Ftratamiento-de-ficheros-xml-con-android%2F" title="Technorati"><img src="http://mobile.davidocs.com/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a>


<br/><br/>

<p>Entradas relacionadas:<ol><li><a href='http://mobile.davidocs.com/android/como-anadir-iconos-a-un-listview-en-android/' rel='bookmark' title='Permanent Link: Cómo añadir iconos a un ListView en Android'>Cómo añadir iconos a un ListView en Android</a></li>
<li><a href='http://mobile.davidocs.com/android/disenando-la-aplicacion-uso-de-tabhost-en-android/' rel='bookmark' title='Permanent Link: Diseñando la aplicación, uso de TabHost en Android'>Diseñando la aplicación, uso de TabHost en Android</a></li>
<li><a href='http://mobile.davidocs.com/android/google-maps-con-threads/' rel='bookmark' title='Permanent Link: Google Maps con Threads'>Google Maps con Threads</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://mobile.davidocs.com/android/tratamiento-de-ficheros-xml-con-android/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>A primera vista: AndAndo, que es gerundio</title>
		<link>http://mobile.davidocs.com/android/a-primera-vista-andando-que-es-gerundio/</link>
		<comments>http://mobile.davidocs.com/android/a-primera-vista-andando-que-es-gerundio/#comments</comments>
		<pubDate>Tue, 04 Aug 2009 15:42:07 +0000</pubDate>
		<dc:creator>David González</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Reviews]]></category>
		<category><![CDATA[AndAndo]]></category>

		<guid isPermaLink="false">http://www.tech-xperience.com/mobiledev/?p=154</guid>
		<description><![CDATA[Visitando la web de AndroLib me he encontrado con una grata sorpresa, una aplicación creada por un español está entre las más visitadas y descargadas del día.
Hablamos de AndAndo, un nombre gracioso para una magnífica aplicación. AndAndo es una aplicación para que nos servirá para crear rutas o caminos 					haciendo uso del GPS.


El creador de [...]


Entradas relacionadas:<ol><li><a href='http://mobile.davidocs.com/android/a-primera-vista-sherpa-para-android/' rel='bookmark' title='Permanent Link: A primera vista: Sherpa para Android'>A primera vista: Sherpa para Android</a></li>
<li><a href='http://mobile.davidocs.com/android/creando-la-primera-aplicacion-con-android/' rel='bookmark' title='Permanent Link: Creando la primera aplicación con Android'>Creando la primera aplicación con Android</a></li>
<li><a href='http://mobile.davidocs.com/android/realidad-aumentada-en-3d-con-layar/' rel='bookmark' title='Permanent Link: Realidad aumentada en 3D con Layar'>Realidad aumentada en 3D con Layar</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p class="dropcap-first">Visitando la web de <a href="http://www.androlib.com" target="_blank">AndroLib </a>me he encontrado con una grata sorpresa, una aplicación creada por un español está entre las más visitadas y descargadas del día.</p>
<p>Hablamos de <strong>AndAndo</strong>, un nombre gracioso para una magnífica aplicación. AndAndo es una aplicación para que <strong>nos servirá para crear rutas o caminos 					haciendo uso del GPS</strong>.</p>
<p style="text-align: center;"><img class="size-full wp-image-155 aligncenter" title="device5" src="http://www.tech-xperience.com/mobiledev/wp-content/uploads/2009/08/device5.jpg" alt="device5" width="299" height="449" /></p>
<p><span id="more-154"></span></p>
<p>El creador de la aplicación es <em>Javi Pacheco</em>, que bajo el sobrenombre de <a href="http://www.javielinux.com/" target="_blank">Javielinux</a>, ha publicado su primera aplicación el en AndroidMarket.</p>
<p>El programa es aplicable a actividades como senderismo, deporte o viajes. Podemos guardar y  categorizar rutas para poder consultarlas más tarde, las fotografías y anotaciones que hagamos quedaran geolocalizadas en la rut e incluso podremos<strong> exportarlas </strong>a formato KML para ver en GoogleEarth.</p>
<p>Sin duda se trata de una aplicación interesante, sobre todo ahora en vacaciones. A partir de ahora podrás revivir los paseos por el casco antigüo de aquella ciudad que tanto te impresionó o el recorrido en moto que tanto te gustó.</p>
<p>Así es cómo funciona:</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="344" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/79Rs9wew_yU&amp;hl=es&amp;fs=1&amp;" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="425" height="344" src="http://www.youtube.com/v/79Rs9wew_yU&amp;hl=es&amp;fs=1&amp;" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>Página oficial de la aplicación: <a href="http://andando.javielinux.com/index.php" target="_blank">AndAndo</a> [tweetmeme]</p>



Comparte:


	<a rel="nofollow"  target="_blank" href="http://www.facebook.com/share.php?u=http%3A%2F%2Fmobile.davidocs.com%2Fandroid%2Fa-primera-vista-andando-que-es-gerundio%2F&amp;t=A%20primera%20vista%3A%20AndAndo%2C%20que%20es%20gerundio" title="Facebook"><img src="http://mobile.davidocs.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://bitacoras.com/anotaciones/http%3A%2F%2Fmobile.davidocs.com%2Fandroid%2Fa-primera-vista-andando-que-es-gerundio%2F" title="Bitacoras.com"><img src="http://mobile.davidocs.com/wp-content/plugins/sociable/images/bitacoras.png" title="Bitacoras.com" alt="Bitacoras.com" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://meneame.net/submit.php?url=http%3A%2F%2Fmobile.davidocs.com%2Fandroid%2Fa-primera-vista-andando-que-es-gerundio%2F" title="Meneame"><img src="http://mobile.davidocs.com/wp-content/plugins/sociable/images/meneame.png" title="Meneame" alt="Meneame" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.wikio.it/vote?url=http%3A%2F%2Fmobile.davidocs.com%2Fandroid%2Fa-primera-vista-andando-que-es-gerundio%2F" title="Wikio IT"><img src="http://mobile.davidocs.com/wp-content/plugins/sociable/images/wikio.png" title="Wikio IT" alt="Wikio IT" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fmobile.davidocs.com%2Fandroid%2Fa-primera-vista-andando-que-es-gerundio%2F&amp;title=A%20primera%20vista%3A%20AndAndo%2C%20que%20es%20gerundio&amp;bodytext=Visitando%20la%20web%20de%20AndroLib%20me%20he%20encontrado%20con%20una%20grata%20sorpresa%2C%20una%20aplicaci%C3%B3n%20creada%20por%20un%20espa%C3%B1ol%20est%C3%A1%20entre%20las%20m%C3%A1s%20visitadas%20y%20descargadas%20del%20d%C3%ADa.%0D%0A%0D%0AHablamos%20de%20AndAndo%2C%20un%20nombre%20gracioso%20para%20una%20magn%C3%ADfica%20aplicaci%C3%B3n.%20AndAndo%20es" title="Digg"><img src="http://mobile.davidocs.com/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://delicious.com/post?url=http%3A%2F%2Fmobile.davidocs.com%2Fandroid%2Fa-primera-vista-andando-que-es-gerundio%2F&amp;title=A%20primera%20vista%3A%20AndAndo%2C%20que%20es%20gerundio&amp;notes=Visitando%20la%20web%20de%20AndroLib%20me%20he%20encontrado%20con%20una%20grata%20sorpresa%2C%20una%20aplicaci%C3%B3n%20creada%20por%20un%20espa%C3%B1ol%20est%C3%A1%20entre%20las%20m%C3%A1s%20visitadas%20y%20descargadas%20del%20d%C3%ADa.%0D%0A%0D%0AHablamos%20de%20AndAndo%2C%20un%20nombre%20gracioso%20para%20una%20magn%C3%ADfica%20aplicaci%C3%B3n.%20AndAndo%20es" title="del.icio.us"><img src="http://mobile.davidocs.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.friendfeed.com/share?title=A%20primera%20vista%3A%20AndAndo%2C%20que%20es%20gerundio&amp;link=http%3A%2F%2Fmobile.davidocs.com%2Fandroid%2Fa-primera-vista-andando-que-es-gerundio%2F" title="FriendFeed"><img src="http://mobile.davidocs.com/wp-content/plugins/sociable/images/friendfeed.png" title="FriendFeed" alt="FriendFeed" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://news.ycombinator.com/submitlink?u=http%3A%2F%2Fmobile.davidocs.com%2Fandroid%2Fa-primera-vista-andando-que-es-gerundio%2F&amp;t=A%20primera%20vista%3A%20AndAndo%2C%20que%20es%20gerundio" title="HackerNews"><img src="http://mobile.davidocs.com/wp-content/plugins/sociable/images/hackernews.png" title="HackerNews" alt="HackerNews" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://technorati.com/faves?add=http%3A%2F%2Fmobile.davidocs.com%2Fandroid%2Fa-primera-vista-andando-que-es-gerundio%2F" title="Technorati"><img src="http://mobile.davidocs.com/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a>


<br/><br/>

<p>Entradas relacionadas:<ol><li><a href='http://mobile.davidocs.com/android/a-primera-vista-sherpa-para-android/' rel='bookmark' title='Permanent Link: A primera vista: Sherpa para Android'>A primera vista: Sherpa para Android</a></li>
<li><a href='http://mobile.davidocs.com/android/creando-la-primera-aplicacion-con-android/' rel='bookmark' title='Permanent Link: Creando la primera aplicación con Android'>Creando la primera aplicación con Android</a></li>
<li><a href='http://mobile.davidocs.com/android/realidad-aumentada-en-3d-con-layar/' rel='bookmark' title='Permanent Link: Realidad aumentada en 3D con Layar'>Realidad aumentada en 3D con Layar</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://mobile.davidocs.com/android/a-primera-vista-andando-que-es-gerundio/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cómo añadir iconos a un ListView en Android</title>
		<link>http://mobile.davidocs.com/android/como-anadir-iconos-a-un-listview-en-android/</link>
		<comments>http://mobile.davidocs.com/android/como-anadir-iconos-a-un-listview-en-android/#comments</comments>
		<pubDate>Mon, 03 Aug 2009 21:40:43 +0000</pubDate>
		<dc:creator>David González</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[Icon]]></category>
		<category><![CDATA[Image]]></category>
		<category><![CDATA[ListView]]></category>

		<guid isPermaLink="false">http://www.tech-xperience.com/mobiledev/?p=139</guid>
		<description><![CDATA[Hace poco añadimos un enlace a una gran cantidad de imágenes e iconos para incluir en los Proyectos de Android. Pues bien, ya va siendo hora de darles utilidad. Vamos a añadir un icono a un ListView, de ésta manera tendremos un diseño mucho más agradable e añadiremos alguna funcionalidad extra. [tweetmeme]
¿Qué es esto?
En éste [...]


Entradas relacionadas:<ol><li><a href='http://mobile.davidocs.com/android/como-instalar-el-teclado-del-htc-hero-en-el-htc-magic/' rel='bookmark' title='Permanent Link: Cómo instalar el teclado del HTC Hero en el HTC Magic'>Cómo instalar el teclado del HTC Hero en el HTC Magic</a></li>
<li><a href='http://mobile.davidocs.com/android/tratamiento-de-ficheros-xml-con-android/' rel='bookmark' title='Permanent Link: Tratamiento de ficheros XML con Android'>Tratamiento de ficheros XML con Android</a></li>
<li><a href='http://mobile.davidocs.com/android/coleccion-de-iconos-e-imagenes-para-android/' rel='bookmark' title='Permanent Link: Colección de iconos e imágenes para Android'>Colección de iconos e imágenes para Android</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p class="dropcap-first">Hace poco añadimos un <a href="http://mobile.davidocs.com/android/coleccion-de-iconos-e-imagenes-para-android/" target="_blank">enlace</a> a una gran cantidad de imágenes e iconos para incluir en los Proyectos de <em>Android</em>. Pues bien, ya va siendo hora de darles utilidad. Vamos a añadir un icono a un <em><a href="http://developer.android.com/reference/android/widget/ListView.html" target="_blank">ListView</a></em>, de ésta manera tendremos un diseño mucho más agradable e añadiremos alguna funcionalidad extra. <span style="color: #008000;"><span style="color: #000000;">[tweetmeme]</span></span></p>
<p><span style="color: #008000;"><strong><span style="font-size: medium;">¿Qué es esto?</span></strong></span></p>
<p>En éste tutorial vamos a añadir un icono a cada línea de un <em>ListView.</em></p>
<p><span style="font-size: medium;"><span style="color: #008000;"><strong>¿Qué voy a aprender?</strong></span></span></p>
<ul>
<li>Acceder a las propiedades de un control desde código.</li>
<li>Caputarar los eventos de un <em>ListView</em>.</li>
<li>Crear nuevas clases y utilizarlas en la aplicación.</li>
</ul>
<p><strong><span style="font-size: medium;"><span style="color: #008000;">¿Cómo quedará?</span></span></strong></p>
<p style="text-align: center;"><strong><span style="font-size: medium;"><span style="color: #008000;"><img class="size-full wp-image-147 aligncenter" title="screenshot1" src="http://www.tech-xperience.com/mobiledev/wp-content/uploads/2009/08/screenshot1.png" alt="screenshot1" width="325" height="585" /></span></span></strong></p>
<p style="text-align: left;"><strong><span style="font-size: medium;"><span style="color: #008000;"><span id="more-139"></span><br />
</span></span></strong></p>
<p><strong><span style="font-size: medium;"><span style="color: #008000;">Pasos a seguir:</span></span></strong></p>
<p>Para simplificar el tutorial crearemos un nuevo Proyecto de <em>Android </em>que creará el <em>ListView </em>y lo poblará con iconos y textos. De ésta manera será mucho más fácil <strong>añadirlo a otros proyectos</strong> sin invertir mucho tiempo en la tarea.</p>
<p>Lo primero que vamos a hacer es crear el diseño de nuestra aplicación. Se trata de un XML muy simple donde añadiremos un <em>ListView</em>.<strong><span style="font-size: medium;"><span style="color: #008000;"><br />
</span></span></strong></p>
<p><strong><span style="font-size: medium;"><span style="color: #008000;">main.xml:</span></span></strong></p>
<pre class="brush: xml;">

&lt; ?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;

&lt;linearlayout xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;
android:id=&quot;@+id/settings&quot;
android:orientation=&quot;vertical&quot;
android:layout_width=&quot;fill_parent&quot;
android:layout_height=&quot;fill_parent&quot;&gt;

&lt;listview android:id=&quot;@+id/android:list&quot;
android:layout_width=&quot;wrap_content&quot;
android:layout_height=&quot;wrap_content&quot;
/&gt;

&lt;/linearlayout&gt;
</pre>
<p>Un <em>ListView</em>, por defecto, sólo permite añadir líneas de texto. Cabe destacar que si el número de elementos es mayor del que podemos ver en pantalla él solito se encarga de hacer un Scroll cuando movamos naveguemos por la pantalla, así que no hace falta crear un <a href="http://developer.android.com/reference/android/widget/Scroller.html" target="_blank">Scroller</a>,ya que el control es automático. Para poder añadir un icono vamos a tener que crear un nuevo Layout que corresponderá a la nueva línea que veremos en el ListView.</p>
<p><strong><span style="font-size: medium;"><span style="color: #008000;">IconRow.xml:</span></span></strong></p>
<pre class="brush: xml;">

&lt;relativelayout xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;
android:layout_width=&quot;fill_parent&quot;
android:layout_height=&quot;?android:attr/listPreferredItemHeight&quot;
android:padding=&quot;6dip&quot;&gt;

&lt;imageview android:id=&quot;@+id/icon&quot;

android:layout_width=&quot;wrap_content&quot;
android:layout_height=&quot;fill_parent&quot;

android:layout_alignParentTop=&quot;true&quot;
android:layout_alignParentBottom=&quot;true&quot;
android:layout_marginRight=&quot;6dip&quot;/&gt;

&lt;textview android:id=&quot;@+id/row_toptext&quot;

android:layout_width=&quot;fill_parent&quot;
android:layout_height=&quot;fill_parent&quot;

android:layout_toRightOf=&quot;@id/icon&quot;
android:layout_alignParentBottom=&quot;true&quot;
android:layout_alignParentRight=&quot;true&quot;

android:singleLine=&quot;true&quot;
android:ellipsize=&quot;marquee&quot;/&gt;

&lt;/relativelayout&gt;
</pre>
<p>Ahora que ya hemos creado todos los <em>Layouts </em>necesarios ya podemos empezar a escribir código. Lo primero que vamos a hacer es crear una nueva clase llamada <strong>Local</strong>, cada línea del <em>ListView</em> contendrá un elemento de ésta clase.</p>
<p><strong><span style="font-size: medium;"><span style="color: #008000;">Local.java:</span></span></strong></p>
<pre class="brush: java;">

package com.mobiledev;

public class Local {

private String localName;
private int localImage;

public String getLocalName() {
return localName;
}
public void setLocalName(String localName) {
this.localName = localName;
}
public int getLocalImage() {
return localImage;
}
public void setLocalImage(int i) {
this.localImage = i;
}

}
</pre>
<p>Ya tenemos el contenido, lo siguiente que necesitamos es un <em>Adapter </em>que se encargue de pasar la información de cada elemento de la clase al ListView.</p>
<p><strong><span style="font-size: medium;"><span style="color: #008000;">IconListViewAdapter: (dentro de IconListView.java)</span></span></strong></p>
<pre class="brush: java;">

public class IconListViewAdapter extends ArrayAdapter&lt;local&gt; {

private ArrayList&lt;/local&gt;&lt;local&gt; items;

public IconListViewAdapter(Context context, int textViewResourceId, ArrayList&lt;/local&gt;&lt;local&gt; items) {
super(context, textViewResourceId, items);
this.items = items;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View v = convertView;
if (v == null) {
LayoutInflater vi = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = vi.inflate(R.layout.iconrow, null);
}
Local o = items.get(position);
if (o != null) {

//poblamos la lista de elementos

TextView tt = (TextView) v.findViewById(R.id.row_toptext);
ImageView im = (ImageView) v.findViewById(R.id.icon);

if (im!= null) {
im.setImageResource(o.getLocalImage());
}
if (tt != null) {
tt.setText(o.getLocalName());
}
}
return v;
}
}
</pre>
<p>Como veis el <em>Adapter </em>se encarga de coger los datos que le vamos pasando y colocarlos en el <em>ListView</em>. Utilizando los métodos <em>findviewbyId </em>lo que conseguimos es acceder a los compoenentes de la fila y pasarle los datos que queramos. Por último sólo falta el código fuente de la aplicación, donde en un métido a parte nos encargaremos de indicar el texto y las imágenes que queremos añadir.</p>
<p>Éste proceso se debe hacer dentro del método onCreate de la aplicación principal, de ésta manera sólo lo haremos una vez y estará disponible durante todo el <a href="http://www.tech-xperience.com/mobiledev/android/ciclo-de-vida-de-una-activity-lifecycle/" target="_blank">LifeCycle</a>.</p>
<p><strong><span style="font-size: medium;"><span style="color: #008000;">IconListView.java:</span></span></strong></p>
<pre class="brush: java;">

package com.mobiledev;

import java.util.ArrayList;

import android.app.ListActivity;
import android.content.Context;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;

public class IconListView extends ListActivity {
private ArrayList&lt;/local&gt;&lt;local&gt; m_locals = null;
private IconListViewAdapter m_adapter;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

/*
* Al crear la clase se inicializa el ListView que muestra los men�s
*/

m_locals = new ArrayList&lt;/local&gt;&lt;local&gt;();
this.m_adapter = new IconListViewAdapter(this, R.layout.iconrow, m_locals);
setListAdapter(this.m_adapter);

inicializarLocales();

}

@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
Local local = (Local) l.getItemAtPosition(position);

Toast.makeText(this, local.getLocalName(),
Toast.LENGTH_LONG).show();
}

/*
* Inicializacion del mapa
*/

private void inicializarLocales(){

try {
m_locals = new ArrayList&lt;/local&gt;&lt;local&gt;();
Local o1 = new Local();
o1.setLocalName(&quot;Bancos&quot;);
o1.setLocalImage(R.drawable.visa);
Local o2 = new Local();
o2.setLocalName(&quot;Gasolineras&quot;);
o2.setLocalImage(R.drawable.gas);
Local o3 = new Local();
o3.setLocalName(&quot;Hospitales&quot;);
o3.setLocalImage(R.drawable.hospital);
Local o4 = new Local();
o4.setLocalName(&quot;Restaurantes&quot;);
o4.setLocalImage(R.drawable.restaurant);
Local o5 = new Local();
o5.setLocalName(&quot;Tiendas&quot;);
o5.setLocalImage(R.drawable.shop);
m_locals.add(o1);
m_locals.add(o2);
m_locals.add(o3);
m_locals.add(o4);
m_locals.add(o5);
Log.i(&quot;Locales añadidos &quot;, &quot;&quot;+ m_locals.size());
} catch (Exception e) {
Log.e(&quot;BACKGROUND_PROC&quot;, e.getMessage());
}

if(m_locals != null &amp;amp;amp;amp;amp;amp;&amp;amp;amp;amp;amp;amp; m_locals.size() &gt; 0){
for(int i=0;i&lt;m_locals .size();i++)
m_adapter.add(m_locals.get(i));
}

m_adapter.notifyDataSetChanged();

}
</pre>
<p><strong><span style="color: #008000;"><span style="color: #000000;"><em> </em>[tweetmeme] </span></span>No es necesario que el <em>ListView </em>sea lo único que se vea dentro del <em>Layout</em>. Podéis añadir botones, otros layouts o lo que os apetezca. Éste código sólo se encarga de rellenar el <em>ListView </em>y no afectará a otros componentens. Como nota interesante hemos añadido el envio de mensajes al Log del sistema. Tal y como lo hemos echo veremos en Log el número de locales añadido al <em>ListView</em> aunque, como os imaginais, la utilidad del Log es muchísimo más amplia.</p>
<p style="text-align: center;"><img class="size-full wp-image-147 aligncenter" title="screenshot1" src="http://www.tech-xperience.com/mobiledev/wp-content/uploads/2009/08/screenshot1.png" alt="screenshot1" width="325" height="584" /></p>
<p><strong><span style="font-size: medium;"><span style="color: #008000;">Código fuente: </span></span></strong></p>
<p><table style="border: 1px solid #CCC;" cellpadding="3" width="100%">
  <tr>
    <td width="35">
      <img src="http://mobile.davidocs.com/wp-content/plugins/downloads-manager/img/icons/winrar.gif" alt="http://mobile.davidocs.com/wp-content/plugins/downloads-manager/img/icons/winrar.gif">
    </td>
    <td>
      <b>download:</b> <a href="http://mobile.davidocs.com/?file_id=3">IconListView</a> <small>(44.94KB)</small><br />
      <b>added:</b> 03/08/2009 <br />
      <b>clicks:</b> 514 <br />
      <b>description:</b> ListView que se compone de un icono y un texto. <br />
    </td>
  </tr>
</table></m_locals></local></p>



Comparte:


	<a rel="nofollow"  target="_blank" href="http://www.facebook.com/share.php?u=http%3A%2F%2Fmobile.davidocs.com%2Fandroid%2Fcomo-anadir-iconos-a-un-listview-en-android%2F&amp;t=C%C3%B3mo%20a%C3%B1adir%20iconos%20a%20un%20ListView%20en%20Android" title="Facebook"><img src="http://mobile.davidocs.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://bitacoras.com/anotaciones/http%3A%2F%2Fmobile.davidocs.com%2Fandroid%2Fcomo-anadir-iconos-a-un-listview-en-android%2F" title="Bitacoras.com"><img src="http://mobile.davidocs.com/wp-content/plugins/sociable/images/bitacoras.png" title="Bitacoras.com" alt="Bitacoras.com" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://meneame.net/submit.php?url=http%3A%2F%2Fmobile.davidocs.com%2Fandroid%2Fcomo-anadir-iconos-a-un-listview-en-android%2F" title="Meneame"><img src="http://mobile.davidocs.com/wp-content/plugins/sociable/images/meneame.png" title="Meneame" alt="Meneame" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.wikio.it/vote?url=http%3A%2F%2Fmobile.davidocs.com%2Fandroid%2Fcomo-anadir-iconos-a-un-listview-en-android%2F" title="Wikio IT"><img src="http://mobile.davidocs.com/wp-content/plugins/sociable/images/wikio.png" title="Wikio IT" alt="Wikio IT" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fmobile.davidocs.com%2Fandroid%2Fcomo-anadir-iconos-a-un-listview-en-android%2F&amp;title=C%C3%B3mo%20a%C3%B1adir%20iconos%20a%20un%20ListView%20en%20Android&amp;bodytext=Hace%20poco%20a%C3%B1adimos%20un%20enlace%20a%20una%20gran%20cantidad%20de%20im%C3%A1genes%20e%20iconos%20para%20incluir%20en%20los%20Proyectos%20de%20Android.%20Pues%20bien%2C%20ya%20va%20siendo%20hora%20de%20darles%20utilidad.%20Vamos%20a%20a%C3%B1adir%20un%20icono%20a%20un%20ListView%2C%20de%20%C3%A9sta%20manera%20tendremos%20un%20dise%C3%B1o%20mucho%20m%C3%A1s" title="Digg"><img src="http://mobile.davidocs.com/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://delicious.com/post?url=http%3A%2F%2Fmobile.davidocs.com%2Fandroid%2Fcomo-anadir-iconos-a-un-listview-en-android%2F&amp;title=C%C3%B3mo%20a%C3%B1adir%20iconos%20a%20un%20ListView%20en%20Android&amp;notes=Hace%20poco%20a%C3%B1adimos%20un%20enlace%20a%20una%20gran%20cantidad%20de%20im%C3%A1genes%20e%20iconos%20para%20incluir%20en%20los%20Proyectos%20de%20Android.%20Pues%20bien%2C%20ya%20va%20siendo%20hora%20de%20darles%20utilidad.%20Vamos%20a%20a%C3%B1adir%20un%20icono%20a%20un%20ListView%2C%20de%20%C3%A9sta%20manera%20tendremos%20un%20dise%C3%B1o%20mucho%20m%C3%A1s" title="del.icio.us"><img src="http://mobile.davidocs.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.friendfeed.com/share?title=C%C3%B3mo%20a%C3%B1adir%20iconos%20a%20un%20ListView%20en%20Android&amp;link=http%3A%2F%2Fmobile.davidocs.com%2Fandroid%2Fcomo-anadir-iconos-a-un-listview-en-android%2F" title="FriendFeed"><img src="http://mobile.davidocs.com/wp-content/plugins/sociable/images/friendfeed.png" title="FriendFeed" alt="FriendFeed" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://news.ycombinator.com/submitlink?u=http%3A%2F%2Fmobile.davidocs.com%2Fandroid%2Fcomo-anadir-iconos-a-un-listview-en-android%2F&amp;t=C%C3%B3mo%20a%C3%B1adir%20iconos%20a%20un%20ListView%20en%20Android" title="HackerNews"><img src="http://mobile.davidocs.com/wp-content/plugins/sociable/images/hackernews.png" title="HackerNews" alt="HackerNews" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://technorati.com/faves?add=http%3A%2F%2Fmobile.davidocs.com%2Fandroid%2Fcomo-anadir-iconos-a-un-listview-en-android%2F" title="Technorati"><img src="http://mobile.davidocs.com/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a>


<br/><br/>

<p>Entradas relacionadas:<ol><li><a href='http://mobile.davidocs.com/android/como-instalar-el-teclado-del-htc-hero-en-el-htc-magic/' rel='bookmark' title='Permanent Link: Cómo instalar el teclado del HTC Hero en el HTC Magic'>Cómo instalar el teclado del HTC Hero en el HTC Magic</a></li>
<li><a href='http://mobile.davidocs.com/android/tratamiento-de-ficheros-xml-con-android/' rel='bookmark' title='Permanent Link: Tratamiento de ficheros XML con Android'>Tratamiento de ficheros XML con Android</a></li>
<li><a href='http://mobile.davidocs.com/android/coleccion-de-iconos-e-imagenes-para-android/' rel='bookmark' title='Permanent Link: Colección de iconos e imágenes para Android'>Colección de iconos e imágenes para Android</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://mobile.davidocs.com/android/como-anadir-iconos-a-un-listview-en-android/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>A primera vista: Sherpa para Android</title>
		<link>http://mobile.davidocs.com/android/a-primera-vista-sherpa-para-android/</link>
		<comments>http://mobile.davidocs.com/android/a-primera-vista-sherpa-para-android/#comments</comments>
		<pubDate>Mon, 03 Aug 2009 07:09:45 +0000</pubDate>
		<dc:creator>David González</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Reviews]]></category>
		<category><![CDATA[Sherpa]]></category>
		<category><![CDATA[T-Mobile]]></category>

		<guid isPermaLink="false">http://www.tech-xperience.com/mobiledev/?p=129</guid>
		<description><![CDATA[Inauguramos una nueva sección,  en ella hablaremos de aplicaciones interesantes para nuestros dispositivos. Como primera aplicación vamos a hablar de una que acaba de salir del horno, Sherpa.
Se trata de una aplicación de localización de establecimientos creada por Geodelic. A priori y, sin echar un vistazo a la aplicación no parece novedosa. Existen aplicaciones que [...]


Entradas relacionadas:<ol><li><a href='http://mobile.davidocs.com/android/a-primera-vista-andando-que-es-gerundio/' rel='bookmark' title='Permanent Link: A primera vista: AndAndo, que es gerundio'>A primera vista: AndAndo, que es gerundio</a></li>
<li><a href='http://mobile.davidocs.com/android/10-aplicaciones-interesantes-para-android/' rel='bookmark' title='Permanent Link: 10 aplicaciones interesantes para Android'>10 aplicaciones interesantes para Android</a></li>
<li><a href='http://mobile.davidocs.com/android/creando-la-primera-aplicacion-con-android/' rel='bookmark' title='Permanent Link: Creando la primera aplicación con Android'>Creando la primera aplicación con Android</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p class="dropcap-first">Inauguramos una nueva sección,  en ella hablaremos de aplicaciones interesantes para nuestros dispositivos. Como primera aplicación vamos a hablar de una que acaba de salir del horno, <em>Sherpa.</em></p>
<p>Se trata de una aplicación de <strong>localización de establecimientos </strong>creada por <a href="http://gigaom.com/2009/06/23/geodelic-brings-serendipity-to-location/" target="_blank">Geodelic</a>. A priori y, sin echar un vistazo a la aplicación no parece novedosa. Existen aplicaciones que realizan la misma función pero, una vez vemos el funcionamiento de la aplicación todo cambia.</p>
<p style="text-align: center;"><img class="size-full wp-image-132 aligncenter" title="geodelic-screen1" src="http://www.tech-xperience.com/mobiledev/wp-content/uploads/2009/08/geodelic-screen1.png" alt="geodelic-screen1" width="396" height="531" /></p>
<p style="text-align: left;"><span id="more-129"></span></p>
<p style="text-align: left;">La interfaz de ésta aplicación es, simplemente, alucinante. El &#8220;Carrusel de Localizaciones&#8221; que vemos en el centro de la pantalla es un paso adelante en el uso de la interfaz, algo totalmente disitino a lo que estamos acostumbrados.</p>
<p style="text-align: left;">Dejando a un lado el apartado gráfico <em>Sherpa </em>también es <strong>novedosa</strong>, los creadores aseguran que puede aprender de tus gustos. Incorpora un sistema de valoración de establecimientos, la idea es que podemos indicar si nos gusta o no un local y <em>Sherpa </em>mostrará los resultados en función de nuestros gustos. Lo novedoso no es el concepto de valoración sino que los resultados que veremos en un futuro se verán modificados según los gustos que le hayamos indicado a la aplicación.</p>
<p style="text-align: left;">También encontraremos horarios y valoraciones sobre películas, reserva de entradas, estados de vuelo y restricciones en el equipaje. El único <strong>punto negativo</strong>, por ahora, es que la aplicación sólo está disponible en USA. Aunque, a buen seguro, en poco tiempo tendremos una &#8220;versión&#8221; de <em>Sherpa </em>por aquí.</p>
<p style="text-align: left;">Así es como funciona:</p>
<p style="text-align: center;"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="344" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/9qPF7eJW6EU&amp;hl=es&amp;fs=1&amp;" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="425" height="344" src="http://www.youtube.com/v/9qPF7eJW6EU&amp;hl=es&amp;fs=1&amp;" allowscriptaccess="always" allowfullscreen="true"></embed></object>
</p>
<p style="text-align: center;">Fuente: <a href="http://androinica.com/2009/06/22/more-on-geodelic-the-force-behind-the-mytouchs-sherpa/" target="_blank">Andronica</a></p>



Comparte:


	<a rel="nofollow"  target="_blank" href="http://www.facebook.com/share.php?u=http%3A%2F%2Fmobile.davidocs.com%2Fandroid%2Fa-primera-vista-sherpa-para-android%2F&amp;t=A%20primera%20vista%3A%20Sherpa%20para%20Android" title="Facebook"><img src="http://mobile.davidocs.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://bitacoras.com/anotaciones/http%3A%2F%2Fmobile.davidocs.com%2Fandroid%2Fa-primera-vista-sherpa-para-android%2F" title="Bitacoras.com"><img src="http://mobile.davidocs.com/wp-content/plugins/sociable/images/bitacoras.png" title="Bitacoras.com" alt="Bitacoras.com" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://meneame.net/submit.php?url=http%3A%2F%2Fmobile.davidocs.com%2Fandroid%2Fa-primera-vista-sherpa-para-android%2F" title="Meneame"><img src="http://mobile.davidocs.com/wp-content/plugins/sociable/images/meneame.png" title="Meneame" alt="Meneame" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.wikio.it/vote?url=http%3A%2F%2Fmobile.davidocs.com%2Fandroid%2Fa-primera-vista-sherpa-para-android%2F" title="Wikio IT"><img src="http://mobile.davidocs.com/wp-content/plugins/sociable/images/wikio.png" title="Wikio IT" alt="Wikio IT" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fmobile.davidocs.com%2Fandroid%2Fa-primera-vista-sherpa-para-android%2F&amp;title=A%20primera%20vista%3A%20Sherpa%20para%20Android&amp;bodytext=Inauguramos%20una%20nueva%20secci%C3%B3n%2C%C2%A0%20en%20ella%20hablaremos%20de%20aplicaciones%20interesantes%20para%20nuestros%20dispositivos.%20Como%20primera%20aplicaci%C3%B3n%20vamos%20a%20hablar%20de%20una%20que%20acaba%20de%20salir%20del%20horno%2C%20Sherpa.%0D%0A%0D%0ASe%20trata%20de%20una%20aplicaci%C3%B3n%20de%20localizaci%C3%B3n%20de%20esta" title="Digg"><img src="http://mobile.davidocs.com/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://delicious.com/post?url=http%3A%2F%2Fmobile.davidocs.com%2Fandroid%2Fa-primera-vista-sherpa-para-android%2F&amp;title=A%20primera%20vista%3A%20Sherpa%20para%20Android&amp;notes=Inauguramos%20una%20nueva%20secci%C3%B3n%2C%C2%A0%20en%20ella%20hablaremos%20de%20aplicaciones%20interesantes%20para%20nuestros%20dispositivos.%20Como%20primera%20aplicaci%C3%B3n%20vamos%20a%20hablar%20de%20una%20que%20acaba%20de%20salir%20del%20horno%2C%20Sherpa.%0D%0A%0D%0ASe%20trata%20de%20una%20aplicaci%C3%B3n%20de%20localizaci%C3%B3n%20de%20esta" title="del.icio.us"><img src="http://mobile.davidocs.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.friendfeed.com/share?title=A%20primera%20vista%3A%20Sherpa%20para%20Android&amp;link=http%3A%2F%2Fmobile.davidocs.com%2Fandroid%2Fa-primera-vista-sherpa-para-android%2F" title="FriendFeed"><img src="http://mobile.davidocs.com/wp-content/plugins/sociable/images/friendfeed.png" title="FriendFeed" alt="FriendFeed" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://news.ycombinator.com/submitlink?u=http%3A%2F%2Fmobile.davidocs.com%2Fandroid%2Fa-primera-vista-sherpa-para-android%2F&amp;t=A%20primera%20vista%3A%20Sherpa%20para%20Android" title="HackerNews"><img src="http://mobile.davidocs.com/wp-content/plugins/sociable/images/hackernews.png" title="HackerNews" alt="HackerNews" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://technorati.com/faves?add=http%3A%2F%2Fmobile.davidocs.com%2Fandroid%2Fa-primera-vista-sherpa-para-android%2F" title="Technorati"><img src="http://mobile.davidocs.com/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a>


<br/><br/>

<p>Entradas relacionadas:<ol><li><a href='http://mobile.davidocs.com/android/a-primera-vista-andando-que-es-gerundio/' rel='bookmark' title='Permanent Link: A primera vista: AndAndo, que es gerundio'>A primera vista: AndAndo, que es gerundio</a></li>
<li><a href='http://mobile.davidocs.com/android/10-aplicaciones-interesantes-para-android/' rel='bookmark' title='Permanent Link: 10 aplicaciones interesantes para Android'>10 aplicaciones interesantes para Android</a></li>
<li><a href='http://mobile.davidocs.com/android/creando-la-primera-aplicacion-con-android/' rel='bookmark' title='Permanent Link: Creando la primera aplicación con Android'>Creando la primera aplicación con Android</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://mobile.davidocs.com/android/a-primera-vista-sherpa-para-android/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Colección de iconos e imágenes para Android</title>
		<link>http://mobile.davidocs.com/android/coleccion-de-iconos-e-imagenes-para-android/</link>
		<comments>http://mobile.davidocs.com/android/coleccion-de-iconos-e-imagenes-para-android/#comments</comments>
		<pubDate>Fri, 31 Jul 2009 09:50:17 +0000</pubDate>
		<dc:creator>David González</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Resources]]></category>
		<category><![CDATA[Icons]]></category>

		<guid isPermaLink="false">http://www.tech-xperience.com/mobiledev/?p=123</guid>
		<description><![CDATA[No hay duda de que una de las partes importantes de toda aplicación es su aspecto gráfico. Siempre es mucho más agradable trabajar con una aplicación gráficamente bien diseñada y, una de las maneras de mejorarla, es hacer una buena selección de icons e imágenes.
En éstos enlaces encontrarás una gran cantidad de recursos que pueden [...]


Entradas relacionadas:<ol><li><a href='http://mobile.davidocs.com/android/como-anadir-iconos-a-un-listview-en-android/' rel='bookmark' title='Permanent Link: Cómo añadir iconos a un ListView en Android'>Cómo añadir iconos a un ListView en Android</a></li>
<li><a href='http://mobile.davidocs.com/android/a-primera-vista-sherpa-para-android/' rel='bookmark' title='Permanent Link: A primera vista: Sherpa para Android'>A primera vista: Sherpa para Android</a></li>
<li><a href='http://mobile.davidocs.com/android/10-aplicaciones-interesantes-para-android/' rel='bookmark' title='Permanent Link: 10 aplicaciones interesantes para Android'>10 aplicaciones interesantes para Android</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p class="dropcap-first">No hay duda de que una de las partes importantes de toda aplicación es su aspecto gráfico. Siempre es mucho más agradable trabajar con una aplicación gráficamente bien diseñada y, una de las maneras de mejorarla, es hacer una buena selección de icons e imágenes.</p>
<p>En éstos enlaces encontrarás una gran cantidad de recursos que pueden dar un toque visual a tu aplicación. [tweetmeme]</p>
<p><strong>Android 1.0 drawables</strong></p>
<p>Extensa colección con todos los iconos de la versión 1.0 de la SDK</p>
<p><em>Enlace</em>: <a href="http://www.screaming-penguin.com/info/android_drawables/android_drawables.html" target="_blank">Link</a></p>
<p><em>Fuente</em>: <a href="http://www.screaming-penguin.com" target="_blank">Screaming Pengüin</a></p>
<p><strong>Android 1.5 drawables</strong></p>
<p>Todos los nuevos iconos incluidos en la versión 1.5 de la SDK</p>
<p><em>Enlace</em>: <a href="http://www.darshancomputing.com/android/1.5-drawables.html" target="_blank">Link</a></p>
<p><em>Fuente</em>: <a href="http://www.darshancomputing.com" target="_blank">DashanComputing</a></p>
<p><strong>Guia para el diseño de iconos</strong></p>
<p><em>Enlace</em>: <a href="http://developer.android.com/guide/practices/ui_guidelines/icon_design.html" target="_blank">Link</a></p>
<p><em>Fuente</em>: <a href="http://developer.android.com/index.html" target="_blank">Android Developers</a></p>



Comparte:


	<a rel="nofollow"  target="_blank" href="http://www.facebook.com/share.php?u=http%3A%2F%2Fmobile.davidocs.com%2Fandroid%2Fcoleccion-de-iconos-e-imagenes-para-android%2F&amp;t=Colecci%C3%B3n%20de%20iconos%20e%20im%C3%A1genes%20para%20Android" title="Facebook"><img src="http://mobile.davidocs.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://bitacoras.com/anotaciones/http%3A%2F%2Fmobile.davidocs.com%2Fandroid%2Fcoleccion-de-iconos-e-imagenes-para-android%2F" title="Bitacoras.com"><img src="http://mobile.davidocs.com/wp-content/plugins/sociable/images/bitacoras.png" title="Bitacoras.com" alt="Bitacoras.com" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://meneame.net/submit.php?url=http%3A%2F%2Fmobile.davidocs.com%2Fandroid%2Fcoleccion-de-iconos-e-imagenes-para-android%2F" title="Meneame"><img src="http://mobile.davidocs.com/wp-content/plugins/sociable/images/meneame.png" title="Meneame" alt="Meneame" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.wikio.it/vote?url=http%3A%2F%2Fmobile.davidocs.com%2Fandroid%2Fcoleccion-de-iconos-e-imagenes-para-android%2F" title="Wikio IT"><img src="http://mobile.davidocs.com/wp-content/plugins/sociable/images/wikio.png" title="Wikio IT" alt="Wikio IT" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fmobile.davidocs.com%2Fandroid%2Fcoleccion-de-iconos-e-imagenes-para-android%2F&amp;title=Colecci%C3%B3n%20de%20iconos%20e%20im%C3%A1genes%20para%20Android&amp;bodytext=No%20hay%20duda%20de%20que%20una%20de%20las%20partes%20importantes%20de%20toda%20aplicaci%C3%B3n%20es%20su%20aspecto%20gr%C3%A1fico.%20Siempre%20es%20mucho%20m%C3%A1s%20agradable%20trabajar%20con%20una%20aplicaci%C3%B3n%20gr%C3%A1ficamente%20bien%20dise%C3%B1ada%20y%2C%20una%20de%20las%20maneras%20de%20mejorarla%2C%20es%20hacer%20una%20buena%20selecci%C3%B3n%20d" title="Digg"><img src="http://mobile.davidocs.com/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://delicious.com/post?url=http%3A%2F%2Fmobile.davidocs.com%2Fandroid%2Fcoleccion-de-iconos-e-imagenes-para-android%2F&amp;title=Colecci%C3%B3n%20de%20iconos%20e%20im%C3%A1genes%20para%20Android&amp;notes=No%20hay%20duda%20de%20que%20una%20de%20las%20partes%20importantes%20de%20toda%20aplicaci%C3%B3n%20es%20su%20aspecto%20gr%C3%A1fico.%20Siempre%20es%20mucho%20m%C3%A1s%20agradable%20trabajar%20con%20una%20aplicaci%C3%B3n%20gr%C3%A1ficamente%20bien%20dise%C3%B1ada%20y%2C%20una%20de%20las%20maneras%20de%20mejorarla%2C%20es%20hacer%20una%20buena%20selecci%C3%B3n%20d" title="del.icio.us"><img src="http://mobile.davidocs.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.friendfeed.com/share?title=Colecci%C3%B3n%20de%20iconos%20e%20im%C3%A1genes%20para%20Android&amp;link=http%3A%2F%2Fmobile.davidocs.com%2Fandroid%2Fcoleccion-de-iconos-e-imagenes-para-android%2F" title="FriendFeed"><img src="http://mobile.davidocs.com/wp-content/plugins/sociable/images/friendfeed.png" title="FriendFeed" alt="FriendFeed" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://news.ycombinator.com/submitlink?u=http%3A%2F%2Fmobile.davidocs.com%2Fandroid%2Fcoleccion-de-iconos-e-imagenes-para-android%2F&amp;t=Colecci%C3%B3n%20de%20iconos%20e%20im%C3%A1genes%20para%20Android" title="HackerNews"><img src="http://mobile.davidocs.com/wp-content/plugins/sociable/images/hackernews.png" title="HackerNews" alt="HackerNews" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://technorati.com/faves?add=http%3A%2F%2Fmobile.davidocs.com%2Fandroid%2Fcoleccion-de-iconos-e-imagenes-para-android%2F" title="Technorati"><img src="http://mobile.davidocs.com/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a>


<br/><br/>

<p>Entradas relacionadas:<ol><li><a href='http://mobile.davidocs.com/android/como-anadir-iconos-a-un-listview-en-android/' rel='bookmark' title='Permanent Link: Cómo añadir iconos a un ListView en Android'>Cómo añadir iconos a un ListView en Android</a></li>
<li><a href='http://mobile.davidocs.com/android/a-primera-vista-sherpa-para-android/' rel='bookmark' title='Permanent Link: A primera vista: Sherpa para Android'>A primera vista: Sherpa para Android</a></li>
<li><a href='http://mobile.davidocs.com/android/10-aplicaciones-interesantes-para-android/' rel='bookmark' title='Permanent Link: 10 aplicaciones interesantes para Android'>10 aplicaciones interesantes para Android</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://mobile.davidocs.com/android/coleccion-de-iconos-e-imagenes-para-android/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Diseñando la aplicación, uso de TabHost en Android</title>
		<link>http://mobile.davidocs.com/android/disenando-la-aplicacion-uso-de-tabhost-en-android/</link>
		<comments>http://mobile.davidocs.com/android/disenando-la-aplicacion-uso-de-tabhost-en-android/#comments</comments>
		<pubDate>Thu, 30 Jul 2009 10:00:44 +0000</pubDate>
		<dc:creator>David González</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[Activity]]></category>
		<category><![CDATA[TabHost]]></category>

		<guid isPermaLink="false">http://www.tech-xperience.com/mobiledev/?p=101</guid>
		<description><![CDATA[Anteriormente vimos cómo crear nuestra primera aplicación. A partir de ahora seguiremos el proceso de desarrollo de una aplicación, intentando profundizar en los aspectos más importantes desde el punto de vista de un novato en el tema.
Como siempre que se desarrolla una aplicación tenemos que tener en cuenta tanto las funcionalidades como el aspecto gráfico. [...]


Entradas relacionadas:<ol><li><a href='http://mobile.davidocs.com/android/primeros-pasos-con-android/' rel='bookmark' title='Permanent Link: Primeros pasos con Android'>Primeros pasos con Android</a></li>
<li><a href='http://mobile.davidocs.com/android/creando-la-primera-aplicacion-con-android/' rel='bookmark' title='Permanent Link: Creando la primera aplicación con Android'>Creando la primera aplicación con Android</a></li>
<li><a href='http://mobile.davidocs.com/android/ciclo-de-vida-de-una-activity-lifecycle/' rel='bookmark' title='Permanent Link: Ciclo de vida de una Activity (Lifecycle)'>Ciclo de vida de una Activity (Lifecycle)</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p class="dropcap-first">Anteriormente vimos cómo <a href="http://mobile.davidocs.com/android/creando-la-primera-aplicacion-con-android/" target="_blank">crear nuestra primera aplicación</a>. A partir de ahora seguiremos el proceso de desarrollo de una aplicación, intentando profundizar en los aspectos más importantes desde el punto de vista de un novato en el tema.</p>
<p>Como siempre que se desarrolla una aplicación tenemos que tener en cuenta tanto las funcionalidades como el aspecto gráfico. Después de pensar y revisar las <a href="http://developer.android.com/guide/tutorials/views/index.html" target="_blank">opciones gráficas disponibles</a> optaremos por crear una aplicación con pestañas (<a href="http://developer.android.com/reference/android/widget/TabHost.html" target="_blank"><strong>TabHost</strong></a>). <span style="color: #008000;"><span style="color: #000000;"><em> </em>[tweetmeme]<br />
</span></span></p>
<p><span style="color: #008000;"><strong><span style="font-size: medium;">¿Qué es esto?</span></strong></span></p>
<p><span style="color: #008000;"><span style="color: #000000;">Éste tutorial muestra cómo crear una aplicación con 3 pestañas (<a href="http://developer.android.com/reference/android/widget/TabWidget.html" target="_blank"><strong>TabWidget</strong></a>) en un <strong>TabHost</strong>.<br />
</span></span></p>
<p><span style="font-size: medium;"><span style="color: #008000;"><strong>¿Qué voy a aprender?</strong></span></span></p>
<ul>
<li><span style="color: #008000;"><span style="color: #000000;">Utilizar XML para crear el aspecto gráfico de una aplicación.</span></span></li>
<li><span style="color: #008000;"><span style="color: #000000;">Modificar el <em>AndroidManifest</em>.</span></span></li>
<li><span style="color: #008000;"><span style="color: #000000;"> Crear una aplicación con 3 pestañas en las que cada una de ellas tiene su propio XML.</span></span></li>
<li><span style="color: #008000;"><span style="color: #000000;">Guardar la pestaña activa para mostrarla cuando volvamos a abrir la aplicación.<br />
</span></span></li>
<li><span style="color: #008000;"><span style="color: #000000;">Utilizar los recursos <em>Drawable </em>y <em>Strings</em></span></span><span style="color: #008000;"><span style="color: #000000;">.</span></span></li>
</ul>
<p><strong><span style="font-size: medium;"><span style="color: #008000;">¿Cómo quedará?</span></span></strong></p>
<p style="text-align: center;"><strong><span style="font-size: medium;"><span style="color: #008000;"><img class="size-full wp-image-118 aligncenter" title="tuto2-1" src="http://www.tech-xperience.com/mobiledev/wp-content/uploads/2009/07/tuto2-11.jpg" alt="tuto2-1" width="283" height="542" /><br />
</span></span></strong></p>
<p><strong><span style="font-size: medium;"><span style="color: #008000;"><span id="more-101"></span><br />
</span></span></strong></p>
<p><strong><span style="font-size: medium;"><span style="color: #008000;">Pasos a seguir:</span></span></strong></p>
<p><span style="color: #008000;"><span style="color: #000000;">Empezaremos con una visión global de lo que necesitamos. Para empezar necesitamos que nuestra Activity principal extienda la clase <a href="http://developer.android.com/reference/android/app/TabActivity.html" target="_blank">TabActivity</a>. Ésta clase es la que nos permitirá añadir pestañas a nuestra aplicación. La razón por la que utilizamos pestañas es para mostrar los datos y opciones de una manera mucho más limpia, por lo tanto, vamos a intentar hacerlo de la manera más limpia posible.</span></span></p>
<p><span style="color: #008000;"><span style="color: #000000;">Lo primero es crear el XML de la <em>Activity </em>principal que es donde alojaremos nuestras pestañas. Fijaros que el componente principal es un <em>TabHost </em>y dentro de el colocaremos un <em><a href="http://developer.android.com/reference/android/widget/LinearLayout.html" target="_blank">LinearLayout</a> </em>donde colgaremos cada una de las pestañas y un <em><a href="http://developer.android.com/reference/android/widget/FrameLayout.html" target="_blank">FrameLayout</a> </em>donde aparecerá el contenido de cada pestaña. De ésta manera el <em>TabHost </em>es quien se encargará de gestionar el movimiento entre pestañas.</span></span></p>
<p><strong><span style="font-size: medium;"><span style="color: #008000;">main.xml:</span></span></strong></p>
<pre class="brush: xml;">

&lt; ?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;

&lt;tabhost xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;
android:id=&quot;@android:id/tabhost&quot;
android:layout_width=&quot;fill_parent&quot;
android:layout_height=&quot;fill_parent&quot;&gt;

&lt;linearlayout android:orientation=&quot;vertical&quot;
android:layout_width=&quot;fill_parent&quot;
android:layout_height=&quot;fill_parent&quot;&gt;

&lt;tabwidget android:id=&quot;@android:id/tabs&quot;
android:layout_width=&quot;fill_parent&quot;
android:background=&quot;#f048&quot;
android:layout_height=&quot;68dip&quot;
android:paddingLeft=&quot;1dip&quot;
android:paddingRight=&quot;1dip&quot;
android:paddingTop=&quot;4dip&quot; /&gt;

&lt;framelayout android:id=&quot;@android:id/tabcontent&quot;
android:layout_width=&quot;fill_parent&quot;
android:layout_height=&quot;0dip&quot;
android:layout_weight=&quot;1&quot; /&gt;

&lt;/linearlayout&gt;

&lt;/tabhost&gt;
</pre>
<p>Para el propósito de éste tutorial no vamos a crear pestañas con muchos contenidos, pero cabe decir que como cada pestaña tiene su propio XML dentre de ellos podríamos poner cualquier componente, como ya veréis en entradas futuras. Por ahora vamos a crear 3 pestañas iguales donde mostraremos un texto diferente en cada una de ellas.</p>
<p><strong><span style="font-size: medium;"><span style="color: #008000;">tab1.xml:</span></span></strong></p>
<pre class="brush: xml;">

&lt; ?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;

&lt;linearlayout xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;
android:id=&quot;@+id/settings&quot;
android:orientation=&quot;vertical&quot;
android:layout_width=&quot;fill_parent&quot;
android:layout_height=&quot;fill_parent&quot;&gt;

&lt;textview android:layout_width=&quot;fill_parent&quot;
android:layout_height=&quot;wrap_content&quot;
android:text=&quot;@string/tab1_content&quot;
/&gt;
&lt;/linearlayout&gt;
</pre>
<p>Como podéis ver en el campo android:text del <em>TextView </em>indicamos que veremos el contenido de la variable <em>tab1_content</em> que se encuentra dentro del recurso <em>string</em>. Dentro de la carpeta <strong>res/values</strong> encontraréis el <em>strings.xml</em>, éste recurso se utiliza para guardar todas las variables de texto constantes de la aplicación. La finalidad del recurso values no se limita simplemente a los string, se pueden crear tantos ficheros como se quiera y guardar los valores que necesiteis: meses de una año, dias de la semana, valores numéricos, etc&#8230;</p>
<p><strong><span style="font-size: medium;"><span style="color: #008000;">strings.xml:</span></span></strong></p>
<pre class="brush: xml;">

&lt; ?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;
&lt;resources&gt;
&lt;string name=&quot;hello&quot;&gt;Hello World, MainActivity!&lt;/string&gt;
&lt;string name=&quot;app_name&quot;&gt;TabHost - mobiledev&lt;/string&gt;
&lt;string name=&quot;tab1&quot;&gt;Tab 1&lt;/string&gt;
&lt;string name=&quot;tab2&quot;&gt;Tab 2&lt;/string&gt;
&lt;string name=&quot;tab3&quot;&gt;Tab 3&lt;/string&gt;
&lt;string name=&quot;tab1_content&quot;&gt;Esto es el contenido de la pestaña 1&lt;/string&gt;
&lt;string name=&quot;tab2_content&quot;&gt;Esto es el contenido de la pestaña 2&lt;/string&gt;
&lt;string name=&quot;tab3_content&quot;&gt;Esto es el contenido de la pestaña 3&lt;/string&gt;
&lt;/resources&gt;
</pre>
<p>Bien, ya tenemos los XML  creados, ahora sólo falta que la aplicación los muestre. Para ello vamos al código de la Activity principal, desde allí vamos a llamar a 3 funciones que se encargarán de añadir las pestañas al <em>TabHost</em>. También añadiremos el icono a cada pestaña, normalmente se guardan dentro de res/drawables. Ése es el recurso donde se guardan los iconos o imágenes que necesitaremos en la aplicación.</p>
<p><strong><span style="font-size: medium;"><span style="color: #008000;">MainActivity.java:</span></span></strong></p>
<pre class="brush: java;">

/*
* Pestaña 1
*/

private void añadirTab1() {

Intent intent = new Intent(this, Tab1.class);

TabSpec spec = mTabHost.newTabSpec(TAG_TAB_1);
spec.setIndicator(mResources.getString(R.string.tab1), mResources
.getDrawable(R.drawable.tab1));
spec.setContent(intent);

mTabHost.addTab(spec);
}
</pre>
<p>Hemos creado 3 nuevas clases, una para cada pestaña. Hasta el momento tenemos los recursos visuales, hemos añadido las 3 pestañas al TabHost pero falta indicar a cada pestaña que debe mostrar su contenido. Como sólo vamos a mostrar un texto la clase <strong>Tab </strong>sólo extenderá <strong>Activity </strong>(que es la actividad básica de Android), pero no habría problema en extender cualquier otra clase existente.</p>
<p><strong><span style="font-size: medium;"><span style="color: #008000;">Tab1.java:</span></span></strong></p>
<pre class="brush: java;">

package com.mobiledev;

import android.app.Activity;
import android.os.Bundle;

public class Tab1 extends Activity{

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.tab1);
}
}
</pre>
<p>Parece que ya lo tenemos todo, el aspecto visual, las clases que utilizaremos pero falta una última cosa por hacer. Cada vez que añadamos una nueva clase al <strong>Proyecto </strong>debemos indicarselo al <a href="http://developer.android.com/guide/topics/manifest/manifest-intro.html" target="_blank">AndroidManifest</a>. El manifesto provee información esencial sobre la aplicación que el sistema debe tener antes de ejecutar el código de la aplicación, también es el encargado de indicar los permisos que tienen las clases para acceder a las diferentes API. Aquí es donde tenemos que indicar que nuestra aplicación tiene 3 clases más.</p>
<p><strong><span style="font-size: medium;"><span style="color: #008000;">AndroidManifest.xml:</span></span></strong></p>
<pre class="brush: xml;">

&lt; ?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;
&lt;manifest xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;
package=&quot;com.mobiledev&quot;
android:versionCode=&quot;1&quot;
android:versionName=&quot;1.0&quot;&gt;
&lt;application android:icon=&quot;@drawable/icon&quot; android:label=&quot;@string/app_name&quot;&gt;
&lt;activity android:name=&quot;.MainActivity&quot;
android:label=&quot;@string/app_name&quot;&gt;
&lt;intent -filter&gt;
&lt;action android:name=&quot;android.intent.action.MAIN&quot; /&gt;
&lt;category android:name=&quot;android.intent.category.LAUNCHER&quot; /&gt;
&lt;/intent&gt;
&lt;/activity&gt;
&lt;activity android:name=&quot;Tab1&quot; android:label=&quot;@string/tab1&quot;&gt;&lt;/activity&gt;
&lt;activity android:name=&quot;Tab2&quot; android:label=&quot;@string/tab2&quot;&gt;&lt;/activity&gt;
&lt;activity android:name=&quot;Tab3&quot; android:label=&quot;@string/tab3&quot;&gt;&lt;/activity&gt;
&lt;/application&gt;
&lt;uses -sdk android:minSdkVersion=&quot;3&quot; /&gt;
&lt;/manifest&gt;
</pre>
<p>Ahora si, ya estamos listos para ejecutar la aplicación.
</p>
<p style="text-align: center;"><img class="size-full wp-image-119 aligncenter" title="tuto2-1" src="http://www.tech-xperience.com/mobiledev/wp-content/uploads/2009/07/tuto2-12.jpg" alt="tuto2-1" width="282" height="542" /></p>
<p><strong><span style="font-size: medium;"><span style="color: #008000;">Código fuente: </span></span></strong><span style="color: #008000;"><span style="color: #000000;"><em> </em>[tweetmeme]</span></span></p>
<p><table style="border: 1px solid #CCC;" cellpadding="3" width="100%">
  <tr>
    <td width="35">
      <img src="http://mobile.davidocs.com/wp-content/plugins/downloads-manager/img/icons/winrar.gif" alt="http://mobile.davidocs.com/wp-content/plugins/downloads-manager/img/icons/winrar.gif">
    </td>
    <td>
      <b>download:</b> <a href="http://mobile.davidocs.com/?file_id=2">TabHost</a> <small>(53.36KB)</small><br />
      <b>added:</b> 30/10/2009 <br />
      <b>clicks:</b> 370 <br />
      <b>description:</b> Ejemplo de utilización de un TabHost con 3 pestañas, cada pestaña con su propia Activity y XML. <br />
    </td>
  </tr>
</table></p>



Comparte:


	<a rel="nofollow"  target="_blank" href="http://www.facebook.com/share.php?u=http%3A%2F%2Fmobile.davidocs.com%2Fandroid%2Fdisenando-la-aplicacion-uso-de-tabhost-en-android%2F&amp;t=Dise%C3%B1ando%20la%20aplicaci%C3%B3n%2C%20uso%20de%20TabHost%20en%20Android" title="Facebook"><img src="http://mobile.davidocs.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://bitacoras.com/anotaciones/http%3A%2F%2Fmobile.davidocs.com%2Fandroid%2Fdisenando-la-aplicacion-uso-de-tabhost-en-android%2F" title="Bitacoras.com"><img src="http://mobile.davidocs.com/wp-content/plugins/sociable/images/bitacoras.png" title="Bitacoras.com" alt="Bitacoras.com" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://meneame.net/submit.php?url=http%3A%2F%2Fmobile.davidocs.com%2Fandroid%2Fdisenando-la-aplicacion-uso-de-tabhost-en-android%2F" title="Meneame"><img src="http://mobile.davidocs.com/wp-content/plugins/sociable/images/meneame.png" title="Meneame" alt="Meneame" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.wikio.it/vote?url=http%3A%2F%2Fmobile.davidocs.com%2Fandroid%2Fdisenando-la-aplicacion-uso-de-tabhost-en-android%2F" title="Wikio IT"><img src="http://mobile.davidocs.com/wp-content/plugins/sociable/images/wikio.png" title="Wikio IT" alt="Wikio IT" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fmobile.davidocs.com%2Fandroid%2Fdisenando-la-aplicacion-uso-de-tabhost-en-android%2F&amp;title=Dise%C3%B1ando%20la%20aplicaci%C3%B3n%2C%20uso%20de%20TabHost%20en%20Android&amp;bodytext=Anteriormente%20vimos%20c%C3%B3mo%20crear%20nuestra%20primera%20aplicaci%C3%B3n.%20A%20partir%20de%20ahora%20seguiremos%20el%20proceso%20de%20desarrollo%20de%20una%20aplicaci%C3%B3n%2C%20intentando%20profundizar%20en%20los%20aspectos%20m%C3%A1s%20importantes%20desde%20el%20punto%20de%20vista%20de%20un%20novato%20en%20el%20tema.%0D%0A%0D%0AComo%20si" title="Digg"><img src="http://mobile.davidocs.com/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://delicious.com/post?url=http%3A%2F%2Fmobile.davidocs.com%2Fandroid%2Fdisenando-la-aplicacion-uso-de-tabhost-en-android%2F&amp;title=Dise%C3%B1ando%20la%20aplicaci%C3%B3n%2C%20uso%20de%20TabHost%20en%20Android&amp;notes=Anteriormente%20vimos%20c%C3%B3mo%20crear%20nuestra%20primera%20aplicaci%C3%B3n.%20A%20partir%20de%20ahora%20seguiremos%20el%20proceso%20de%20desarrollo%20de%20una%20aplicaci%C3%B3n%2C%20intentando%20profundizar%20en%20los%20aspectos%20m%C3%A1s%20importantes%20desde%20el%20punto%20de%20vista%20de%20un%20novato%20en%20el%20tema.%0D%0A%0D%0AComo%20si" title="del.icio.us"><img src="http://mobile.davidocs.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.friendfeed.com/share?title=Dise%C3%B1ando%20la%20aplicaci%C3%B3n%2C%20uso%20de%20TabHost%20en%20Android&amp;link=http%3A%2F%2Fmobile.davidocs.com%2Fandroid%2Fdisenando-la-aplicacion-uso-de-tabhost-en-android%2F" title="FriendFeed"><img src="http://mobile.davidocs.com/wp-content/plugins/sociable/images/friendfeed.png" title="FriendFeed" alt="FriendFeed" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://news.ycombinator.com/submitlink?u=http%3A%2F%2Fmobile.davidocs.com%2Fandroid%2Fdisenando-la-aplicacion-uso-de-tabhost-en-android%2F&amp;t=Dise%C3%B1ando%20la%20aplicaci%C3%B3n%2C%20uso%20de%20TabHost%20en%20Android" title="HackerNews"><img src="http://mobile.davidocs.com/wp-content/plugins/sociable/images/hackernews.png" title="HackerNews" alt="HackerNews" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://technorati.com/faves?add=http%3A%2F%2Fmobile.davidocs.com%2Fandroid%2Fdisenando-la-aplicacion-uso-de-tabhost-en-android%2F" title="Technorati"><img src="http://mobile.davidocs.com/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a>


<br/><br/>

<p>Entradas relacionadas:<ol><li><a href='http://mobile.davidocs.com/android/primeros-pasos-con-android/' rel='bookmark' title='Permanent Link: Primeros pasos con Android'>Primeros pasos con Android</a></li>
<li><a href='http://mobile.davidocs.com/android/creando-la-primera-aplicacion-con-android/' rel='bookmark' title='Permanent Link: Creando la primera aplicación con Android'>Creando la primera aplicación con Android</a></li>
<li><a href='http://mobile.davidocs.com/android/ciclo-de-vida-de-una-activity-lifecycle/' rel='bookmark' title='Permanent Link: Ciclo de vida de una Activity (Lifecycle)'>Ciclo de vida de una Activity (Lifecycle)</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://mobile.davidocs.com/android/disenando-la-aplicacion-uso-de-tabhost-en-android/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
