<?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>Ubicuos.com &#187; java</title>
	<atom:link href="http://www.ubicuos.com/tag/java/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.ubicuos.com</link>
	<description>Tecnología,Programación, Proyectos, Ciencia y Empresas</description>
	<lastBuildDate>Tue, 06 Sep 2011 01:01:10 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>Crear, Compilar y Ejecutar programas JAVA en iPhone y iPod Touch</title>
		<link>http://www.ubicuos.com/2011/01/18/crear-compilar-y-ejecutar-programas-java-en-iphone-y-ipod-touch/</link>
		<comments>http://www.ubicuos.com/2011/01/18/crear-compilar-y-ejecutar-programas-java-en-iphone-y-ipod-touch/#comments</comments>
		<pubDate>Tue, 18 Jan 2011 23:01:42 +0000</pubDate>
		<dc:creator>Jorge</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[Software Libre]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[ipod]]></category>
		<category><![CDATA[java]]></category>

		<guid isPermaLink="false">http://www.ubicuos.com/?p=2540</guid>
		<description><![CDATA[Cuentále a tus amigos en Facebook Para aquellos que les gusta programar en Java en cualquier momento, aquí les dejo un tutorial sobre como programar en java en tu iPhone ó iPod Touch. Elementos con los que se realizaron este tutorial. iPod Touch 4. JailBreak Cydia Bién, vamos a instalar los componentes para poder Crear, [...]]]></description>
			<content:encoded><![CDATA[<div align="left" style="padding: 0px 5px 5px 0px; clear: left; float: left;"><a name="fb_share" type="button_count" share_url="http://www.ubicuos.com/2011/01/18/crear-compilar-y-ejecutar-programas-java-en-iphone-y-ipod-touch/">Cuentále a tus amigos en Facebook</a></div><div class="tweetmeme_button" style="float: left; margin-left: 10px;width:90px">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.ubicuos.com%2F2011%2F01%2F18%2Fcrear-compilar-y-ejecutar-programas-java-en-iphone-y-ipod-touch%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.ubicuos.com%2F2011%2F01%2F18%2Fcrear-compilar-y-ejecutar-programas-java-en-iphone-y-ipod-touch%2F&amp;style=compact&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Para aquellos que les gusta programar en Java en cualquier momento, aquí les dejo un tutorial sobre como programar en java en tu iPhone ó iPod Touch.</p>
<p>Elementos con los que se realizaron este tutorial.</p>
<ul>
<li>iPod Touch 4.</li>
<li>JailBreak</li>
<li>Cydia</li>
</ul>
<p>Bién, vamos a instalar los componentes para poder Crear, Compilar y Ejecutar nuestros archivos .java.</p>
<p>Entramos a Cydia y nos vamos a la opción &#8220;Manage&#8221;, seleccionamos &#8220;Settings&#8221; y seleccionamos la opción &#8220;Developer (No Filters)&#8221;.</p>
<div id="attachment_2541" class="wp-caption aligncenter" style="width: 330px"><img class="size-full wp-image-2541" title="IMG_0590" src="http://www.ubicuos.com/wp-content/uploads/2011/01/IMG_0590.png" alt="" width="320" height="480" /><p class="wp-caption-text">Seleccionamos &quot;Settings&quot;</p></div>
<div id="attachment_2542" class="wp-caption aligncenter" style="width: 330px"><img class="size-full wp-image-2542" title="IMG_0591" src="http://www.ubicuos.com/wp-content/uploads/2011/01/IMG_0591.png" alt="" width="320" height="480" /><p class="wp-caption-text">Seleccionamos &quot;Developer (No Filters)&quot;</p></div>
<p style="text-align: justify;"><span id="more-2540"></span>Ahora nos vamos a la opción &#8220;Sections&#8221; y buscamos &#8220;Java&#8221;, una vez dentro instalamos <strong>Classpath</strong>, <strong>JamVM</strong> y <strong>Jikes</strong>.</p>
<div id="attachment_2543" class="wp-caption aligncenter" style="width: 330px"><img class="size-full wp-image-2543" title="IMG_0592" src="http://www.ubicuos.com/wp-content/uploads/2011/01/IMG_0592.png" alt="" width="320" height="480" /><p class="wp-caption-text">Seleccionamos &quot;Java&quot;</p></div>
<div id="attachment_2544" class="wp-caption aligncenter" style="width: 330px"><img class="size-full wp-image-2544" title="IMG_0593" src="http://www.ubicuos.com/wp-content/uploads/2011/01/IMG_0593.png" alt="" width="320" height="480" /><p class="wp-caption-text">Instalamos Classpath y JamVM</p></div>
<div id="attachment_2545" class="wp-caption aligncenter" style="width: 330px"><img class="size-full wp-image-2545" title="IMG_0594" src="http://www.ubicuos.com/wp-content/uploads/2011/01/IMG_0594.png" alt="" width="320" height="480" /><p class="wp-caption-text">Instalamos Jikes</p></div>
<p style="text-align: justify;">Ahora vamos a instalar el iEdit que es el que nos va a servir para crear nuestros archivos desde el iPod/iPhone y también instalaremos MobileTerminal que es donde vamos a ejecutar nuestros programas. Abrimos el &#8220;Search&#8221; de Cydia y buscamos cada programa y los instalamos.</p>
<p style="text-align: justify;">
<div id="attachment_2546" class="wp-caption aligncenter" style="width: 330px"><img class="size-full wp-image-2546" title="IMG_0595" src="http://www.ubicuos.com/wp-content/uploads/2011/01/IMG_0595.png" alt="" width="320" height="480" /><p class="wp-caption-text">Programa para crear los archivos .java</p></div>
<div id="attachment_2547" class="wp-caption aligncenter" style="width: 330px"><img class="size-full wp-image-2547" title="IMG_0596" src="http://www.ubicuos.com/wp-content/uploads/2011/01/IMG_0596.png" alt="" width="320" height="480" /><p class="wp-caption-text">Terminal para compilar y ejecutar nuestros programas</p></div>
<p style="text-align: justify;">Una vez instalado Todo, vamos a entrar al iEdit para empesar a programar.</p>
<p style="text-align: justify;">Cuando abrimos el iEdit nos posiciona en la carpeta Documents de nuestro dispositivo, vamos a crear una carpeta llamada &#8220;Java&#8221; donde crearemos nuestros programas. Para ello solo tocamos el simbolo de &#8220;+&#8221; y cuando nos pida el nombre seleccionamos la opción &#8220;Folder&#8221; que indicará que crearemos una carpeta.</p>
<p style="text-align: justify;">
<div id="attachment_2548" class="wp-caption aligncenter" style="width: 330px"><img class="size-full wp-image-2548" title="IMG_0597" src="http://www.ubicuos.com/wp-content/uploads/2011/01/IMG_0597.png" alt="" width="320" height="480" /><p class="wp-caption-text">Seleccionamos la opción &quot;+&quot;</p></div>
<div id="attachment_2549" class="wp-caption aligncenter" style="width: 330px"><img class="size-full wp-image-2549" title="IMG_0598" src="http://www.ubicuos.com/wp-content/uploads/2011/01/IMG_0598.png" alt="" width="320" height="480" /><p class="wp-caption-text">Activamos la opción &quot;Folder&quot;</p></div>
<div id="attachment_2550" class="wp-caption aligncenter" style="width: 330px"><img class="size-full wp-image-2550" title="IMG_0599" src="http://www.ubicuos.com/wp-content/uploads/2011/01/IMG_0599.png" alt="" width="320" height="480" /><p class="wp-caption-text">Carpeta &quot;Java&quot; Creada</p></div>
<p style="text-align: justify;">Ahora seleccionamos &#8220;Java&#8221; para acceder a la carpeta y crear nuestro programa.</p>
<p style="text-align: justify;">En esta ocación vamos a crear un programa para calcular el factorial de un número. Lo haremos en dos archivos, uno se llamará Operations.java que contendrá la función para calcular el factorial y el otro se llamará Factorial.java que será nuestro programa principal.</p>
<p style="text-align: justify;">Para crear un archivo lo hacemos de la misma manera que creamos la carpeta, solo que activamos la opción File.</p>
<p style="text-align: justify;">Creamos el archivo Operations.java</p>
<p style="text-align: justify;">
<div id="attachment_2551" class="wp-caption aligncenter" style="width: 330px"><img class="size-full wp-image-2551" title="IMG_0600" src="http://www.ubicuos.com/wp-content/uploads/2011/01/IMG_0600.png" alt="" width="320" height="480" /><p class="wp-caption-text">Seleccionamos la opción File</p></div>
<div id="attachment_2552" class="wp-caption aligncenter" style="width: 330px"><img class="size-full wp-image-2552" title="IMG_0601" src="http://www.ubicuos.com/wp-content/uploads/2011/01/IMG_0601.png" alt="" width="320" height="480" /><p class="wp-caption-text">Seleccionamos el archivo para abrirlo</p></div>
<div id="attachment_2553" class="wp-caption aligncenter" style="width: 650px"><img class="size-full wp-image-2553" title="IMG_0602" src="http://www.ubicuos.com/wp-content/uploads/2011/01/IMG_0602.png" alt="" width="640" height="960" /><p class="wp-caption-text">Código del archivo Operations.java</p></div>
<p>Creamos el archivo Factorial.java</p>
<div id="attachment_2554" class="wp-caption aligncenter" style="width: 330px"><img class="size-full wp-image-2554" title="IMG_0603" src="http://www.ubicuos.com/wp-content/uploads/2011/01/IMG_0603.png" alt="" width="320" height="480" /><p class="wp-caption-text">Activamos la opción File</p></div>
<div id="attachment_2555" class="wp-caption aligncenter" style="width: 650px"><img class="size-full wp-image-2555" title="IMG_0604" src="http://www.ubicuos.com/wp-content/uploads/2011/01/IMG_0604.png" alt="" width="640" height="960" /><p class="wp-caption-text">Código del archivo Factorial.java</p></div>
<p>Ya que tenemos los archivos creados vamos a compilarlos y ejecutarlos. Para ellos abrimos el programa Terminal y nos vamos a desplazar hasta la carpeta Java que creamos dentro de documents.</p>
<p style="text-align: center;">
<div id="attachment_2556" class="wp-caption aligncenter" style="width: 733px"><img class="size-full wp-image-2556 " title="IMG_0605" src="http://www.ubicuos.com/wp-content/uploads/2011/01/IMG_0605.png" alt="" width="723" height="482" /><p class="wp-caption-text">Nos desplazamos hasta la carpeta Java</p></div>
<p>Ahora compilamos nuestros archivos con el comando jikes archivo.java</p>
<div id="attachment_2557" class="wp-caption aligncenter" style="width: 733px"><img class="size-full wp-image-2557" title="IMG_0606" src="http://www.ubicuos.com/wp-content/uploads/2011/01/IMG_0606.png" alt="" width="723" height="482" /><p class="wp-caption-text">Compilamos los archivos</p></div>
<p>Y finalmente ejecutamos el programa con el comando java archivo</p>
<div id="attachment_2558" class="wp-caption aligncenter" style="width: 733px"><img class="size-full wp-image-2558" title="IMG_0607" src="http://www.ubicuos.com/wp-content/uploads/2011/01/IMG_0607.png" alt="" width="723" height="482" /><p class="wp-caption-text">Compilamos nuestro programa</p></div>
<p style="text-align: justify;">Listo!!</p>
<p style="text-align: justify;">Espero sea de grán ayuda..</p>
<p style="text-align: justify;">Dudas, comentarios y/ó sugerencias no duden en hacerlas llegar..</p>
<p style="text-align: justify;">Saludos!!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ubicuos.com/2011/01/18/crear-compilar-y-ejecutar-programas-java-en-iphone-y-ipod-touch/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Geolocalizar con Java y YahooMaps</title>
		<link>http://www.ubicuos.com/2010/09/16/geolocalizar-con-java-y-yahoomaps/</link>
		<comments>http://www.ubicuos.com/2010/09/16/geolocalizar-con-java-y-yahoomaps/#comments</comments>
		<pubDate>Thu, 16 Sep 2010 21:05:50 +0000</pubDate>
		<dc:creator>Jorge</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[Software Libre]]></category>
		<category><![CDATA[cartografia]]></category>
		<category><![CDATA[gis]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[mapas]]></category>
		<category><![CDATA[yahoo]]></category>

		<guid isPermaLink="false">http://www.ubicuos.com/?p=2199</guid>
		<description><![CDATA[Cuentále a tus amigos en Facebook Hace un par de meses publiqué como Geolocalizar con C# y GoogleMaps, ahora aquí está otra alternativa para hacerlo, se trata de Java y YahooMaps. El método es realmente simple.. Vámos a ello.. Para realizar la aplicación separé el código en cinco archivos difentes, uno por cada clase.. Clase [...]]]></description>
			<content:encoded><![CDATA[<div align="left" style="padding: 0px 5px 5px 0px; clear: left; float: left;"><a name="fb_share" type="button_count" share_url="http://www.ubicuos.com/2010/09/16/geolocalizar-con-java-y-yahoomaps/">Cuentále a tus amigos en Facebook</a></div><div class="tweetmeme_button" style="float: left; margin-left: 10px;width:90px">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.ubicuos.com%2F2010%2F09%2F16%2Fgeolocalizar-con-java-y-yahoomaps%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.ubicuos.com%2F2010%2F09%2F16%2Fgeolocalizar-con-java-y-yahoomaps%2F&amp;style=compact&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Hace un par de meses publiqué como <a href="http://www.ubicuos.com/2010/07/19/geolocalizar-con-csharp-y-googlemaps/">Geolocalizar con C# y GoogleMaps</a>, ahora aquí está otra alternativa para hacerlo, se trata de Java y YahooMaps.</p>
<p>El método es realmente simple.. Vámos a ello..</p>
<p>Para realizar la aplicación separé el código en cinco archivos difentes, uno por cada clase..</p>
<p><strong>Clase Address:</strong> Esta clase se encagará de almacenar la dirección que querramos geolocalizar.</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> Address <span style="color: #009900;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">private</span> <span style="color: #003399;">String</span> address<span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">public</span> Address<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><span style="color: #009900;">&#125;</span>
	<span style="color: #000000; font-weight: bold;">public</span> Address<span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span> address<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span> <span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">address</span> <span style="color: #339933;">=</span> address<span style="color: #339933;">;</span>	<span style="color: #009900;">&#125;</span>
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> setAddress<span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span> address<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span> <span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">address</span> <span style="color: #339933;">=</span> address<span style="color: #339933;">;</span><span style="color: #009900;">&#125;</span>
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #003399;">String</span> toString<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span> <span style="color: #000000; font-weight: bold;">return</span> <span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">address</span><span style="color: #339933;">;</span><span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p><strong>Clase Coordinates:</strong> Esta clase se encargará de almacenar el nombre completo de la ciudad, la longitud y la latitud de la dirección que querramos geolocalizar.</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> Coordinates <span style="color: #009900;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">private</span> <span style="color: #003399;">String</span> latitude <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;&quot;</span>, longitude <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;&quot;</span>, city <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;&quot;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> setCity<span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span> city<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> <span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">city</span> <span style="color: #339933;">=</span> city<span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span>
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #003399;">String</span> getCity<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> <span style="color: #000000; font-weight: bold;">return</span> city<span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span>
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #003399;">String</span> getLongitude<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> <span style="color: #000000; font-weight: bold;">return</span> longitude<span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span>
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> setLongitude<span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span> longitude<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> <span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">longitude</span> <span style="color: #339933;">=</span> longitude<span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span>
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #003399;">String</span> getLatitude<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> <span style="color: #000000; font-weight: bold;">return</span> latitude<span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span>
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> setLatitude<span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span> latitude<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> <span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">latitude</span> <span style="color: #339933;">=</span> latitude<span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p><strong>Clase YahooXmlReader: </strong>Cuando nosotros geolocalizamos una dirección, esta se extrae en formato XML, y se requiere cierto proceso para extraer los datos que necesitamos (Ciudad, Longitud y Latitud), en esta clase tenemos una función llamada readConfig que se encarga de analizar el código XML y extraer los datos (Ciuda, Logitud y Latitud) y almacenarlos en un objeto de tipo Coordinates.</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.io.InputStream</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javax.xml.stream.XMLEventReader</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javax.xml.stream.XMLInputFactory</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javax.xml.stream.XMLStreamException</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javax.xml.stream.events.XMLEvent</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> YahooXmlReader
<span style="color: #009900;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> Coordinates readConfig<span style="color: #009900;">&#40;</span><span style="color: #003399;">InputStream</span> in<span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
		Coordinates coordinates <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Coordinates<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000000; font-weight: bold;">try</span> <span style="color: #009900;">&#123;</span>
			XMLInputFactory inputFactory <span style="color: #339933;">=</span> XMLInputFactory.<span style="color: #006633;">newInstance</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			XMLEventReader eventReader <span style="color: #339933;">=</span> inputFactory.<span style="color: #006633;">createXMLEventReader</span><span style="color: #009900;">&#40;</span>in<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
			<span style="color: #666666; font-style: italic;">//Leer el XML</span>
			<span style="color: #000000; font-weight: bold;">while</span> <span style="color: #009900;">&#40;</span>eventReader.<span style="color: #006633;">hasNext</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
			<span style="color: #009900;">&#123;</span>
				XMLEvent event <span style="color: #339933;">=</span> eventReader.<span style="color: #006633;">nextEvent</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>event.<span style="color: #006633;">isStartElement</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
				<span style="color: #009900;">&#123;</span>
					<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>event.<span style="color: #006633;">asStartElement</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">getName</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">getLocalPart</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;City&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
					<span style="color: #009900;">&#123;</span>
						event <span style="color: #339933;">=</span> eventReader.<span style="color: #006633;">nextEvent</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
						coordinates.<span style="color: #006633;">setCity</span><span style="color: #009900;">&#40;</span>event.<span style="color: #006633;">asCharacters</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">getData</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
						<span style="color: #000000; font-weight: bold;">continue</span><span style="color: #339933;">;</span>
					<span style="color: #009900;">&#125;</span>
					<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>event.<span style="color: #006633;">asStartElement</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">getName</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">getLocalPart</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Latitude&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
					<span style="color: #009900;">&#123;</span>
						event <span style="color: #339933;">=</span> eventReader.<span style="color: #006633;">nextEvent</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
						coordinates.<span style="color: #006633;">setLatitude</span><span style="color: #009900;">&#40;</span>event.<span style="color: #006633;">asCharacters</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">getData</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
						<span style="color: #000000; font-weight: bold;">continue</span><span style="color: #339933;">;</span>
					<span style="color: #009900;">&#125;</span>
					<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>event.<span style="color: #006633;">asStartElement</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">getName</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">getLocalPart</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Longitude&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
					<span style="color: #009900;">&#123;</span>
						event <span style="color: #339933;">=</span> eventReader.<span style="color: #006633;">nextEvent</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
						coordinates.<span style="color: #006633;">setLongitude</span><span style="color: #009900;">&#40;</span>event.<span style="color: #006633;">asCharacters</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">getData</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
						<span style="color: #000000; font-weight: bold;">continue</span><span style="color: #339933;">;</span>
					<span style="color: #009900;">&#125;</span>
				<span style="color: #009900;">&#125;</span>
			<span style="color: #009900;">&#125;</span>
		<span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span>XMLStreamException e<span style="color: #009900;">&#41;</span>
		<span style="color: #009900;">&#123;</span>
			e.<span style="color: #006633;">printStackTrace</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
		<span style="color: #000000; font-weight: bold;">return</span> coordinates<span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p><strong>Clase Geocoder:</strong> En esta clase se hace la geolocalización, en el método geocode se pasa como parametro la dirección a geolocalizar, se extrae el código XML y se manda a llamar al método readConfig de la clase YahooXmlReader la cual regresa un objeto de tipo Coordinates ya con los datos almacenados. Tambien cuenta con un método llamado createLocation que reemplaza los espacios en blanco &#8221; &#8221; por simbolos de &#8220;más&#8221; (+).</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.net.URL</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> Geocoder
<span style="color: #009900;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000000; font-weight: bold;">final</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #003399;">String</span> YAHOOURL <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;http://local.yahooapis.com/MapsService/V1/geocode&quot;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">public</span> Coordinates geocode<span style="color: #009900;">&#40;</span>Address address<span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
		Coordinates geocoordinates <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #339933;">;</span>
		<span style="color: #003399;">String</span> web <span style="color: #339933;">=</span> YAHOOURL <span style="color: #339933;">+</span> <span style="color: #0000ff;">&quot;?appid=1&amp;amp;location=&quot;</span><span style="color: #339933;">+</span> createLocation<span style="color: #009900;">&#40;</span>address<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #003399;">URL</span> url<span style="color: #339933;">;</span>
		<span style="color: #000000; font-weight: bold;">try</span>
		<span style="color: #009900;">&#123;</span>
			url <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">URL</span><span style="color: #009900;">&#40;</span>web<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #003399;">InputStream</span> in <span style="color: #339933;">=</span> url.<span style="color: #006633;">openStream</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			geocoordinates <span style="color: #339933;">=</span> YahooXmlReader.<span style="color: #006633;">readConfig</span><span style="color: #009900;">&#40;</span>in<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			in.<span style="color: #006633;">close</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span><span style="color: #003399;">MalformedURLException</span> e<span style="color: #009900;">&#41;</span>
		<span style="color: #009900;">&#123;</span>
			e.<span style="color: #006633;">printStackTrace</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span><span style="color: #003399;">IOException</span> e<span style="color: #009900;">&#41;</span>
		<span style="color: #009900;">&#123;</span>
			e.<span style="color: #006633;">printStackTrace</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
		<span style="color: #000000; font-weight: bold;">return</span> geocoordinates<span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">private</span> <span style="color: #003399;">String</span> createLocation<span style="color: #009900;">&#40;</span>Address address<span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
		<span style="color: #003399;">String</span> adrs<span style="color: #339933;">=</span>address.<span style="color: #006633;">toString</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>adrs.<span style="color: #006633;">endsWith</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;+&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
		<span style="color: #009900;">&#123;</span>
			adrs <span style="color: #339933;">=</span> adrs.<span style="color: #006633;">substring</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span>, adrs.<span style="color: #006633;">length</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">-</span> <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
		adrs <span style="color: #339933;">=</span> adrs.<span style="color: #006633;">replace</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot; &quot;</span>, <span style="color: #0000ff;">&quot;+&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000000; font-weight: bold;">return</span> adrs<span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p><strong>Clase jMain: </strong>Esta clase es la que contruye la pantalla principal, tiene una clase interna la cual maneja los eventos del botón, dentro de la clase managerButton está el método actionPerformed que es donde vamos a mandar a llamar nuestro métodos de geolocalización.</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.awt.*</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.awt.event.*</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javax.swing.*</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> jMain <span style="color: #000000; font-weight: bold;">extends</span> <span style="color: #003399;">JFrame</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">private</span> <span style="color: #003399;">JButton</span> btnSearch<span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">private</span> <span style="color: #003399;">JTextField</span> txtSearch<span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">private</span> <span style="color: #003399;">JTextArea</span> txtResult<span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #666666; font-style: italic;">// Configurar GUI</span>
	<span style="color: #000000; font-weight: bold;">public</span> jMain<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">super</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">&quot;Geocoding con Java y YahooMaps&quot;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #666666; font-style: italic;">// Cbtener panel de contenido y establecer su esquema</span>
		<span style="color: #003399;">Container</span> content <span style="color: #339933;">=</span> getContentPane<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		content.<span style="color: #006633;">setLayout</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #666666; font-style: italic;">// Crear botones y cajas de texto</span>
&nbsp;
		txtSearch<span style="color: #339933;">=</span><span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">JTextField</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		txtResult<span style="color: #339933;">=</span><span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">JTextArea</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #003399;">Icon</span> quake1 <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">ImageIcon</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">&quot;quake1.png&quot;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #003399;">Icon</span> quake2 <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">ImageIcon</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">&quot;quake2.png&quot;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		btnSearch <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">JButton</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot; Search &quot;</span>, quake1 <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		btnSearch.<span style="color: #006633;">setRolloverIcon</span><span style="color: #009900;">&#40;</span> quake2 <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		btnSearch.<span style="color: #006633;">setBounds</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">500</span>,<span style="color: #cc66cc;">40</span>,<span style="color: #cc66cc;">100</span>,<span style="color: #cc66cc;">20</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		txtSearch.<span style="color: #006633;">setBounds</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">90</span>,<span style="color: #cc66cc;">40</span>,<span style="color: #cc66cc;">400</span>,<span style="color: #cc66cc;">20</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		txtResult.<span style="color: #006633;">setBounds</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">90</span>,<span style="color: #cc66cc;">70</span>,<span style="color: #cc66cc;">400</span>,<span style="color: #cc66cc;">100</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		content.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span>btnSearch<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		content.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span>txtSearch<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		content.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span>txtResult<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #666666; font-style: italic;">// Crear una instancia de la clase interna managerButton</span>
		<span style="color: #666666; font-style: italic;">// a usar para el manejo de eventos de botones</span>
&nbsp;
		managerButton manager <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> managerButton<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		btnSearch.<span style="color: #006633;">addActionListener</span><span style="color: #009900;">&#40;</span>manager<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #666666; font-style: italic;">//Damos medidas y visibilidad a nuestra pantalla</span>
		setSize<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">700</span>,<span style="color: #cc66cc;">250</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		setVisible<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #666666; font-style: italic;">//Método principal de nuestro programa</span>
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">void</span> main<span style="color: #009900;">&#40;</span> <span style="color: #003399;">String</span> args<span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
		<span style="color: #003399;">JFrame</span>.<span style="color: #006633;">setDefaultLookAndFeelDecorated</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #003399;">JDialog</span>.<span style="color: #006633;">setDefaultLookAndFeelDecorated</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		jMain aplicacion <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> jMain<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		aplicacion.<span style="color: #006633;">setDefaultCloseOperation</span><span style="color: #009900;">&#40;</span> <span style="color: #003399;">JFrame</span>.<span style="color: #006633;">EXIT_ON_CLOSE</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #666666; font-style: italic;">// Clase interna para el manejo de eventos de botón</span>
	<span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000000; font-weight: bold;">class</span> managerButton <span style="color: #000000; font-weight: bold;">implements</span> <span style="color: #003399;">ActionListener</span>
	<span style="color: #009900;">&#123;</span>
		<span style="color: #666666; font-style: italic;">// Manejar evento de botón</span>
		<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> actionPerformed<span style="color: #009900;">&#40;</span> <span style="color: #003399;">ActionEvent</span> event <span style="color: #009900;">&#41;</span>
		<span style="color: #009900;">&#123;</span>
			<span style="color: #000000; font-weight: bold;">try</span><span style="color: #009900;">&#123;</span>
				txtResult.<span style="color: #006633;">setText</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//Limpiamos la caja donde vaciaremos los resultados</span>
&nbsp;
				Geocoder geocoder <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Geocoder<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
				<span style="color: #666666; font-style: italic;">//Hacemos el geocóding con la dirección establecida</span>
				Address address <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Address<span style="color: #009900;">&#40;</span>txtSearch.<span style="color: #006633;">getText</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				Coordinates coordinates <span style="color: #339933;">=</span> geocoder.<span style="color: #006633;">geocode</span><span style="color: #009900;">&#40;</span>address<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
				<span style="color: #003399;">String</span> city<span style="color: #339933;">=</span>coordinates.<span style="color: #006633;">getCity</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #003399;">String</span> longitude<span style="color: #339933;">=</span>coordinates.<span style="color: #006633;">getLongitude</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #003399;">String</span> latitude<span style="color: #339933;">=</span>coordinates.<span style="color: #006633;">getLatitude</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
				<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>city<span style="color: #339933;">!=</span><span style="color: #0000ff;">&quot;&quot;</span><span style="color: #009900;">&#41;</span>
				<span style="color: #009900;">&#123;</span>
					<span style="color: #666666; font-style: italic;">//Mostramos el resultado en pantalla</span>
					txtResult.<span style="color: #006633;">setText</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Ciudad = &quot;</span><span style="color: #339933;">+</span>city<span style="color: #339933;">+</span><span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>Longitud = &quot;</span><span style="color: #339933;">+</span>longitude<span style="color: #339933;">+</span><span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>Latitud = &quot;</span><span style="color: #339933;">+</span>latitude<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #009900;">&#125;</span>
				<span style="color: #000000; font-weight: bold;">else</span>
				<span style="color: #009900;">&#123;</span>
					<span style="color: #003399;">JOptionPane</span>.<span style="color: #006633;">showMessageDialog</span><span style="color: #009900;">&#40;</span>jMain.<span style="color: #000000; font-weight: bold;">this</span>,<span style="color: #0000ff;">&quot;No se encontró la dirección&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #009900;">&#125;</span>
			<span style="color: #009900;">&#125;</span><span style="color: #000000; font-weight: bold;">catch</span><span style="color: #009900;">&#40;</span><span style="color: #003399;">Exception</span> e<span style="color: #009900;">&#41;</span>
			<span style="color: #009900;">&#123;</span>
				<span style="color: #003399;">JOptionPane</span>.<span style="color: #006633;">showMessageDialog</span><span style="color: #009900;">&#40;</span>jMain.<span style="color: #000000; font-weight: bold;">this</span>,<span style="color: #0000ff;">&quot;No se encontró la dirección&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Eh aquí una muestrá de como queda la aplicación:</p>
<p><a href="http://www.ubicuos.com/wp-content/uploads/2010/09/result.png"><img class="aligncenter size-full wp-image-2200" title="result" src="http://www.ubicuos.com/wp-content/uploads/2010/09/result.png" alt="" width="700" height="250" /></a></p>
<p>Pueden descargar el código de aquí:</p>
<p><a href="http://www.ubicuos.com/wp-content/uploads/2010/09/geocoderjavayahoo.zip">geocoderjavayahoo.zip</a></p>
<p>Espero sea de grán ayuda!..</p>
<p>Dudas, comentarios, sugerencias y/ó saludos!, son bién recibidos..</p>
<p>Saludos!!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ubicuos.com/2010/09/16/geolocalizar-con-java-y-yahoomaps/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mona Lisa Processing</title>
		<link>http://www.ubicuos.com/2010/08/08/mona-lisa-processing/</link>
		<comments>http://www.ubicuos.com/2010/08/08/mona-lisa-processing/#comments</comments>
		<pubDate>Mon, 09 Aug 2010 05:16:46 +0000</pubDate>
		<dc:creator>Luis Alfredo</dc:creator>
				<category><![CDATA[Diseño]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[arte]]></category>
		<category><![CDATA[digital]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[mona lisa]]></category>
		<category><![CDATA[processing]]></category>

		<guid isPermaLink="false">http://www.ubicuos.com/?p=1958</guid>
		<description><![CDATA[Cuentále a tus amigos en Facebook En el presente tutorial mostraremos como reconstruir una imagen con Processing, para eso utilizaremos una obra del gran Leonardo Da Vinci la bella Mona Lisa, sin mas que agregar comencemos. PImage imagen; // Declaramos una variable de tipo PImage esto es para poder cargar una imagen void setup&#40;&#41;&#123; size&#40;375,525&#41;; [...]]]></description>
			<content:encoded><![CDATA[<div align="left" style="padding: 0px 5px 5px 0px; clear: left; float: left;"><a name="fb_share" type="button_count" share_url="http://www.ubicuos.com/2010/08/08/mona-lisa-processing/">Cuentále a tus amigos en Facebook</a></div><div class="tweetmeme_button" style="float: left; margin-left: 10px;width:90px">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.ubicuos.com%2F2010%2F08%2F08%2Fmona-lisa-processing%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.ubicuos.com%2F2010%2F08%2F08%2Fmona-lisa-processing%2F&amp;style=compact&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p><img class="aligncenter size-full wp-image-1959" src="http://www.ubicuos.com/wp-content/uploads/2010/08/processing_cover.gif" alt="" width="500" height="80" /></p>
<p>En el presente tutorial mostraremos como reconstruir una imagen con <strong>Processing</strong>, para eso utilizaremos una obra del gran Leonardo Da Vinci la bella Mona Lisa, sin mas que agregar comencemos.</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;">PImage imagen<span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// Declaramos una variable de tipo PImage esto es para poder cargar una imagen</span>
<span style="color: #000066; font-weight: bold;">void</span> setup<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
  size<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">375</span>,<span style="color: #cc66cc;">525</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  imagen <span style="color: #339933;">=</span> loadImage<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;monalisa.jpg&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//Cargamos la imagen en nuestro caso utilizamos la Mona Lisa pero ustedes pueden ocupar la que mas le guste</span>
  noStroke<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  rectMode<span style="color: #009900;">&#40;</span>CENTER<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  background<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">255</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #666666; font-style: italic;">//Bueno aqui viene la magia.</span>
<span style="color: #000066; font-weight: bold;">void</span> draw<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
  <span style="color: #000066; font-weight: bold;">float</span> des <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span>height<span style="color: #339933;">-</span>mouseY<span style="color: #009900;">&#41;</span> <span style="color: #339933;">/</span> <span style="color: #cc66cc;">20</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// Determina el nivel de desenfoque en función de la posición vertical del mouse</span>
  color este<span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// Declaramos una variable de tipo color en mi caso le puse este</span>
  <span style="color: #000066; font-weight: bold;">int</span> x <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">int</span><span style="color: #009900;">&#40;</span> random<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">154</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//Aquí toma una posición horizontal al azar de la imagen.</span>
  <span style="color: #000066; font-weight: bold;">int</span> y <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">int</span><span style="color: #009900;">&#40;</span> random<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">240</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//Aquí toma una posición vertical al azar de la imagen.</span>
  este <span style="color: #339933;">=</span> imagen.<span style="color: #006633;">get</span><span style="color: #009900;">&#40;</span>  x , y <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// Toma el color del pixel elegido al azar</span>
  fill<span style="color: #009900;">&#40;</span> red<span style="color: #009900;">&#40;</span>este<span style="color: #009900;">&#41;</span> , green<span style="color: #009900;">&#40;</span>este<span style="color: #009900;">&#41;</span> , blue<span style="color: #009900;">&#40;</span>este<span style="color: #009900;">&#41;</span> , <span style="color: #cc66cc;">100</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// Usa ese color como relleno dándoles cierta transparencia</span>
  stroke<span style="color: #009900;">&#40;</span>este<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//Usa ese mismo color en el contorno</span>
  <span style="color: #000066; font-weight: bold;">float</span> lado <span style="color: #339933;">=</span> random<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">3</span>,<span style="color: #cc66cc;">20</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//Elige el tamaño del cuadrado a dibujar</span>
  rect<span style="color: #009900;">&#40;</span> x <span style="color: #339933;">*</span> <span style="color: #cc66cc;">2</span><span style="color: #339933;">+</span><span style="color: #cc66cc;">25</span> , y <span style="color: #339933;">*</span> <span style="color: #cc66cc;">2</span><span style="color: #339933;">+</span><span style="color: #cc66cc;">25</span>, lado , lado <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//Pinta el cuadrado duplicando el tamaño del dibujo</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #000066; font-weight: bold;">void</span> mousePressed<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
  background<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">255</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//Pinta de Blanco</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.ubicuos.com/2010/08/08/mona-lisa-processing/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Crear un Árbol en Processing</title>
		<link>http://www.ubicuos.com/2010/07/15/crear-un-arbol-en-processing/</link>
		<comments>http://www.ubicuos.com/2010/07/15/crear-un-arbol-en-processing/#comments</comments>
		<pubDate>Fri, 16 Jul 2010 01:46:16 +0000</pubDate>
		<dc:creator>Luis Alfredo</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[Software Libre]]></category>
		<category><![CDATA[applet]]></category>
		<category><![CDATA[árbol]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[processing]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://www.ubicuos.com/?p=1605</guid>
		<description><![CDATA[Cuentále a tus amigos en Facebook En el Presente tutorial mostraremos como crear un árbol en Processing, sin mas que agregar comencemos: float ramas; void setup&#40;&#41; &#123; smooth&#40;&#41;; size&#40;700,500&#41;; background&#40;255&#41;; // Vamos a escoger un ángulo de 0 a 90 grados y convertir // Nuestra variable ramas a Radianes ramas= radians&#40;30&#41;; // Inicia el árbol [...]]]></description>
			<content:encoded><![CDATA[<div align="left" style="padding: 0px 5px 5px 0px; clear: left; float: left;"><a name="fb_share" type="button_count" share_url="http://www.ubicuos.com/2010/07/15/crear-un-arbol-en-processing/">Cuentále a tus amigos en Facebook</a></div><div class="tweetmeme_button" style="float: left; margin-left: 10px;width:90px">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.ubicuos.com%2F2010%2F07%2F15%2Fcrear-un-arbol-en-processing%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.ubicuos.com%2F2010%2F07%2F15%2Fcrear-un-arbol-en-processing%2F&amp;style=compact&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p><a rel="attachment wp-att-1606" href="http://www.ubicuos.com/2010/07/15/crear-un-arbol-en-processing/processing/"><img class="aligncenter size-full wp-image-1606" src="http://www.ubicuos.com/wp-content/uploads/2010/07/processing.gif" alt="" width="500" height="80" /></a></p>
<p>En el Presente tutorial mostraremos como crear un árbol en <strong>Processing</strong>, sin mas que agregar comencemos:</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #000066; font-weight: bold;">float</span> ramas<span style="color: #339933;">;</span>
<span style="color: #000066; font-weight: bold;">void</span> setup<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
  smooth<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  size<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">700</span>,<span style="color: #cc66cc;">500</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  background<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">255</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #666666; font-style: italic;">// Vamos a escoger un ángulo de 0 a 90 grados y convertir</span>
  <span style="color: #666666; font-style: italic;">// Nuestra variable ramas a Radianes</span>
  ramas<span style="color: #339933;">=</span> radians<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">30</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #666666; font-style: italic;">// Inicia el árbol desde la parte inferior de la pantalla</span>
  translate<span style="color: #009900;">&#40;</span>width <span style="color: #339933;">/</span><span style="color: #cc66cc;">4</span>,height<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  strokeWeight<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">40</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #666666; font-style: italic;">// Dibuja una línea de 50 píxeles</span>
  line<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">160</span>,<span style="color: #cc66cc;">160</span>,<span style="color: #cc66cc;">160</span>,<span style="color: #339933;">-</span><span style="color: #cc66cc;">50</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  strokeWeight<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">30</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #666666; font-style: italic;">// Dibuja una línea de 100 píxeles</span>
  line<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">160</span>,<span style="color: #cc66cc;">160</span>,<span style="color: #cc66cc;">160</span>,<span style="color: #339933;">-</span><span style="color: #cc66cc;">100</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #666666; font-style: italic;">// Mueve la funcion arbol al final de la linea</span>
  translate<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">160</span>,<span style="color: #339933;">-</span><span style="color: #cc66cc;">100</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #666666; font-style: italic;">// Inicia la funcion arbol</span>
  arbol<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">150</span>,<span style="color: #cc66cc;">20</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000066; font-weight: bold;">void</span> arbol<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">float</span> h,<span style="color: #000066; font-weight: bold;">float</span> s<span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
  <span style="color: #666666; font-style: italic;">// Cada Rama creada sera mas delgada que la anterior en cuanto a largo y grueso</span>
  h <span style="color: #339933;">*=</span><span style="color: #cc66cc;">0.7</span><span style="color: #339933;">;</span>
  s <span style="color: #339933;">*=</span><span style="color: #cc66cc;">0.6</span><span style="color: #339933;">;</span>
&nbsp;
  <span style="color: #666666; font-style: italic;">// Todas las funciones deben tener una condición de salida!!</span>
  <span style="color: #666666; font-style: italic;">// Aquí, la nuestra es cuando la longitud de la rama es de 1 píxeles o menos</span>
&nbsp;
  <span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>h <span style="color: #339933;">&amp;</span>gt<span style="color: #339933;">;</span> <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span>
  <span style="color: #009900;">&#123;</span>
&nbsp;
    pushMatrix<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// Guardar el estado actual de transformación (es decir, donde estamos ahora)</span>
    strokeWeight<span style="color: #009900;">&#40;</span>s<span style="color: #339933;">*</span><span style="color: #cc66cc;">0.5</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// Se adelgaza la linea a la mitad</span>
    rotate<span style="color: #009900;">&#40;</span><span style="color: #339933;">-</span>ramas<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// Rotar por ramas</span>
    line<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #339933;">-</span>h<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// Dibuja la rama</span>
    translate<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span>,<span style="color: #339933;">-</span>h<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// Ir al final de la rama</span>
    arbol<span style="color: #009900;">&#40;</span>h,s<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// Ok, ahora se llaman arbol para dibujar dos nuevas ramas!</span>
    popMatrix<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// Cada vez que volvamos aquí, se restaura el estado anterior de la matriz</span>
&nbsp;
    <span style="color: #666666; font-style: italic;">// Repetir lo mismo, sólo se ramificara hacia la izquierda esta vez y eh cambiado algunos valores para que el lado izquierdo no sea igual al derecho!</span>
    pushMatrix<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    strokeWeight<span style="color: #009900;">&#40;</span>s<span style="color: #339933;">*</span><span style="color: #cc66cc;">0.6</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    rotate<span style="color: #009900;">&#40;</span>ramas<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    line<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #339933;">-</span>h<span style="color: #339933;">-</span><span style="color: #cc66cc;">10</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    translate<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span>,<span style="color: #339933;">-</span>h<span style="color: #339933;">-</span><span style="color: #cc66cc;">10</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    arbol<span style="color: #009900;">&#40;</span>h,s<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    popMatrix<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
  <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>El resultado seria el siguiente:</p>
<p><a rel="attachment wp-att-1621" href="http://www.ubicuos.com/2010/07/15/crear-un-arbol-en-processing/captura-de-pantalla-2010-07-15-a-las-20-32-06-3/"><img class="aligncenter size-full wp-image-1621" src="http://www.ubicuos.com/wp-content/uploads/2010/07/Captura-de-pantalla-2010-07-15-a-las-20.32.062.png" alt="" width="780" height="602" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ubicuos.com/2010/07/15/crear-un-arbol-en-processing/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Instalacion y Configuracion de Gnokii con Telefono Nokia 5610 y cable CA-101</title>
		<link>http://www.ubicuos.com/2010/07/07/instalacion-y-configuracion-de-gnokii-con-telefono-nokia-5610-y-cable-ca-101/</link>
		<comments>http://www.ubicuos.com/2010/07/07/instalacion-y-configuracion-de-gnokii-con-telefono-nokia-5610-y-cable-ca-101/#comments</comments>
		<pubDate>Wed, 07 Jul 2010 15:35:30 +0000</pubDate>
		<dc:creator>Lisandro Vergara Díaz</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[Software Libre]]></category>
		<category><![CDATA[Ubicuos]]></category>
		<category><![CDATA[gnokii]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[nokia]]></category>

		<guid isPermaLink="false">http://www.ubicuos.com/?p=1497</guid>
		<description><![CDATA[Cuentále a tus amigos en Facebook Para instalar Gnokii en nuestro servidor usamos el administrador de paquetes apt con la siguiente linea: apt-get install gnokii Si estamos sobre Ubuntu recuerden anteponer la linea sudo Una vez instalado Gnokii tenemos que configurarlo, el primer paso es  entrar a la carpeta etc  con la siguiente línea de [...]]]></description>
			<content:encoded><![CDATA[<div align="left" style="padding: 0px 5px 5px 0px; clear: left; float: left;"><a name="fb_share" type="button_count" share_url="http://www.ubicuos.com/2010/07/07/instalacion-y-configuracion-de-gnokii-con-telefono-nokia-5610-y-cable-ca-101/">Cuentále a tus amigos en Facebook</a></div><div class="tweetmeme_button" style="float: left; margin-left: 10px;width:90px">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.ubicuos.com%2F2010%2F07%2F07%2Finstalacion-y-configuracion-de-gnokii-con-telefono-nokia-5610-y-cable-ca-101%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.ubicuos.com%2F2010%2F07%2F07%2Finstalacion-y-configuracion-de-gnokii-con-telefono-nokia-5610-y-cable-ca-101%2F&amp;style=compact&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Para instalar Gnokii en nuestro servidor usamos el administrador de paquetes apt con la siguiente linea: apt-get install gnokii Si estamos sobre Ubuntu recuerden anteponer la linea sudo</p>
<p>Una vez instalado Gnokii tenemos que configurarlo, el primer paso es  entrar a la carpeta etc  con la siguiente línea de comando: cd /etc<br />
Cuando estemos dentro de etc el siguiente paso será editar el archivo gnokiirc para esto utilizamos el siguiente comando: nano gnokiirc</p>
<p><a href="http://www.ubicuos.com/wp-content/uploads/2010/06/Pantallazo1.png"><img class="aligncenter size-full wp-image-1498" src="http://www.ubicuos.com/wp-content/uploads/2010/06/Pantallazo1.png" alt="" width="329" height="145" /></a></p>
<p>Una vez que nos encontremos en el editor en la parte [global]  agregaremos las líneas correspondientes al tipo de cable que usa nuestro teléfono  en este caso quedara de la siguiente manera  (recuerda que esta configuración es para un Nokia 5610 que utiliza un cable tipo CA-101 para  ver las configuraciones de otro tipo de cables consulta <a href="http://wiki.gnokii.org/index.php/Cables">http://wiki.gnokii.org/index.php/Cables)</a></p>
<p>[global]<br />
model = AT<br />
port = /dev/ttyACM0<br />
connection = serial</p>
<p><a href="http://www.ubicuos.com/wp-content/uploads/2010/06/Pantallazo3.png"><img class="aligncenter size-full wp-image-1499" src="http://www.ubicuos.com/wp-content/uploads/2010/06/Pantallazo3.png" alt="" width="666" height="492" /></a></p>
<p>Una vez que hayamos editado y guardado el archivo gnokiirc conectamos nuestro teléfono al equipo y elegimos la opción PC Suite y ejecutamos el siguiente comando: gnokii –identify</p>
<p>Una vez que hayamos editado y guardado el archivo gnokiirc conectamos nuestro teléfono al equipo y elegimos la opción PC Suite y ejecutamos el siguiente comando: gnokii –identify<br />
Nos tendrá que mostrar  todos los datos de nuestro teléfono</p>
<p><a href="http://www.ubicuos.com/wp-content/uploads/2010/06/Pantallazo4.png"><img class="aligncenter size-full wp-image-1500" src="http://www.ubicuos.com/wp-content/uploads/2010/06/Pantallazo4.png" alt="" width="355" height="293" /></a></p>
<p>Nota: Por razones de seguridad edite la parte del IMEI</p>
<p>Ahora está configurado y listo para enviar mensajes</p>
<p>Para probar la funcionalidad del envió de mensajes la sentencia a ejecutar es la siguiente:</p>
<p>echo &#8220;Hola mundo&#8221; | gnokii –sendsms numerocelular</p>
<p><a href="http://www.ubicuos.com/wp-content/uploads/2010/06/Pantallazo5.png"><img class="aligncenter size-full wp-image-1501" src="http://www.ubicuos.com/wp-content/uploads/2010/06/Pantallazo5.png" alt="" width="787" height="286" /></a></p>
<p>Nota: por razones de seguridad he editado la pare correspondiente al numero telefónico</p>
<p>Una vez que se halla enviando el mensaje correctamente aparecerá un mensaje de que todo ha salido bien en caso contrario nos mostrara el mensaje failed</p>
<p>con esto damos por concluido este tutorial , cualquier duda o sugerencia estamos para ayudarles</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ubicuos.com/2010/07/07/instalacion-y-configuracion-de-gnokii-con-telefono-nokia-5610-y-cable-ca-101/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Instalación de Processing en Mac OS X</title>
		<link>http://www.ubicuos.com/2010/07/05/instalacion-de-processing-en-mac-os-x/</link>
		<comments>http://www.ubicuos.com/2010/07/05/instalacion-de-processing-en-mac-os-x/#comments</comments>
		<pubDate>Tue, 06 Jul 2010 04:50:01 +0000</pubDate>
		<dc:creator>Luis Alfredo</dc:creator>
				<category><![CDATA[Diseño]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[Software Libre]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[árbol]]></category>
		<category><![CDATA[evolutivo]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[macosx]]></category>
		<category><![CDATA[processing]]></category>
		<category><![CDATA[recursividad]]></category>

		<guid isPermaLink="false">http://www.ubicuos.com/?p=1541</guid>
		<description><![CDATA[Cuentále a tus amigos en Facebook La instalación de Processing es muy sencilla si se cuanta con los materiales necesarios, solo es cuestión de seguir unos simples pasos: Paso 1: Descargar Processing Descargamos el Processing de la pagina oficial y nos aseguramos que sea la versión para Mac OS X http://www.processing.org/download/, y se guarda donde [...]]]></description>
			<content:encoded><![CDATA[<div align="left" style="padding: 0px 5px 5px 0px; clear: left; float: left;"><a name="fb_share" type="button_count" share_url="http://www.ubicuos.com/2010/07/05/instalacion-de-processing-en-mac-os-x/">Cuentále a tus amigos en Facebook</a></div><div class="tweetmeme_button" style="float: left; margin-left: 10px;width:90px">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.ubicuos.com%2F2010%2F07%2F05%2Finstalacion-de-processing-en-mac-os-x%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.ubicuos.com%2F2010%2F07%2F05%2Finstalacion-de-processing-en-mac-os-x%2F&amp;style=compact&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p><a rel="attachment wp-att-1547" href="http://www.ubicuos.com/2010/07/05/instalacion-de-processing-en-mac-os-x/processing_cover/"><img class="aligncenter size-full wp-image-1547" src="http://www.ubicuos.com/wp-content/uploads/2010/07/processing_cover.gif" alt="" width="500" height="80" /></a></p>
<p>La instalación de <strong>Processing</strong> es muy sencilla si se cuanta con los materiales necesarios, solo es cuestión de seguir unos simples pasos:<br />
<strong></strong></p>
<h3>Paso 1: Descargar Processing</h3>
<p>Descargamos el Processing de la pagina oficial y nos aseguramos que sea la versión para <strong>Mac OS X </strong><a href="http://www.processing.org/download/">http://www.processing.org/download/</a>, y se guarda donde sea mas conveniente.</p>
<h3>Paso 2: Ejecutar el Archivo Descargado</h3>
<p>Cuando la descarga se complete ejecutamos el archivo .dmg y aparecerá una ventana como la siguiente.<br />
<a rel="attachment wp-att-1545" href="http://www.ubicuos.com/2010/07/05/instalacion-de-processing-en-mac-os-x/captura-de-pantalla-2010-07-05-a-las-21-40-48-2/"><img class="aligncenter size-medium wp-image-1545" src="http://www.ubicuos.com/wp-content/uploads/2010/07/Captura-de-pantalla-2010-07-05-a-las-21.40.481-300x221.png" alt="" width="300" height="221" /></a></p>
<h3>Paso 3: Instalación en Mac OS X</h3>
<p>Arrastramos el icono de <strong>Processing</strong> encima de la carpeta Aplicaciones, cuando esta se habrá soltamos el icono dentro y esperamos que termine de copiarse.<br />
<a rel="attachment wp-att-1546" href="http://www.ubicuos.com/2010/07/05/instalacion-de-processing-en-mac-os-x/xxx/"><img class="aligncenter size-medium wp-image-1546" src="http://www.ubicuos.com/wp-content/uploads/2010/07/xxx-300x194.png" alt="" width="300" height="194" /></a></p>
<h3>Paso 4: Final de la Instalación</h3>
<p>Una vez hecho lo anterior desmontamos el archivo .dmg, con clic derecho expulsar,  luego nos dirigimos a  nuestra carpeta de aplicaciones y ejecutamos el <strong>Processing</strong>.</p>
<h3>Nota:</h3>
<p>Lo que se utilizo para este tutoríal fue el <strong>Processing</strong> 1.0 y una <strong>MacBook Pro</strong> con <strong>Mac Os X</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ubicuos.com/2010/07/05/instalacion-de-processing-en-mac-os-x/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Instalar Geoserver en Ubuntu</title>
		<link>http://www.ubicuos.com/2010/06/27/instalar-geoserver-en-ubuntu/</link>
		<comments>http://www.ubicuos.com/2010/06/27/instalar-geoserver-en-ubuntu/#comments</comments>
		<pubDate>Sun, 27 Jun 2010 23:23:11 +0000</pubDate>
		<dc:creator>Jorge</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Software Libre]]></category>
		<category><![CDATA[geoserver]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.ubicuos.com/?p=1514</guid>
		<description><![CDATA[Geoserver es un servidor desarrollado con software libre que implementa estándares abiertos los cuales permiten publicar y editar datos espaciales.]]></description>
			<content:encoded><![CDATA[<div align="left" style="padding: 0px 5px 5px 0px; clear: left; float: left;"><a name="fb_share" type="button_count" share_url="http://www.ubicuos.com/2010/06/27/instalar-geoserver-en-ubuntu/">Cuentále a tus amigos en Facebook</a></div><div class="tweetmeme_button" style="float: left; margin-left: 10px;width:90px">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.ubicuos.com%2F2010%2F06%2F27%2Finstalar-geoserver-en-ubuntu%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.ubicuos.com%2F2010%2F06%2F27%2Finstalar-geoserver-en-ubuntu%2F&amp;style=compact&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p><a rel="attachment wp-att-1522" href="http://www.ubicuos.com/2010/06/27/instalar-geoserver-en-ubuntu/logo/"><img class="alignnone size-full wp-image-1522" title="logo" src="http://www.ubicuos.com/wp-content/uploads/2010/06/logo.png" alt="" width="365" height="118" /></a></p>
<p>La instalación de geoserver resulta relativamente fácil, solo hay que seguir unos cuantos sencillos pasos para lograrlo.</p>
<p><strong>Paso 1: Descargar Geoserver</strong></p>
<p>Nos descargamos el geoserver del siguiente enlace:<a href="http://sourceforge.net/projects/geoserver/files/"> http://sourceforge.net/projects/geoserver/files/</a> y lo guardamos donde nosotros queramos.<span id="more-1514"></span></p>
<p><strong>Paso 2: Descomprimir el archivo</strong></p>
<p>Descomprimimos el archivo con el comando<em><strong> unzip</strong></em> en este caso el archivo lo tenemos guardado en la capeta de <em><strong>Descargas</strong></em>.</p>
<div id="attachment_1515" class="wp-caption aligncenter" style="width: 686px"><a rel="attachment wp-att-1515" href="http://www.ubicuos.com/2010/06/27/instalar-geoserver-en-ubuntu/unzip/"><img class="size-full wp-image-1515" title="unzip" src="http://www.ubicuos.com/wp-content/uploads/2010/06/unzip.png" alt="" width="676" height="135" /></a><p class="wp-caption-text">Descomprimir el archivo</p></div>
<p><strong>Paso 3: Copiar el Geoserver</strong></p>
<p>Antes de copiar el geoserver, necesitamos logearnos como &#8220;root&#8221; para poder tener los permisos necesarios para hacerlo. Seguido de esto copiaremos nuestra carpeta extraída de geoserver a la dirección <strong>/usr/local/</strong>.</p>
<div id="attachment_1516" class="wp-caption aligncenter" style="width: 702px"><a rel="attachment wp-att-1516" href="http://www.ubicuos.com/2010/06/27/instalar-geoserver-en-ubuntu/copy/"><img class="size-full wp-image-1516" title="copy" src="http://www.ubicuos.com/wp-content/uploads/2010/06/copy.png" alt="" width="692" height="118" /></a><p class="wp-caption-text">Copiar la carpeta de Geoserver</p></div>
<p><strong>Paso 4: Agregar variables</strong></p>
<p>Antes de ejecutar nuestro geoserver, es necesario establecer dos variables (JAVA_HOME y GEOSERVER_HOME), normalmente hay que definirlas siempre que queramos ejecutar el programa, para evitarnos esta molestia, la vamos a definir para que cuando cargue nuestro sistema se inicialicen.</p>
<p>En modo &#8220;root&#8221; abrimos el archivo <strong>.bashrc</strong> ubicado en nuestra carpeta personal, y agregamos las siguientes lineas.</p>
<pre><strong>export JAVA_HOME=/usr/lib/jvm/java-6-sun-1.6.0.20/jre
export GEOSERVER_HOME=/usr/local/geoserver-2.0.1</strong>
</pre>
<p>Donde JAVA_HOME es la ruta donde tenemos instalado<strong> java</strong> (recordemos que geoserver trabaja con java) y GEOSERVER_HOME es la ruta donde tenemos instalado el geoserver.</p>
<div id="attachment_1517" class="wp-caption aligncenter" style="width: 702px"><a rel="attachment wp-att-1517" href="http://www.ubicuos.com/2010/06/27/instalar-geoserver-en-ubuntu/gedit/"><img class="size-full wp-image-1517" title="gedit" src="http://www.ubicuos.com/wp-content/uploads/2010/06/gedit.png" alt="" width="692" height="118" /></a><p class="wp-caption-text">Abriendo el archivo .bashrc</p></div>
<div id="attachment_1518" class="wp-caption aligncenter" style="width: 660px"><a rel="attachment wp-att-1518" href="http://www.ubicuos.com/2010/06/27/instalar-geoserver-en-ubuntu/bashrc/"><img class="size-full wp-image-1518" title="bashrc" src="http://www.ubicuos.com/wp-content/uploads/2010/06/bashrc.png" alt="" width="650" height="321" /></a><p class="wp-caption-text">Añadiendo variables al .bashrc</p></div>
<p><strong>Paso 5: Ejecutar el programa</strong></p>
<p>Una vez agregadas las variables, procedemos a ejecutar el geoserver, nos dirigimos a la carpeta donde lo instalamos, acedemos a la carpeta <strong>/bin</strong> y ejecutamos el archivo <strong>startup.sh</strong> (recuerden que todo en modo &#8220;root&#8221;).</p>
<div id="attachment_1519" class="wp-caption aligncenter" style="width: 678px"><a rel="attachment wp-att-1519" href="http://www.ubicuos.com/2010/06/27/instalar-geoserver-en-ubuntu/startup/"><img class="size-full wp-image-1519" title="startup" src="http://www.ubicuos.com/wp-content/uploads/2010/06/startup.png" alt="" width="668" height="322" /></a><p class="wp-caption-text">Iniciando Geoserver</p></div>
<div id="attachment_1520" class="wp-caption aligncenter" style="width: 678px"><a rel="attachment wp-att-1520" href="http://www.ubicuos.com/2010/06/27/instalar-geoserver-en-ubuntu/runing/"><img class="size-full wp-image-1520" title="runing" src="http://www.ubicuos.com/wp-content/uploads/2010/06/runing.png" alt="" width="668" height="322" /></a><p class="wp-caption-text">Iniciando Geoserver</p></div>
<p>Una vez iniciado Geoserver, abrimos nuestro navegador y accedemos a la dirección <a href="http://localhost:8080/geoserver/web/">http://localhost:8080/geoserver/web/</a></p>
<div id="attachment_1521" class="wp-caption aligncenter" style="width: 696px"><a rel="attachment wp-att-1521" href="http://www.ubicuos.com/2010/06/27/instalar-geoserver-en-ubuntu/welcome/"><img class="size-full wp-image-1521" title="welcome" src="http://www.ubicuos.com/wp-content/uploads/2010/06/welcome.png" alt="" width="686" height="389" /></a><p class="wp-caption-text">Página principal de Geoserver</p></div>
<p>Listo!! tenemos instalado Geoserver en Ubuntu!</p>
<p><em>Nota: para este tutoríal se utilizó Geoserver2.0.1 y Ubuntu9.10.</em></p>
<p>Dudas, comentarios o sugerencias estamos para servirte, espero les sea de gran ayuda!!</p>
<p>Saludos!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ubicuos.com/2010/06/27/instalar-geoserver-en-ubuntu/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Instalación y configuración de Android en Linux.</title>
		<link>http://www.ubicuos.com/2010/03/25/instalacion-y-configuracion-de-android-en-linux/</link>
		<comments>http://www.ubicuos.com/2010/03/25/instalacion-y-configuracion-de-android-en-linux/#comments</comments>
		<pubDate>Thu, 25 Mar 2010 18:39:54 +0000</pubDate>
		<dc:creator>Jorge Alejandro</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[Software Libre]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.ubicuos.com/?p=780</guid>
		<description><![CDATA[Cuentále a tus amigos en Facebook Android es una plataforma de software para dispositivos móviles que incluye un sistema operativo, middleware y aplicaciones. Para desarrollar aplicaciones en esta plataforma, es necesario contar con el kit de desarrollo de software (SDK) para Android, el cual contiene las herramientas y las APIs necesarias para desarrollar aplicaciones usando [...]]]></description>
			<content:encoded><![CDATA[<div align="left" style="padding: 0px 5px 5px 0px; clear: left; float: left;"><a name="fb_share" type="button_count" share_url="http://www.ubicuos.com/2010/03/25/instalacion-y-configuracion-de-android-en-linux/">Cuentále a tus amigos en Facebook</a></div><div class="tweetmeme_button" style="float: left; margin-left: 10px;width:90px">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.ubicuos.com%2F2010%2F03%2F25%2Finstalacion-y-configuracion-de-android-en-linux%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.ubicuos.com%2F2010%2F03%2F25%2Finstalacion-y-configuracion-de-android-en-linux%2F&amp;style=compact&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Android es una plataforma de software para dispositivos móviles que incluye un sistema operativo, <em>middleware</em> y aplicaciones.  Para desarrollar aplicaciones en esta plataforma, es necesario contar con el kit de desarrollo de software (SDK) para Android, el cual contiene las herramientas y las APIs necesarias para desarrollar aplicaciones usando el lenguaje de programación Java.<br />
<span id="more-780"></span></p>
<p>Aquí dejo los pasos para los impacientes:</p>
<p><strong>1.- Instalación del JDK:</strong></p>
<pre><span style="color: #808080;">sudo apt-get install sun-java6-jdk
</span>
</pre>
<p><strong>2.- Instalación de Eclipse:</strong><br />
<a href="http://www.eclipse.org/downloads/">Http://www.eclipse.org/downloads/</a></p>
<p><strong>3.- Instalación del SDK de Android:</strong><br />
<a href="http://developer.android.com/sdk/index.html">Http://developer.android.com/sdk/index.html</a><br />
Exportar las herramientas del SDK en el PATH:</p>
<p><span style="color: #808080;">PATH=$PATH:~/android-sdk-linux_86/tools<br />
export PATH</span></p>
<p><span style="color: #808080;">source ~/.bashrc</span></p>
<p><strong>4.- Instalar el plugin ADT para Eclipse</strong><br />
Eclipse: <em>Help-&gt;Software Updates</em> o <em> Help-&gt; Install New Software</em><br />
Nuevo <em>plugin</em> con dirección :<a href=" https://www.dl-ssl.google.com/android/eclipse"> https://www.dl-ssl.google.com/android/eclipse</a><br />
En la sección de <em>Available Software</em> debemos seleccionar el paquete <em>Developer Tools</em>.</p>
<p><strong>5.- Configuar nuestro plugin para que trabaje con el SDK.</strong><br />
Abrimos <em>Windows-&gt;Preferences</em> vamos a la parte de Android.<br />
En <em>SDK Location</em>, damos clic en <em>Browse</em> y localizamos el directorio donde previamente se descomprimió el SDK.</p>
<p><strong>6.- Agregando la plataforma Android y otros componentes:</strong><br />
Eclipse: <em>Window-&gt; Android SDK and AVD Manage</em>r<br />
Clic en <em>Available Packages</em> y seleccionamos los paquetes que desamos instalar.</p>
<p><strong>7.- Creación de un Dispositivo Virtual Android AVD</strong><br />
Eclipse: <em>Window-&gt;  SDK and AVD Manager</em>.<br />
En <em>Virtual Devices</em>, clic en (<em>New . . .</em>) crear un nuevo AVD .<br />
Escribimos un nombre y seleccionamos el <em>platform Target </em>adecuado.</p>
<p>A continuación se describen cada uno de los pasos a detalle, además se presenta el típico ejemplo Hola Mundo en Android.</p>
<p><strong>1.- Instalación de JDK.</strong><br />
En primer lugar debemos saber que Android no soporta las versiones  JDK 1.4  o anteriores, ni tampoco soporta la distribución del compilador GNU para Java (gcj) que tienen instalado algunas distribuciones Linux por defecto. Por tanto se recomienda instalar una versión JDK 1.5 o superior, en este caso vamos a instalar el JDK 1.6:</p>
<p><span style="color: #808080;">sudo apt-get install sun-java6-bin </span></p>
<p>Para el entorno de desarrollo completo instalamos:</p>
<p><span style="color: #808080;">sudo apt-get install sun-java6-jdk</span></p>
<p>En caso de tener una arquitectura de 64 bits debemos instalar el paquete <em>ia32-libs.</em></p>
<p><strong>2.- Instalación de Eclipse.</strong></p>
<p>Se recomienda tener un entorno de desarrollo (IDE) para trabajar con Android. El más recomendado es Eclipse:</p>
<p><a href="http://www.eclipse.org/downloads/">Http://www.eclipse.org/downloads/</a></p>
<p>Las versiones recomendadas para Android son:</p>
<ul>
<li>Eclipse Classic 3.5.1</li>
<li> Eclipse 3.5 Galileo</li>
<li> Eclipse for Java EE</li>
<li> Eclipse RCP/Plug-in Developers</li>
<li> Eclipse IDE for Java Developers</li>
</ul>
<p><strong><br />
3.- Instalando el SDK de Android.</strong><br />
El SDK no es un entorno de desarrollo completo, solo incluye las herremientas necesarias para descargar el resto de los componentes SDK. Se puede obtener de la siguiente dirección:</p>
<p><a href="http://developer.android.com/sdk/index.html">Http://developer.android.com/sdk/index.html</a></p>
<p>Una vez descargado, se debe descomprimir en algún sitio del sistema, por defecto el nombre de la carpeta descomprimida es<em> android-sdk-[plataforma del sistema].</em></p>
<p>Opcionalmente podemos agregar las herramientas del SDK a nuestra variable del entorno del sistema (PATH), para no tener que escribir la ruta completa al ejecutar dichas herramientas en la línea de comandos. Para ello, primero debemos modificar el archivo <em>~/.bashrc</em> (donde el prefijo  “~” significa la ruta de usuario dentro de<em> /home</em>) con cualquier editor de textos.</p>
<p>Agregamos al final del archivo las siguientes dos líneas:</p>
<p><span style="color: #808080;">PATH=$PATH:~/android-sdk-linux_86/tools<br />
export PATH</span></p>
<p>Donde ahora el prefijo “~” significa la ruta donde se descomprimió la carpeta del SDK.<br />
Salvalo y después  ejecuta:</p>
<p><span style="color: #808080;">source ~/.bashrc</span></p>
<p><strong>4.- Instalando ADT Plugin para Eclipse</strong><br />
Android ofrece un plugin para Eclipse llamado ADT, el cual está diseñado para brindar soporte en el desarrollo de aplicaciones con Android. Es ampliamente recomendado y es la manera más sencilla de iniciar con Android.</p>
<p>Para descargarlo e instalarlo vamos a hacer uso de Eclipse:<br />
1.- Arrancar Eclipse y seleccionar:<br />
<em>Help-&gt;Software Updates  o  Help-&gt; Install New Software</em><br />
2.- En la sección de <em>Software Available</em>:<br />
<em>Add Site . . .  o   Add . . </em><br />
3.- Debemos agregar un sitio de descarga y un nombre para nuestro plugin, el nombre puede ser cualquiera, por ejemplo “Android Plugin”, pero el sitio debe ser:<br />
<a href="https://www.dl-ssl.google.com/android/eclipse">https://www.dl-ssl.google.com/android/eclipse</a></p>
<p>Si te causa problemas la descarga puedes probar con http://.</p>
<p>4.- Regresando a la sección de <em>Available Software</em> debemos seleccionar el paquete <em>Developer Tools</em>, el cual contiene <em>Android DDMS</em> y <em>android Development Tools</em>.</p>
<p><a href="http://www.ubicuos.com/wp-content/uploads/2010/03/installPluginADT.png"><img class="aligncenter size-medium wp-image-783" title="installPluginADT" src="http://www.ubicuos.com/wp-content/uploads/2010/03/installPluginADT-300x252.png" alt="" width="300" height="252" /></a></p>
<p>Damos clic en<em> Next</em>, aceptamos la licencia, esperamos su instalación y damos clic en <em>Finish</em>.</p>
<p>5.- Reinciamos Eclipse.</p>
<p><strong>5.- Configurar el plugin para que trabaje con el SDK.</strong><br />
Ahora debemos configuar nuestro plugin para que trabaje con el SDK de nuestro equipo. Para ello vamos al Eclipse:</p>
<p>1.- Abrimos <em>Windows-&gt;Preferences</em><br />
2.- Seleccionamos <em>Android</em> de la parte izquierda del Panel.<br />
3.- En el panel Principal aparece <em>SDK Location</em>, damos clic en <em>Browse</em> y localizamos el directorio donde previamente se descomprimió el SDK que descargamos.<br />
4.- Damos clic en <em>Apply</em> y en <em>OK</em>.</p>
<p><strong>6.- Agregando la plataforma Android y otros componentes:</strong><br />
Debemos tener al menos una plataforma en nuestro entorno de desarrollo de Android, para poder compilar nuestra aplicación y poder emularla con un AVD (<em>Android Virtual Device</em>). Primero vamos a Eclipse:</p>
<p>1.- Damos clic en <em>Window-&gt; Android SDK and AVD Manager</em><br />
2.- Damos clic en <em>Available Packages</em> y seleccionamos los paquetes que desamos instalar.</p>
<p>EL <em>SDK Tools</em> debe estar instalado y al menos una Plataforma SDK. La documentación y los ejemplos son muy recomendables pero no son necesarios. Existen plataformas y APIs adicionales que nos brindan una manera más completa de desarrollar y correr nuestra aplicación.</p>
<p><a href="http://www.ubicuos.com/wp-content/uploads/2010/03/installedPack.png"><img class="aligncenter size-medium wp-image-788" title="installedPack" src="http://www.ubicuos.com/wp-content/uploads/2010/03/installedPack-300x166.png" alt="" width="300" height="166" /></a></p>
<p>Una vez terminada nuestra instalación podemos verificar los componentes instalados en nuestra directorio SDK.</p>
<p><em>Add-ons/ </em>: contiene los complementos  y las APIs que se hayan instalado en el entorno de desarrollo.</p>
<ul>
<li><em>Docs/</em>: contiene la guía de desarrolladores y la documentación completa, en caso de no contar con una conexión a internet podemos abrir el archivo <em>offline.html</em>.</li>
<li><em>Platforms/</em>: Contiene las versiones de las plataformas en las cuales es posible desarrollar aplicaciones.</li>
<li><em>Samples/</em>: Contiene códigos de ejemplo.</li>
<li><em>Tools/</em>: Contiene las herramientas necesarias para desarrollar aplicaciones tal como el emulador, la herramienta android, adb, etc.</li>
</ul>
<p>Una vez completada la instalación y comprobado que los archivos de instalación se encuentren en los directorios adecuados, estamos listos para comenzar a desarrollar aplicaciones.</p>
<p><strong>7.- Creación de un Dispositivo Virtual Android AVD</strong><br />
Ahora debemos crear un Dispositivo Virtual de Android (AVD):</p>
<ul>
<li> Selecionamos<em> window-&gt;  SDK and AVD Manager.</em></li>
<li> En el panel de<em> Virtual Devices</em> podemos ver la lista de AVDs disponibles, damos clic en (<em>New . . .</em>) crear un nuevo AVD .</li>
<li> Escribimos un nombre para nuestro AVD y seleccionamos el <em>platform Target </em>adecuado para nuestro proyecto. La imagen para la tarjeta SD es opcional.</li>
<li> Damos clic en <em>Create AVD</em>.</li>
</ul>
<p><a href="http://www.ubicuos.com/wp-content/uploads/2010/03/avdNew.png"><img class="aligncenter size-medium wp-image-786" title="avdNew" src="http://www.ubicuos.com/wp-content/uploads/2010/03/avdNew-209x300.png" alt="" width="209" height="300" /></a></p>
<p>Salvamos nuestro proyecto y ahora está listo para ser ejecutado.  Debemos asegurarnos que el AVD creado tiene un <em>target</em> que satisface el <em> Build Target</em> de la aplicación, de lo contrario la aplicación será abortada antes de ser lanzada.</p>
<p>Para verificar que nuestro AVD ha sido creado correctamente:<br />
1.- Damos clic en <em>Window-&gt; Android SDK and AVD Manager</em><br />
2.- Damos clic en <em>Virtual Devices</em>.</p>
<p><a href="http://www.ubicuos.com/wp-content/uploads/2010/03/SDKyAVDMAn.png"><img class="aligncenter size-medium wp-image-785" title="SDKyAVDMAn" src="http://www.ubicuos.com/wp-content/uploads/2010/03/SDKyAVDMAn-300x175.png" alt="" width="300" height="175" /></a></p>
<p>Nuestro dispositivo Virtual debe aparecer como un AVD válido y disponible.</p>
<p><strong>Hola Mundo con Android</strong></p>
<p>En caso de tener instalado el plugin ADT, podemos crear fácil y rápidamente un nuevo proyecto:</p>
<p>1.- <em>File-&gt;New-&gt;Project</em><br />
2.- Seleccionamos <em>Android-&gt; <em>Android Porject</em></em><br />
3.- Nos  aparece una ventana para seleccionar las características del nuevo proyecto:</p>
<ul>
<li><em> Project Name</em>: Nombre de la carpeta del proyecto.</li>
<li> <em>Contents</em>: Permite crear un nuevo proyecto en nuestro espacio de trabajo o en otra ubicación, también se puede crear uno a partir de un ejemplo.</li>
<li> <em>Build Target</em>:  Selecciona la plataforma para la cual será construido el proyecto, en caso de  no conocer cual plataforma se debe seleccionar, se recomienda utilizar la mínima versión  posible. Es importante recordar cual plataforma seleccionamos, ya que será la misma que usaremos para crear nuestro AVD más adelante.</li>
</ul>
<ul>
<li> <em>Properties</em>:<br />
- Application Name: es el nombre de la aplicación es el título que aparecerá en la aplicación.<br />
- Package Name: es el nombre del paquete en el cual se guardarán nuestras aplicaciónes del proyecto, utiliza las mismas reglas del lenguaje de programación Java.<br />
- Create activity: es el nombre de la actividad principal  de la clase.<br />
- Min SDK version: Indica el mínimo nivel API requerido para nuestra aplicación, en caso de no saber cual escribir se debera poner el mismo que en la plataforma SDK seleccionada en el Build Target.<br />
Dar  clic en Finish.</li>
</ul>
<p><a href="http://www.ubicuos.com/wp-content/uploads/2010/03/newProject.png"><img src="http://www.ubicuos.com/wp-content/uploads/2010/03/newProject.png" alt="" title="newProject" width="595" height="483" class="aligncenter size-full wp-image-790" /></a></p>
<p>El código de nuestro proyecto debe parecer algo así:</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">package</span> <span style="color: #006699;">com.example.helloandroid</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">android.app.Activity</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">android.os.Bundle</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> HelloAndroid <span style="color: #000000; font-weight: bold;">extends</span> Activity <span style="color: #009900;">&#123;</span>
    <span style="color: #008000; font-style: italic; font-weight: bold;">/** Called when the activity is first created. */</span>
    @Override
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> onCreate<span style="color: #009900;">&#40;</span>Bundle savedInstanceState<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000000; font-weight: bold;">super</span>.<span style="color: #006633;">onCreate</span><span style="color: #009900;">&#40;</span>savedInstanceState<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        setContentView<span style="color: #009900;">&#40;</span>R.<span style="color: #006633;">layout</span>.<span style="color: #006633;">main</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Para ejecutar nuestra aplicación debemos dar clic en el botón <em>Run</em> que se encuentra en la barra de herramientas de Eclipse, debe aparecer una cuadro de diálogo que permita seleccionar que tipo de aplicación queremos ejecutar y seleccionamos <em>Android application. </em></p>
<p><a href="http://www.ubicuos.com/wp-content/uploads/2010/03/RunAS.png"><img class="aligncenter size-medium wp-image-791" title="RunAS" src="http://www.ubicuos.com/wp-content/uploads/2010/03/RunAS-297x300.png" alt="" width="297" height="300" /></a></p>
<p>En caso de no aparecer dicha ventana debemos crear una configuración de ejecución:</p>
<p>1.- Seleccionamos <em>Run-&gt; run Configurations</em> o<em> run-&gt; open run dialog.</em><br />
2.- Abrimos el menú <em>Android application</em> que aparece del lado izquierdo de la ventana,  en caso de tener una configuración podemos seleccionarla, en caso contrario aparecerá una ventana de nueva configuración.<br />
3.- Aparece una nueva configuaración en blanco con las siguientes tres pestañas:</p>
<ul>
<li> <em>Android</em>: Debemos seleccionar el proyecto que deseamos ejecutar y la acción por defecto que deseamos ejecutar en el proyecto, se recomiendo selecionar <em>Launch default activity</em>.</li>
<li> <em>Target</em>: Selecionamos la plataforma que seleccionamos anteriormente en nuestro proyecto, se recomienda seleccionar <em>Automatic</em> y activar el AVD previamente creado.</li>
<li> <em>Common</em>: En este apartado podemos dejar las opciones marcadas por defecto, pero adicionalmente podemos especificar que nuestra nueva configuración se muestre en los menús de <em>Run o Debug</em>.</li>
</ul>
<p>4.- Por último damos un nombre a nuestra nueva configuración y damos clic en <em>Run</em>.</p>
<p><a href="http://www.ubicuos.com/wp-content/uploads/2010/03/Runcfgs.png"><img src="http://www.ubicuos.com/wp-content/uploads/2010/03/Runcfgs-300x262.png" alt="" title="Runcfgs" width="300" height="262" class="aligncenter size-medium wp-image-792" /></a></p>
<p>El emulador de dispositivos debe crear todo lo necesario para que nuestra aplicación se ejecute en nuestro dispositivo virtual, lo cual lleva un poco de tiempo. La primer pantalla que debe aparecer es:</p>
<p><a href="http://www.ubicuos.com/wp-content/uploads/2010/03/FirstScreen.png"><img src="http://www.ubicuos.com/wp-content/uploads/2010/03/FirstScreen-300x210.png" alt="" title="FirstScreen" width="300" height="210" class="aligncenter size-medium wp-image-796" /></a></p>
<p>El lado izquierdo representa la pantalla del dispositivo virtual, el lado derecho representa una interfaz genérica de comunicación con el dispositivo, en este caso solo nos interesa la salida de pantalla, que después de unos segundos de carga, deberá verse así:</p>
<p><a href="http://www.ubicuos.com/wp-content/uploads/2010/03/SecondScreen.png"><img src="http://www.ubicuos.com/wp-content/uploads/2010/03/SecondScreen-189x300.png" alt="" title="SecondScreen" width="189" height="300" class="aligncenter size-medium wp-image-797" /></a></p>
<p>Una vez finalizada la carga del dispositivo virtual ya podemos interactuar con la plataforma Android.</p>
<p><a href="http://www.ubicuos.com/wp-content/uploads/2010/03/thirdScreen.png"><img src="http://www.ubicuos.com/wp-content/uploads/2010/03/thirdScreen-190x300.png" alt="" title="thirdScreen" width="190" height="300" class="aligncenter size-medium wp-image-798" /></a></p>
<p>Ahora vamos al código de nuevo y lo modificamos  para que se vea algo así:</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">package</span> <span style="color: #006699;">examples.HelloAndroid</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">android.app.Activity</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">android.os.Bundle</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">android.widget.TextView</span><span style="color: #339933;">;</span>
&nbsp;
&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> HelloAndroid <span style="color: #000000; font-weight: bold;">extends</span> Activity <span style="color: #009900;">&#123;</span>
    <span style="color: #008000; font-style: italic; font-weight: bold;">/** Called when the activity is first created. */</span>
    @Override
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> onCreate<span style="color: #009900;">&#40;</span>Bundle savedInstanceState<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000000; font-weight: bold;">super</span>.<span style="color: #006633;">onCreate</span><span style="color: #009900;">&#40;</span>savedInstanceState<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        TextView tv <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> TextView<span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        tv.<span style="color: #006633;">setText</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Hola Mundo ! ! ! &quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        setContentView<span style="color: #009900;">&#40;</span>tv<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Una interface de usuario en Android está compuesta por objetos llamados <em>Views</em>. Cada <em>view</em> puede ser un botón, una eqtiqueta, una imagen, etc. Todos ellos son una subclase de <em>View</em>, la clase <em>TextView</em> también es una subclase de<em> View</em>.</p>
<p>Con la función <em>setText()</em> definimos el texto del contenido. Por último la función <em>setContentView() </em>muestra el contenido de la actividad en la interfaz de usuario, si no se invoca esta función aparece una pantalla negra.</p>
<p>Nuevamente ejecutamos nuestra aplicación. Ahora el texto se deberá mostrar en panatalla una vez que el emulador ha dejado de cargar el dispositivo virtual.</p>
<p>Algunas veces es necesario oprimir un botón para desbloquear la pantalla, en este caso es el botón menú, es necesario desbloquearla para poder observar nuestra aplicación.</p>
<p><a href="http://www.ubicuos.com/wp-content/uploads/2010/03/HolaMundo.png"><img src="http://www.ubicuos.com/wp-content/uploads/2010/03/HolaMundo-219x300.png" alt="" title="HolaMundo" width="219" height="300" class="aligncenter size-medium wp-image-799" /></a></p>
<p>Si nos encontramos en el ambiente Android, podemos encontrar nuestra aplicación directamente en el menú de la plataforma, basta con dar clic en el icono para ejecturala.</p>
<p><a href="http://www.ubicuos.com/wp-content/uploads/2010/03/iconHello.png"><img src="http://www.ubicuos.com/wp-content/uploads/2010/03/iconHello.png" alt="" title="iconHello" width="271" height="374" class="aligncenter size-full wp-image-800" /></a></p>
<p>De esta forma tenemos nuestra aplicación Hola Mundo en Android.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ubicuos.com/2010/03/25/instalacion-y-configuracion-de-android-en-linux/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>RIP sun.com</title>
		<link>http://www.ubicuos.com/2010/02/02/rip-sun-com/</link>
		<comments>http://www.ubicuos.com/2010/02/02/rip-sun-com/#comments</comments>
		<pubDate>Wed, 03 Feb 2010 00:22:07 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[oracle]]></category>
		<category><![CDATA[sun]]></category>

		<guid isPermaLink="false">http://www.ubicuos.com/2010/02/02/rip-sun-com/</guid>
		<description><![CDATA[Cuentále a tus amigos en Facebook Hoy la histórica página de Sun Microsystems (uno de los sitios más antiguos de la www) ha dejado de aparecer y en su lugar existe una redirección hacia la página web de Oracle (http://www.oracle.com), esperemos que los proyectos libres que Sun apoyaba no se encuentren descobijados bajo la nueva [...]]]></description>
			<content:encoded><![CDATA[<div align="left" style="padding: 0px 5px 5px 0px; clear: left; float: left;"><a name="fb_share" type="button_count" share_url="http://www.ubicuos.com/2010/02/02/rip-sun-com/">Cuentále a tus amigos en Facebook</a></div><div class="tweetmeme_button" style="float: left; margin-left: 10px;width:90px">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.ubicuos.com%2F2010%2F02%2F02%2Frip-sun-com%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.ubicuos.com%2F2010%2F02%2F02%2Frip-sun-com%2F&amp;style=compact&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Hoy la histórica página de Sun Microsystems (uno de los sitios más antiguos de la www) ha dejado de aparecer y en su lugar existe una redirección hacia la página web de Oracle (http://www.oracle.com), esperemos que los proyectos libres que Sun apoyaba no se encuentren descobijados bajo la nueva administración.</p>
<p>Es curioso, muchas personas nunca pensarón que pasaría algo, así e incluso si vemos en la línea del tiempo, uno podría haber apostado que hubiera ocurrido lo contrario, son tiempos de cambio y espero de crecimiento, para la plataforma Java.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ubicuos.com/2010/02/02/rip-sun-com/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Respaldos de MySql con Groovy, Amazon S3 y Grape</title>
		<link>http://www.ubicuos.com/2010/01/23/respaldos-de-mysql-con-groovy-amazon-s3-y-grape/</link>
		<comments>http://www.ubicuos.com/2010/01/23/respaldos-de-mysql-con-groovy-amazon-s3-y-grape/#comments</comments>
		<pubDate>Sun, 24 Jan 2010 06:03:12 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[groovy]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://www.ubicuos.com/?p=556</guid>
		<description><![CDATA[Cuentále a tus amigos en Facebook Vía Twitter, me llegó un enlace muy interesante sobre respaldos automatizados de bases de datos mysql utilizando Groovy (que es un lenguaje dinámico que se ejecuta en la máquina virtual de Java). Está muy bien explicado, la dirección es: Respaldos de MySql con Groovy, Amazon S3 y Grape]]></description>
			<content:encoded><![CDATA[<div align="left" style="padding: 0px 5px 5px 0px; clear: left; float: left;"><a name="fb_share" type="button_count" share_url="http://www.ubicuos.com/2010/01/23/respaldos-de-mysql-con-groovy-amazon-s3-y-grape/">Cuentále a tus amigos en Facebook</a></div><div class="tweetmeme_button" style="float: left; margin-left: 10px;width:90px">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.ubicuos.com%2F2010%2F01%2F23%2Frespaldos-de-mysql-con-groovy-amazon-s3-y-grape%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.ubicuos.com%2F2010%2F01%2F23%2Frespaldos-de-mysql-con-groovy-amazon-s3-y-grape%2F&amp;style=compact&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Vía Twitter, me llegó un enlace muy interesante sobre respaldos automatizados de bases de datos mysql utilizando Groovy (que es un lenguaje dinámico que se ejecuta en la máquina virtual de Java).</p>
<p>Está muy bien explicado, la dirección es:<br />
<a href="http://www.springhispano.org/?q=node/610">Respaldos de MySql con Groovy, Amazon S3 y Grape</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ubicuos.com/2010/01/23/respaldos-de-mysql-con-groovy-amazon-s3-y-grape/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic
Page Caching using disk: enhanced
Database Caching 46/103 queries in 10.954 seconds using disk: basic

Served from: www.ubicuos.com @ 2012-02-05 07:30:10 -->
