<?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>YakiBoo &#187; Google</title>
	<atom:link href="http://www.yakiboo.net/category/internet/google/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.yakiboo.net</link>
	<description>... mi pequeño mundo binario</description>
	<lastBuildDate>Mon, 19 Dec 2011 23:38:52 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>La gran burbuja</title>
		<link>http://www.yakiboo.net/la-gran-burbuja/</link>
		<comments>http://www.yakiboo.net/la-gran-burbuja/#comments</comments>
		<pubDate>Fri, 02 Dec 2011 09:36:17 +0000</pubDate>
		<dc:creator>sgm</dc:creator>
				<category><![CDATA[Google]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Todo]]></category>
		<category><![CDATA[Facebook]]></category>
		<category><![CDATA[Libertad]]></category>

		<guid isPermaLink="false">http://www.yakiboo.net/?p=2435</guid>
		<description><![CDATA[Tal vez no os lo hayáis planteado, pero lo aparéntemente libre y abierto que es Internet está sufriendo cambios que minimizan esa apertura y libertad. Antes era fácil buscar información ...]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify">
Tal vez no os lo hayáis planteado, pero lo aparéntemente libre y abierto que es Internet está sufriendo cambios que minimizan esa apertura y libertad. Antes era fácil buscar información en Google y ver qué había en la red en relación a tu pregunta. Sin embargo, ahora los resultados pasan más de 30 filtros hasta que llegan a ti. Está muy bien pensado eso de los resultados adaptados a tus intereses personales, pero esa personalización puede ocultarnos realidades, con o sin ánimo de hacerlo; y eso es peligroso.
</p>
<p style="text-align: justify">
Os recomiendo que veáis la siguiente charla sobre el tema. Os hará pensar, y no os quitará mucho tiempo.
</p>
<p><center><br />
<iframe width="560" height="315" src="http://www.youtube.com/embed/wGq3HWILr6k" frameborder="0" allowfullscreen></iframe><br />
</center></p>
<p style="text-align: justify">
Espero vuestras opiniones.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yakiboo.net/la-gran-burbuja/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Conexión entre aplicaciones Android y servicios web .NET</title>
		<link>http://www.yakiboo.net/conexion-entre-aplicaciones-android-y-servicios-web-net/</link>
		<comments>http://www.yakiboo.net/conexion-entre-aplicaciones-android-y-servicios-web-net/#comments</comments>
		<pubDate>Thu, 13 Oct 2011 14:42:43 +0000</pubDate>
		<dc:creator>Jesús Manzano Camino</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Móviles]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[Todo]]></category>
		<category><![CDATA[Tutoriales y guías]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[Servicios Web]]></category>

		<guid isPermaLink="false">http://www.yakiboo.net/?p=2359</guid>
		<description><![CDATA[Introducción Hoy en día es casi imprescindible el uso de Internet o de bases de datos alojadas en la red por parte de nuestas aplicaciones Android. Uno de los métodos ...]]></description>
			<content:encoded><![CDATA[<h3>Introducción</h3>
<p style="text-align: justify">Hoy en día es casi imprescindible el uso de Internet o de bases de datos alojadas en la red por parte de nuestas aplicaciones Android. Uno de los métodos más fáciles y comunes para realizar una comunicación hacia dichos servicios y bases de datos se realiza mediante el consumo de servicios web, los cuales en la mayoría de los casos actuan como una capa intermedia entre nuestra aplicación e Internet.Hoy explicaremos como enlazar nuestra aplicación con nuestros servicios web.</p>
<blockquote><p>Nota:Si no sabeis como crear un servicio web bajo .NET os recomiendo que echeis un ojo a éste <a href="http://www.yakiboo.net/servicios-web-net-con-conexion-a-mysql/">artículo</a> en el que explico como crearlo.</p></blockquote>
<h3>Obtención e importación de la librería ksoap2</h3>
<p style="text-align: justify">Lo primero de todo es descargar la librería que nos permitirá la conexión hacia el servicio web. Se trata de ksoap2 y desde <a href="http://ksoap2-android.googlecode.com/svn/m2-repo/com/google/code/ksoap2-android/ksoap2-android-assembly/2.5.8/ksoap2-android-assembly-2.5.8-jar-with-dependencies.jar">aquí</a> podemos descargar el .jar .Una vez descargado y creado un proyecto Android en Eclipse, en la carpeta /res del proyecto crearemos una carpeta llamada lib en la que guardaremos el .jar (para saber siempre donde buscarlo a la hora de añadirlo a nuestro proyecto).</p>
<p style="text-align: justify">Ahora procederemos a añadirlo como librería a nuestro proyecto. Suponiendo que utilizamos Eclipse, hacemos click derecho sobre el proyecto y vamos a Propiedades, en la sección Java Build Path nos movemos hasta la pestaña Libraries, damos a Add JARs y procedemos a seleccionar el jar descargado (Lo acabamos de poner dentro de la carpeta lib del proyecto).</p>
<p style="text-align: justify">Una vez que ya tenemos nuestro librería añadida estamos listos para usarla. Para ello deberemos importarla añadiendo esto a la lista de import de la clase que vaya a hacer uso de la librería:</p>

<div class="wp_syntax"><div class="code"><pre class="java"><span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">org.ksoap2.SoapEnvelope</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">org.ksoap2.serialization.PropertyInfo</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">org.ksoap2.serialization.SoapObject</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">org.ksoap2.serialization.SoapSerializationEnvelope</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">org.ksoap2.transport.HttpTransportSE</span><span style="color: #339933;">;</span></pre></div></div>

<p style="text-align: justify">Importada la librería vamos a ver como se utiliza. Los pasos para realizar una conexión son por regla general los siguientes:</p>
<ul style="text-align: justify">
<li>Preparación de los datos necesarios para la conexión del servicio web (dirección del servicio web, nombre del método).</li>
<li>Preparación de los datos a enviar al servicio web (en el caso que hubiera).</li>
<li>Apertura de la conexión con los datos necesarios.</li>
<li>LLamada al método y obtención de los datos provenientes del servicio werb (en el caso que hubiera).</li>
<li>Tratamiento de dichos datos devueltos.</li>
</ul>
<blockquote><p>Nota: el último punto aunque no parezca importante si que hay que indicarlo para explicar mas tarde el procesamiento de datos complejos provenientes del servicio web.</p></blockquote>
<h3>Preparación de los datos para la conexión</h3>
<p style="text-align: justify">Para llamar al servicio web necesitaremos cuantro cadenas de texto (String) que usaremos siempre para realizar las llamadas a los métidos del servicio web.</p>
<p>El primero es el denominado &#8220;namespace&#8221; cuyo valor nos indica el propio servicio web al crearlo. El namespace viene indicado en la cabecera del servicio web:</p>

<div class="wp_syntax"><div class="code"><pre class="java"><span style="color: #009900;">&#91;</span>WebService<span style="color: #009900;">&#40;</span>Namespace <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;http://ip:puerto/NombreDelServicio/&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#93;</span></pre></div></div>

<p style="text-align: justify">Por lo que la cadena que define el namespace sería:</p>

<div class="wp_syntax"><div class="code"><pre class="java"><span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #003399;">String</span> NAMESPACE <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;http://ip:puerto/NombreDelServicio/&quot;</span><span style="color: #339933;">;</span></pre></div></div>

<p style="text-align: justify">El segundo es la URL del servicio web, que viene a ser la adición del nombre del archivo .asmx a la cadena que define el NAMESPACE:</p>

<div class="wp_syntax"><div class="code"><pre class="java"><span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #003399;">String</span> <span style="color: #003399;">URL</span> <span style="color: #339933;">=</span> NAMESPACE<span style="color: #339933;">+</span><span style="color: #0000ff;">&quot;Service1.asmx&quot;</span><span style="color: #339933;">;</span></pre></div></div>

<p style="text-align: justify">El tercer dato que necesitamos es el nombre de método que guardaremos en la variable METHOD:</p>

<div class="wp_syntax"><div class="code"><pre class="java"><span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #003399;">String</span> METHOD<span style="color: #339933;">;</span></pre></div></div>

<p style="text-align: justify">El cuaro dato será el SOAPACTION, que será una combinación del NAMESPACE y del método al que llamemos:</p>

<div class="wp_syntax"><div class="code"><pre class="java"><span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #003399;">String</span> SOAPACTION <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #339933;">;</span></pre></div></div>

<h3>Apertura de la conexión y adición de los datos</h3>
<p style="text-align: justify">Definidos los datos iniciales veamos la preparación de datos en caso de que queramos enviar datos al servicio web.Para ello haremos uso de la clase SoapObject, que es un tipo de datos de encapsulación para poder enviar y recibir datos del servicio web (actua como un parseador de xml que es lo que se acaba enviando o recibiendo de un servicio web), y de la clase PropertyInfo que es una clase que nos permite añadir información al objeto SoapObject. Veamos un ejemplo.</p>

<div class="wp_syntax"><div class="code"><pre class="java">METHOD <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;method&quot;</span><span style="color: #339933;">;</span>
SoapObject request <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> SoapObject<span style="color: #009900;">&#40;</span>NAMESPACE, METHOD<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
PropertyInfo pi1 <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> PropertyInfo<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
pi1.<span style="color: #006633;">setName</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;variable1&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
pi1.<span style="color: #006633;">setValue</span><span style="color: #009900;">&#40;</span>“a”<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
request.<span style="color: #006633;">addProperty</span><span style="color: #009900;">&#40;</span>pi1<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p style="text-align: justify">Hay que tener mucho cuidado al añadir las variables, ya que el nombre de éstas debe coincidir con el nombre de las varibles del método al que llamamos en el servicio web. Como se ve lo que hacemos es crear un objeto PropertyInfo al que añadiremos el nombre y el valor de la variable que deseamos enviar.</p>
<p style="text-align: justify">Una vez que tenemos los datos a enviar, pasaremos a abrir la conexión. Para ello utilizaremos la clase SoapSerializationEnvelope y la clase HttpTransportSE:</p>

<div class="wp_syntax"><div class="code"><pre class="java">SoapSerializationEnvelope envelope <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> SoapSerializationEnvelope<span style="color: #009900;">&#40;</span>
SoapEnvelope.<span style="color: #006633;">VER12</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
envelope.<span style="color: #006633;">dotNet</span> <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">true</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//indicamos que utilizaremos servicios .NET</span>
envelope.<span style="color: #006633;">setOutputSoapObject</span><span style="color: #009900;">&#40;</span>request<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//añadimos a la conexión el objeto SoapObject anteriormente creado</span>
HttpTransportSE androidHttpTransport <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> HttpTransportSE<span style="color: #009900;">&#40;</span><span style="color: #003399;">URL</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
androidHttpTransport.<span style="color: #006633;">debug</span> <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">true</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//nos aseguramos así de que funcione siempre</span></pre></div></div>

<h3>LLamada al método y obtención de los datos provenientes del servicio web</h3>
<p>Ya que tenemos abierta la conexión no queda mas que definir la variable SOAPACTION y realizar la llamada.</p>

<div class="wp_syntax"><div class="code"><pre class="java">SOAPACTION <span style="color: #339933;">=</span> NAMESPACE <span style="color: #339933;">+</span> METHOD<span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">try</span> <span style="color: #009900;">&#123;</span>
	androidHttpTransport.<span style="color: #006633;">call</span><span style="color: #009900;">&#40;</span>SOAPACTION, envelope<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	SoapObject response <span style="color: #339933;">=</span> envelope.<span style="color: #006633;">getResponse</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #666666; font-style: italic;">//tratamiento de la respuesta</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>
	Log.<span style="color: #006633;">d</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;error&quot;</span>, e.<span style="color: #006633;">getMessage</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">toString</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;">return</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p style="text-align: justify">De ésta manera llamamos al método del servicio web. Si el metodo del servicio web devuelve algún dato tendremos que tratarlo. En el caso de que nos encontremos con algún tipo complejo de datos (como una lista o de alguna clase que hayamos creado para tal propósito) deberemos tratarlo para recuperar la información. Para ello utilizaremos la clase SoapObject que encapsula los datos recibidos sean cual sean su naturaleza y nos proporciona una serie de métidos para poder extraer la información tal y como se devolvió desde el servicio web.</p>
<h3>Tratamiento de datos complejos provenientes de un servicio web</h3>
<p style="text-align: justify">Pongamos que el método del servicio web al que llamamos devuelve un List, el tratamiento de datos sería algo así:</p>

<div class="wp_syntax"><div class="code"><pre class="java">SOAPACTION <span style="color: #339933;">=</span> NAMESPACE <span style="color: #339933;">+</span> METHOD<span style="color: #339933;">;</span>
<span style="color: #003399;">List</span> l <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">ArrayList</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;">try</span> <span style="color: #009900;">&#123;</span>
	androidHttpTransport.<span style="color: #006633;">call</span><span style="color: #009900;">&#40;</span>SOAPACTION, envelope<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	SoapObject response <span style="color: #339933;">=</span> envelope.<span style="color: #006633;">getResponse</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #666666; font-style: italic;">//tratamiento de la respuesta</span>
	<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>response <span style="color: #339933;">!=</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><span style="color: #666666; font-style: italic;">//comprobamos que la respuesta no esté vacía</span>
                <span style="color: #666666; font-style: italic;">//recorremos el objeto</span>
		<span style="color: #000000; font-weight: bold;">for</span> <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span> i <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span> i <span style="color: #339933;">&amp;</span>lt<span style="color: #339933;">;</span> response.<span style="color: #006633;">getPropertyCount</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                           <span style="color: #666666; font-style: italic;">//obtenemos el elemento i de la lista (sabemos que es un String)</span>
                           l.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span>response.<span style="color: #006633;">getProperty</span><span style="color: #009900;">&#40;</span>i<span style="color: #009900;">&#41;</span>.<span style="color: #006633;">toString</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                           Log.<span style="color: #006633;">d</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;elmento&quot;</span><span style="color: #339933;">+</span>i<span style="color: #339933;">+</span><span style="color: #0000ff;">&quot;devuelto&quot;</span>,response.<span style="color: #006633;">getProperty</span><span style="color: #009900;">&#40;</span>i<span style="color: #009900;">&#41;</span>.<span style="color: #006633;">toString</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: #009900;">&#125;</span>
		<span style="color: #000000; font-weight: bold;">return</span> l<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: #000000; font-weight: bold;">return</span> <span style="color: #000066; font-weight: bold;">null</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>
	Log.<span style="color: #006633;">d</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;error&quot;</span>, e.<span style="color: #006633;">getMessage</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">toString</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;">return</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p style="text-align: justify">Explicaré mejor el código de arriba. La variable response del tipo SoapObject obtiene el List que se devolvío por parte del servicio web y mediante un bucle utilizando la variable getPropertyCount() que nos devuelve el número de elementos que posee, recorremos el objeto como si recorrieramos el List. Cada elemento obtenido mediante el bucle es del tipo SoapObject, al cual simplemente haremos un toString() ya que sabemos que es un String. Hay que tener mucho cuidado a la hora del procesamiento de los datos devueltos ya que hay que estar totalmente seguro de que tipo de datos devuelve el método invocado.</p>
<p style="text-align: justify">Si los datos fueran mas complejo aún (imaginemos un List&lt;List&gt;) deberíamos extraer cada SoapObject del objeto devuelto por parte del servicio web (que a su vez sería un List) para, mediante otro bucle anidado, recorrer la segunda lista obteniendo ya si los valores de las cadenas de texto que contienet. Sería algo así:</p>

<div class="wp_syntax"><div class="code"><pre class="java"><span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>response <span style="color: #339933;">!=</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><span style="color: #666666; font-style: italic;">//comprobamos que la respuesta no esté vacía</span>
        <span style="color: #666666; font-style: italic;">//recorremos el objeto</span>
	<span style="color: #000000; font-weight: bold;">for</span> <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span> i <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span> i <span style="color: #339933;">&amp;</span>lt<span style="color: #339933;">;</span> response.<span style="color: #006633;">getPropertyCount</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #666666; font-style: italic;">//obtenemos el elemento i del List&amp;lt; List&amp;lt; String &amp;gt; &amp;gt;;</span>
        SoapObject element <span style="color: #339933;">=</span> response.<span style="color: #006633;">getProperty</span><span style="color: #009900;">&#40;</span>i<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
       <span style="color: #666666; font-style: italic;">/*recorremos el List&amp;lt; String &amp;gt; i */</span>
        <span style="color: #000000; font-weight: bold;">for</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span> j<span style="color: #339933;">=</span><span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>j<span style="color: #339933;">&amp;</span>lt<span style="color: #339933;">;</span> element.<span style="color: #006633;">getPropertyCount</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>j<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
	        <span style="color: #003399;">String</span> a <span style="color: #339933;">=</span> element.<span style="color: #006633;">getProperty</span><span style="color: #009900;">&#40;</span>i<span style="color: #009900;">&#41;</span>.<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: #666666; font-style: italic;">//tratamos la cadena a</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p style="text-align: justify">Y con esto daríamos por concluída la lección sobre conexiones a servicios web .NET en Android usando ksoap2. Éstas conexiones nos vendrán muy bien por ejemplo para acceder a datos que están alojados en bases de datos en la red o simplemente para realizar operaciones fuera del alcance de nuestro dispositivo.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yakiboo.net/conexion-entre-aplicaciones-android-y-servicios-web-net/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Puertos del Market de Android (Android Market)</title>
		<link>http://www.yakiboo.net/puertos-del-market-de-android-android-market/</link>
		<comments>http://www.yakiboo.net/puertos-del-market-de-android-android-market/#comments</comments>
		<pubDate>Wed, 02 Feb 2011 12:56:59 +0000</pubDate>
		<dc:creator>David Lovelace</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Seguridad]]></category>

		<guid isPermaLink="false">http://www.yakiboo.net/?p=2102</guid>
		<description><![CDATA[Estaba buscando los puertos del Android Market puesto que normalmente utilizo una &#8220;red wifi&#8221; en la que todos los puertos (tanto salientes como entrantes) están bloqueados por defecto, y necesitaba ...]]></description>
			<content:encoded><![CDATA[<p>Estaba buscando los puertos del Android Market puesto que normalmente utilizo una &#8220;red wifi&#8221; en la que todos los puertos (tanto salientes como entrantes) están bloqueados por defecto, y necesitaba abrirlos para poder utilizar, cacharrear y guarrear el Market de Android. Menos mal que al final pude encontrar con una búsqueda en inglés (para confirmar mis sospechas) que los puertos que utiliza son:</p>
<p style="text-align: center;">External port: <strong>5228</strong> Internal port: <strong>5228</strong> Protocol: <strong>TCP/UDP</strong></p>
<p>Por si a alguien le interesa conocer los puertos de otras aplicaciones, lo encontré en esta <a href="http://findports.com/article/google-android-market" target="_blank">página web</a> que puede que os resulte de interés.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yakiboo.net/puertos-del-market-de-android-android-market/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Ver PDFs en Chromium</title>
		<link>http://www.yakiboo.net/ver-pdfs-en-chromium/</link>
		<comments>http://www.yakiboo.net/ver-pdfs-en-chromium/#comments</comments>
		<pubDate>Fri, 14 Jan 2011 19:08:28 +0000</pubDate>
		<dc:creator>sgm</dc:creator>
				<category><![CDATA[Chromium]]></category>
		<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Todo]]></category>
		<category><![CDATA[Tutoriales y guías]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Chrome]]></category>
		<category><![CDATA[PDF]]></category>

		<guid isPermaLink="false">http://www.yakiboo.net/?p=2057</guid>
		<description><![CDATA[Todo el que haya utilizado o utilice Chromium habrá sufrido deseos de lanzarle una piedra al monitor cada vez que dicho navegador es incapaz de abrir un archivo PDF incrustado ...]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Todo el que haya utilizado o utilice Chromium habrá sufrido deseos de lanzarle una piedra al monitor cada vez que dicho navegador es incapaz de abrir un archivo PDF incrustado en una web. Existe una conocida extensión que te permite ver archivos PDF con Google Docs, pero no funciona muy bien; además no sirve para PDFs incrustados, sino sólo para URLs completas de los archivos (y sólo algunas). Parece ser que Google está trabajando en ello, pero por el momento en Chromium bajo GNU/Linux no es posible ver PDFs por defecto.</p>
<p style="text-align: justify;">La solución es muy sencilla, y es similar a cómo se hace en Firefox. Debemos instalar el paquete mozplugger y configurarlo para utilizar el gran Evince desde Chromium. Para instalar mozplugger en Debian y derivados, ya sabéis:</p>
<pre style="text-align: justify; padding-left: 30px;"><strong>sudo apt-get install mozplugger</strong></pre>
<p></p>
<p style="text-align: justify;">Y una vez instalado, abrimos el archivo /etc/mozpluggerrc y comentamos la línea siguiente (añadiéndole un # delante):</p>
<pre style="text-align: justify; padding-left: 30px;"><strong>define(ACROREAD, [repeat swallow(acroread) fill :
acroread -openInNewWindow /a "$fragment" "$file"])</strong></pre>
<p></p>
<p style="text-align: justify;">Seguidamente añadimos lo siguiente (todo en una sola línea):</p>
<pre style="text-align: justify; padding-left: 30px;"><strong>define(ACROREAD, [repeat swallow(evince) fill needs_xembed :
evince "$file"])</strong></pre>
<p></p>
<p style="text-align: justify;">Y listo! Guardad los cambios, cerrad Chromium y volvedlo a abrir. Podreis disfrutar de PDFs en la web, tanto incrustados como a partir de la URL completa.</p>
<p style="text-align: right;">(Visto <a href="http://hyperlogos.org/blog/drink/embedding-evince-Chrome" target="_blank">aquí</a>)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yakiboo.net/ver-pdfs-en-chromium/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Chrome OS presentado oficialmente</title>
		<link>http://www.yakiboo.net/chrome-os-presentado-oficialmente/</link>
		<comments>http://www.yakiboo.net/chrome-os-presentado-oficialmente/#comments</comments>
		<pubDate>Wed, 08 Dec 2010 01:47:21 +0000</pubDate>
		<dc:creator>sgm</dc:creator>
				<category><![CDATA[Chrome OS]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Todo]]></category>

		<guid isPermaLink="false">http://www.yakiboo.net/?p=1872</guid>
		<description><![CDATA[Google acaba de presentar oficialmente su sistema operativo Chrome OS, del que ya sabíamos algo desde hace año y medio aproximadamente, y que se hacía esperar. Pese a que aún ...]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Google acaba de presentar oficialmente su sistema operativo Chrome OS, del que ya sabíamos algo desde hace año y medio aproximadamente, y que se hacía esperar. Pese a que aún no está disponible para el público (parece ser que lo estará a mediados del año que viene), conocemos algunas de sus características. Lo más destacable de este sistema operativo es la velocidad de arranque y la sincronización &#8211;pensad que ha sido ideado con un enfoque total a la nube&#8211;. La idea es que no notemos diferencia entre la ejecución de Chrome OS para nuestro usuario, sea desde el PC que sea.</p>
<p style="text-align: justify;">Unos tendrán muchas espectativas sobre Chrome OS; otros, sin embargo, pensarán que este nuevo sistema operativo no es más que un navegador Chrome con esteroides. Yo no daré una opinión hasta que lo pruebe, pero aún quedan unos meses para eso. Lo que sí debemos tener en mente es que Chrome OS no está enfocado al mismo tipo de usuario al que apuntan Windows, Mac OS X, GNU/Linux, etc. Chrome OS está pensado para la vida en la nube y el acceso rápido a internet, y no para tareas como el desarrollo de software o el diseño gráfico.</p>
<p style="text-align: justify;">De momento, podeis ver el vídeo de presentación de Chrome OS:</p>
<p style="text-align: center;"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="530" height="319" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/vFeD3qGVsrM?fs=1&amp;hl=es_ES" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="530" height="319" src="http://www.youtube.com/v/vFeD3qGVsrM?fs=1&amp;hl=es_ES" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p style="text-align: right;">(Visto <a href="http://alt1040.com/2010/12/google-lanza-chrome-os" target="_blank">aquí</a>)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yakiboo.net/chrome-os-presentado-oficialmente/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>&#8220;Google eBook Store&#8221;, el nuevo proyecto de Google</title>
		<link>http://www.yakiboo.net/google-ebook-store-el-nuevo-proyecto-de-google/</link>
		<comments>http://www.yakiboo.net/google-ebook-store-el-nuevo-proyecto-de-google/#comments</comments>
		<pubDate>Mon, 06 Dec 2010 22:45:55 +0000</pubDate>
		<dc:creator>sgm</dc:creator>
				<category><![CDATA[+]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[Gadgets]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Móviles]]></category>
		<category><![CDATA[Ocio]]></category>
		<category><![CDATA[Todo]]></category>
		<category><![CDATA[eBooks]]></category>

		<guid isPermaLink="false">http://www.yakiboo.net/?p=1848</guid>
		<description><![CDATA[Google acaba de lanzar una tienda/lector de eBooks, tanto para dispositivos móviles (Android, iPhone, etc) como para cualquier navegador común desde un ordenador. El servicio en cuestion es Google eBook Store, ...]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Google acaba de lanzar una tienda/lector de eBooks, tanto para dispositivos móviles (Android, iPhone, etc) como para cualquier navegador común desde un ordenador. El servicio en cuestion es <a href="http://books.google.com/ebooks?hl=es" target="_blank">Google eBook Store</a>, y no sólo permite la compra de libros de su tienda, sino que, además, facilita la compra de ebooks en otras tiendas. Actualmente podemos acceder a los libros gratuitos, pero habrá que esperar para tener acceso a los libros de pago, ya que únicamente están disponibles en EEUU.</p>
<p style="text-align: justify;">Hay una demo para ver el lector adaptado a un navegador común. Lo he probado, y el aspecto es el siguiente:</p>
<p style="text-align: justify;"><a rel="attachment wp-att-1853" href="http://www.yakiboo.net/google-ebook-store-el-nuevo-proyecto-de-google/ebooks_store/"><img class="aligncenter size-full wp-image-1853" title="eBooks_store" src="http://www.yakiboo.net/uploads/eBooks_store.png" alt="" width="588" height="379" /></a></p>
<p style="text-align: justify;">Como puede verse, este lector online cuenta con los controles típicos para la lectura de eBooks (como ajustes el tamaño de letra, un índice desplegable, etc). Cabe destacar, además, la existencia de una barra de scroll con la que puedes desplazarte por todas las páginas del eBook.</p>
<p>Para terminar, podeis ver un vídeo demostrativo (en inglés) a continuación:</p>
<p style="text-align: center;"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="500" height="300" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/ZKEaypYJbb4?fs=1&amp;hl=es_ES&amp;rel=0" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="500" height="300" src="http://www.youtube.com/v/ZKEaypYJbb4?fs=1&amp;hl=es_ES&amp;rel=0" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p style="text-align: right;">(Visto <a href="http://www.xatakamovil.com/aplicaciones/presentan-google-ebooks-con-aplicaciones-para-android-y-ios" target="_blank">aquí</a>)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yakiboo.net/google-ebook-store-el-nuevo-proyecto-de-google/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nexus S a la venta, o casi</title>
		<link>http://www.yakiboo.net/nexus-s-a-la-venta-o-casi/</link>
		<comments>http://www.yakiboo.net/nexus-s-a-la-venta-o-casi/#comments</comments>
		<pubDate>Mon, 06 Dec 2010 17:48:11 +0000</pubDate>
		<dc:creator>sgm</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Gadgets]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Móviles]]></category>
		<category><![CDATA[Todo]]></category>
		<category><![CDATA[Nexus One]]></category>
		<category><![CDATA[Nexus S]]></category>

		<guid isPermaLink="false">http://www.yakiboo.net/?p=1839</guid>
		<description><![CDATA[Hoy ha sido presentado oficialmente el nuevo smartphone de Google: el Nexus S. Ya no son sólo rumores, ahora es algo oficial. Fabricado con la misión de relevar al gran ...]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Hoy ha sido presentado oficialmente el nuevo smartphone de Google: el <a href="http://www.google.com/nexus/#!/index" target="_blank">Nexus S</a>. Ya no son sólo rumores, ahora es algo oficial. Fabricado con la misión de relevar al gran <a href="http://www.google.com/phone/detail/nexus-one" target="_blank">Nexus One</a>, el nuevo teléfono móvil de Google ha sido fabricado por Samsung. Algunas de las características de este nuevo dispositivo son:</p>
<ul style="text-align: justify;">
<li>Pantalla Super AMOLED de 4&#8221; (resolución de 480&#215;800 píxeles).</li>
<li>Procesador 1GHz Cortex A8</li>
<li>Memoria flash de 16 HB iNAND</li>
<li>Cámara de 5 megapixels</li>
<li>Cámara frontal VGA</li>
<li>Cancelación de ruido</li>
<li>Batería de Litio de 1500 mAH (6.7h en conversación 3G, y 14h en 2G; de 17 a 30 días en reposo &#8211;habría que verlo&#8211;).</li>
<li>Sensor de proximidad, sensor de luz, giroscopio de 3 ejes&#8230;</li>
<li>NFC (lo que supone un gran paso para esta tecnología)</li>
<li>Android 2.3</li>
</ul>
<p style="text-align: justify;">Podeis ver todos los detalles <a href="http://www.google.com/nexus/#!/tech-specs" target="_blank">aquí</a>.</p>
<p style="text-align: center;"><a href="http://www.yakiboo.net/uploads/nexus_s.jpg"><img class="alignnone" src="http://www.yakiboo.net/uploads/nexus_s.jpg" alt="" width="517" height="252" /></a></p>
<p style="text-align: justify;">¿A quién no le gustaría hacerse con uno?. Si eres uno de los afortunados que va a poder conseguirlo tendrás que esperar unos días, ya que aún no está a la venta. Tampoco se sabe el precio oficial, así que todavía habrá que esperar unos días.</p>
<p><strong>ACTUALIZACIÓN</strong>: Parece ser que estará a la venta a partir del 16 de Diciembre. Ya queda poquito.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yakiboo.net/nexus-s-a-la-venta-o-casi/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>¡Android 2.3 liberado!</title>
		<link>http://www.yakiboo.net/%c2%a1android-2-3-gingerbread-liberado/</link>
		<comments>http://www.yakiboo.net/%c2%a1android-2-3-gingerbread-liberado/#comments</comments>
		<pubDate>Mon, 06 Dec 2010 17:25:01 +0000</pubDate>
		<dc:creator>sgm</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Todo]]></category>
		<category><![CDATA[Gingerbread]]></category>

		<guid isPermaLink="false">http://www.yakiboo.net/?p=1833</guid>
		<description><![CDATA[Al fin ha sido liberada la versión 2.3 de Android, cuyo nombre clave es Gingerbread. Ha ocurrido hoy mismo, hace bien poquito. Algunos de los cambios más importantes que trae ...]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Al fin ha sido liberada <a href="http://developer.android.com/sdk/android-2.3.html" target="_blank">la versión 2.3 de Android</a>, cuyo nombre clave es Gingerbread. Ha ocurrido hoy mismo, hace bien poquito. Algunos de los cambios más importantes que trae esta versión son los siguientes:</p>
<ul style="text-align: justify;">
<li>Mejoras generales en la interfaz de usuario, para mejorar la velocidad y simplicidad.</li>
<li>Se ha mejorado la introducción de texto, para hacerla más rápida e intuitiva (con texto predictivo, mejoras en el copy/paste, etc).</li>
<li>Se ha mejorado el administrador de energía, para ver mejor en qué se gasta la batería.</li>
<li>Se ha introducido el soporte a llamadas a través de internet.</li>
<li>La aplicación de cámara de fotos ahora soporta múltiples cámaras físicas.</li>
<li>Se ha introducido un gestor de descargas.</li>
</ul>
<p style="text-align: justify;">En cuanto a prestaciones enfocadas al desarrollo, cabe destacar el nuevo recolector de basura de Dalvik VM (que mejora el rendimiento en juegos), la mejora de gestión de eventos de sensores, la inclusión de nuevos drivers de vídeo (que ofrecen mejor rendimiento en gráficos 3D), etc.</p>
<p style="text-align: justify;">Podeis ver todos los cambios <a href="http://developer.android.com/sdk/android-2.3-highlights.html" target="_blank">aquí</a>.</p>
<p style="text-align: justify;">Esta actualización me pone los dientes largos, ahora que mi HTC Legend acaba de recibir a Android 2.2. ¿Llegará algún día la actualización de Android 2.3 para los móviles que están luchando ahora por hacerse con Froyo?. Pues tengo mis dudas de que oficialmente HTC, Vodafone y demás compañías se lo curren para que así sea (el negocio es el negocio, y hacerlo no les compensa demasiado); sin embargo, siempre estarán ahí presentes las ROMS libres para instalarlas nosotros mismos en nuestros terminales. Quién sabe, quizá algún día me anime.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yakiboo.net/%c2%a1android-2-3-gingerbread-liberado/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google va de compras</title>
		<link>http://www.yakiboo.net/google-va-de-compras/</link>
		<comments>http://www.yakiboo.net/google-va-de-compras/#comments</comments>
		<pubDate>Mon, 06 Dec 2010 14:40:16 +0000</pubDate>
		<dc:creator>sgm</dc:creator>
				<category><![CDATA[Google]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Todo]]></category>

		<guid isPermaLink="false">http://www.yakiboo.net/?p=1823</guid>
		<description><![CDATA[Ya le queda poco al 2010. ¿Cuántas empresas has comprado tú este año? Yo ninguna&#8230; pero ¿sabes cuántas empresas ha comprado Google?. Pues en lo que va de año, resulta ...]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Ya le queda poco al 2010. ¿Cuántas empresas has comprado tú este año? Yo ninguna&#8230; pero ¿sabes cuántas empresas ha comprado Google?. Pues en lo que va de año, resulta que el gran Google se ha hecho con 26 empresas, casi nada. Las dos últimas son <a href="http://phonetic-arts.com/" target="_blank">Phonetic Arts</a> y <a href="http://www.widevine.com/index.html" target="_blank">Widevine</a>.</p>
<p style="text-align: justify;">Widevine es un servicio que ofrece, como anuncian en su web, <em>TV Everywhere</em>. Pero no se quedan ahí, centrados principalmente en el streaming, se realiza de forma adaptativa, utilizando un ancho de banda dinámico; todo realizado mediante conexiones cifradas.</p>
<p style="text-align: justify;">En el artículo en el que anuncian la adquisición de Phonetic Arts empiezan hablando de la comunicación que tenía la tripulación de las naves de Star Trek con sus ordenadores. Comentan que no lo hacían a través de un teclado. Y parece que el teclado no es una buena forma de comunicarte con tu dispositivo, ¿por qué no usar únicamente tu voz y tu oído?.</p>
<p style="text-align: justify;">Google sigue creciendo&#8230;</p>
<p style="text-align: right;">(Visto <a href="http://www.genbeta.com/buscadores/google-adquiere-widevine-y-phonetic-arts" target="_blank">aquí</a>)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yakiboo.net/google-va-de-compras/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Documental: La Historia de internet</title>
		<link>http://www.yakiboo.net/documental-la-historia-de-internet/</link>
		<comments>http://www.yakiboo.net/documental-la-historia-de-internet/#comments</comments>
		<pubDate>Sun, 17 Oct 2010 09:49:26 +0000</pubDate>
		<dc:creator>sgm</dc:creator>
				<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Todo]]></category>
		<category><![CDATA[Twitter]]></category>
		<category><![CDATA[Documentales]]></category>

		<guid isPermaLink="false">http://www.yakiboo.net/?p=1747</guid>
		<description><![CDATA[Hoy os traigo un documental sobre el surgimiento de internet y la guerra de los navegadores, las compras online, redes sociales&#8230; para que tengais algo que ver esta tarde de ...]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Hoy os traigo un documental sobre el surgimiento de internet y la guerra de los navegadores, las compras online, redes sociales&#8230; para que tengais algo que ver esta tarde de domingo. Es un documental de Discovery, y se considera uno de los mejores &#8211;si no el mejor&#8211; sobre el tema. Espero que lo disfruteis. Se encuentra en 4 partes, y podeis verlo directamente a continuación (trataré de encontrarlo con más calidad, pero de momento es lo que hay):</p>
<h3>Parte 1: La guerra de los navegadores</h3>
<p><center><object width="400" height="300"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=1902126&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=1&amp;color=&amp;fullscreen=1&amp;autoplay=0&amp;loop=0" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=1902126&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=1&amp;color=&amp;fullscreen=1&amp;autoplay=0&amp;loop=0" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="300"></embed></object></center></p>
<h3>Parte 2: Las búsquedas</h3>
<p><center><iframe src="http://player.vimeo.com/video/1893855" width="400" height="300" frameborder="0"></iframe></center></p>
<h3>Parte 3: eBay y Amazon</h3>
<p><center><iframe src="http://player.vimeo.com/video/1893983" width="400" height="300" frameborder="0"></iframe></center></p>
<h3>Parte 4: Poder social</h3>
<p><center><iframe src="http://player.vimeo.com/video/5007970" width="400" height="226" frameborder="0"></iframe></center></p>
<p style="text-align: right;">(Visto <a href="http://spamloco.net/2010/10/el-mejor-documental-sobre-internet.html" target="_blank">aquí</a>)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yakiboo.net/documental-la-historia-de-internet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

