<?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; Gadgets</title>
	<atom:link href="http://www.yakiboo.net/category/electronica-de-bolsillo/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>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>9</slash:comments>
		</item>
		<item>
		<title>Reparar pixeles muertos</title>
		<link>http://www.yakiboo.net/reparar-pixeles-muertos/</link>
		<comments>http://www.yakiboo.net/reparar-pixeles-muertos/#comments</comments>
		<pubDate>Wed, 16 Feb 2011 14:45:58 +0000</pubDate>
		<dc:creator>David Lovelace</dc:creator>
				<category><![CDATA[Gadgets]]></category>
		<category><![CDATA[Móviles]]></category>
		<category><![CDATA[Todo]]></category>
		<category><![CDATA[Tutoriales y guías]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[movil]]></category>
		<category><![CDATA[pixel]]></category>
		<category><![CDATA[tecnologia]]></category>

		<guid isPermaLink="false">http://www.yakiboo.net/?p=2106</guid>
		<description><![CDATA[Si te has encontrado en tu pantalla de móvil (iPhone, terminal con Android o Symbian, etc), reproductor mp4, tablet , pc o similar algún píxel &#8220;muerto&#8221; (más bien dormido), puede ...]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Si te has encontrado en tu pantalla de móvil (iPhone, terminal con Android o Symbian, etc), reproductor mp4, tablet , pc o similar algún píxel &#8220;muerto&#8221; (más bien dormido), puede que este vídeo te pueda ayudar a solucionar tu problema. Por supuesto que si tienes varios píxeles muertos, lo suyo sería que te lo reparase el fabricante con la garantía, pero sabemos que hasta que no llegamos a un número determinado el fabricante no lo considera defectuoso y no lo repara.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="550" height="385" 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-nocookie.com/v/xjagPMNSQwo?fs=1&amp;hl=es_ES" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="550" height="385" src="http://www.youtube-nocookie.com/v/xjagPMNSQwo?fs=1&amp;hl=es_ES" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>En Youtube puedes encontrar muchos otros vídeos de más duración y de distintas calidades (y tamaños).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yakiboo.net/reparar-pixeles-muertos/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Menu oculto de Android</title>
		<link>http://www.yakiboo.net/menu-oculto-de-android/</link>
		<comments>http://www.yakiboo.net/menu-oculto-de-android/#comments</comments>
		<pubDate>Mon, 24 Jan 2011 19:24:02 +0000</pubDate>
		<dc:creator>David Lovelace</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Móviles]]></category>
		<category><![CDATA[Todo]]></category>

		<guid isPermaLink="false">http://www.yakiboo.net/?p=2092</guid>
		<description><![CDATA[Marcando *#*#4636#*#* en un dispositivo con Android, tenemos acceso a un menú &#8220;secreto&#8221; (Prueba) en el que podemos consultar: - Información sobre el teléfono (IMEI, red, hacer un ping a ...]]></description>
			<content:encoded><![CDATA[<p>Marcando <span style="color: #000000;"><strong>*#*#4636#*#*</strong></span> en un dispositivo con Android, tenemos acceso a un menú &#8220;secreto&#8221; (Prueba) en el que podemos consultar:</p>
<p>- Información sobre el teléfono (IMEI, red, hacer un ping a google.es, establecer tipo de red preferido,&#8230;)</p>
<p>- Información de la batería(temperatura, nivel carga, estado, voltaje,tiempo desde el inicio,&#8230;)</p>
<p>- Historial de la batería (con gráficas y porcentajes del uso )</p>
<p>- Estadísticas de uso (tiempo de uso, número de incios de cada aplicación instalada)</p>
<p>- Información del servicio Blur (sólo para los Motorola con Moto Blur)</p>
<p>Es bastante curioso, estoy descubriendo poco a poco Android, y la verdad es que tiene muchas cosas que me gustan (aunque otras no).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yakiboo.net/menu-oculto-de-android/feed/</wfw:commentRss>
		<slash:comments>2</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>Modem Huawei USB de Orange en Linux</title>
		<link>http://www.yakiboo.net/modem-huawei-usb-de-orange-en-linux/</link>
		<comments>http://www.yakiboo.net/modem-huawei-usb-de-orange-en-linux/#comments</comments>
		<pubDate>Mon, 06 Sep 2010 10:00:40 +0000</pubDate>
		<dc:creator>David Lovelace</dc:creator>
				<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Móviles]]></category>
		<category><![CDATA[Todo]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.yakiboo.net/?p=1566</guid>
		<description><![CDATA[Hace unos días he recibido un Módem USB de Orange Everywhere debido a un cambio de línea con internet gratis durante 3 meses, después de tirarme casi una hora instalando ...]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify"><!-- 		@page { margin: 2cm } 		P { margin-bottom: 0.21cm } 		A:link { so-language: zxx } -->Hace unos días he recibido un <strong>Módem USB de Orange</strong> <strong>Everywhere</strong> debido a un cambio de línea con internet gratis durante 3 meses, después de tirarme casi una hora instalando los programas y controladores y comprobar que funcionaba bien en un ordenador con Windows XP (no entiendo como puede instalar tantas cosas&#8230;) me decidí a probarlo en <strong>Linux</strong> (Ubuntu y Linux Mint, aunque debe funcionar en todas las distribuciones actuales).</p>
<p style="text-align: justify">Antes que nada, debo decir que el modem es de la marca <strong>Huawei</strong> modelo: <strong>E1552</strong> .</p>
<p style="text-align: justify">Lo que tiene de particular este cacharro es que aparte de ser un modem es también un lector de tarjetas micro sd y también tiene una memoria interna con los drivers y programas para Windows, por lo que digamos comparado con otros que solamente son modem es &#8220;algo&#8221; más complicada su instalación (hay que dar un paso más).</p>
<p style="text-align: justify">Lo primero de todo es instalar un paquete para que reconozca este tipo de dispositivos &#8220;que tienen varias cosas a la vez&#8221; (en inglés que se llaman &#8220;flip flop usb devices&#8221;), el paquete en cuestión es: <strong>usb-modeswitch.</strong></p>
<p style="text-align: justify">En muchas distribuciones estará en los repositorios oficiales si no se puede descargar desde su <a href="http://www.draisberghof.de/usb_modeswitch/#download" target="_blank">página web oficial.</a></p>
<p style="text-align: justify">Por ejemplo para instalarlo en Ubuntu, Debian o Linux Mint tenemos varias opciones:</p>
<p style="text-align: justify">1- Por consola: <strong>sudo apt-get install usb-modeswitch</strong></p>
<p style="text-align: justify">2- Desde el <strong>centro de Software de Ubuntu </strong>(también lo tiene Linux Mint) buscamos <strong>usb-modeswitch</strong> y le damos a instalar.</p>
<p style="text-align: justify">3- Descargarlos de la web oficial (como ya he dicho antes) y compilarlo con las instrucciones que te vienen en ella.</p>
<p style="text-align: justify">Después de haberlo instalado nos vamos y hacemos &#8220;clic&#8221; <strong>botón derecho sobre el icono del Network-Manager &gt; Editar las conexiones &gt; Nos situamos en la pestaña de Banda Ancha Móvil y pulsamos Añadir</strong></p>
<p style="text-align: justify">Nos debe haber reconocido el módem sin problemas, ahora tendremos que seleccionar nuestro país (España, por si andas perdido) , nuestra compañía de teléfono (en este caso es Orange, pero también vale para Movistar, Vodafone, Simyo, Yoigo, etc), luego nos preguntará el plan contratado (esto da igual el que seleccionamos, dejamos el que viene por defecto), por último aparecerán unos datos como número de teléfono, usuario, contraseña, etc, de los que <strong>NO debemos tocar nada</strong>, presionamos siguiente para terminar.</p>
<p style="text-align: justify">Tras esto, nos debe aparecer pulsando sobre el icono de Network-Manager en un apartado de Banda Ancha (activado por defecto, si no boton derecho &gt; activar banda ancha) nuestra compañía (Orange) como si se tratase de un red más, pinchamos y todo listo.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yakiboo.net/modem-huawei-usb-de-orange-en-linux/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Android vs iPhone</title>
		<link>http://www.yakiboo.net/android-vs-iphone/</link>
		<comments>http://www.yakiboo.net/android-vs-iphone/#comments</comments>
		<pubDate>Sun, 29 Aug 2010 11:25:59 +0000</pubDate>
		<dc:creator>sgm</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Gadgets]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Móviles]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Todo]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Software Libre]]></category>

		<guid isPermaLink="false">http://www.yakiboo.net/?p=1637</guid>
		<description><![CDATA[Hola a todos, aquí un amante de Android (no enemigo de iPhone) os presenta un combate amistoso, y espero que objetivo.  En and.roid.es han planteado este enfrentamiento; yo espero que ...]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Hola a todos, aquí un amante de Android (no enemigo de iPhone) os presenta un combate amistoso, y espero que objetivo.  En <a href="http://and.roid.es/android-vs-iphone-la-vision-de-anderweb.html?utm_source=feedburner&amp;utm_medium=feed&amp;utm_campaign=Feed%3A+AndroidEnEspanol+%28android+en+espa%C3%B1ol%29&amp;utm_content=Google+Reader" target="_blank">and.roid.es</a> han planteado este enfrentamiento; yo espero que este post y sus comentarios sirvan para debatir un poco, ya no sobre qué sistema es mejor (eso va por gustos) sino los pros y contras de cada uno, con el fin de ayudar a nuevos usuarios a decidirse por una u otra plataforma, o incluso para hacer cambiar usuarios actuales de una a otra.</p>
<p style="text-align: justify;">Para empezar, yo voy a plantear una ventaja y un inconveniente de Android frente al iPhone:</p>
<p style="text-align: justify;"><strong>Ventaja de Android contra iPhone</strong></p>
<p style="text-align: justify;">Android es una plataforma abierta, sin esas fuertes <a href="http://www.yakiboo.net/trasteando-con-el-iphone-4/">restricciones</a> del iPhone de las que hablé. Puedes elegir el terminal que desees para ejecutar este sistema operativo (lo que posibilita incluso adquirir un teléfono de gama baja o media que corra Android o, por el contrario, hacerte con uno de los mejores terminales &#8211;que igualan o superan al iPhone en cuanto al hardware&#8211;). La experiencia de usuario depende del terminal en el que corras Android, pero incluso en terminales de gama baja o media es una experiencia muy buena, en comparación con cualquier otro sistema operativo. Si quieres utilizar el sistema operativo iPhone OS, estás obligado a hacerte con un iPhone, incluso aunque tuvieras suficiente con un hardware más modesto, no tienes más remedio que pagar el mejor terminal en cuanto a prestaciones, porque es el único.</p>
<p style="text-align: justify;"><strong>Inconveniente de Android contra iPhone</strong></p>
<p style="text-align: justify;">La anterior ventaja puede ser vista como un inconveniente si nos fijamos en la fragmentación de Android. Al ser un sistema abierto y válido para una infinidad de terminales, cada fabricante tiende a personalizarlo y, aunque normalmente las modificaciones son buenas mejoras, tienden a retrasar el lanzamiento de actualizaciones del sistema. Además, el hecho de que Android funciones en multitud de terminales hace que no esté optimizado para ninguno de ellos. El iPhone OS,  por su parte, está muy optimizado para la arquitectura iPhone, pero claro, sólo corre sobre ella. Yo no veo esto como una pega real para Android, puesto que pese a no estar optimizado para una arquitectura en concreto, su rendimiento es espectacular (sobre todo en terminales de gama alta).</p>
<p style="text-align: justify;">Espero que en vuestros comentarios deis vuestra opinión y debatamos todos juntos sobre el tema. Ventajas y desventajas, por favor.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yakiboo.net/android-vs-iphone/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Oracle vs Google. ¿Quién se beneficia?</title>
		<link>http://www.yakiboo.net/oracle-vs-google-%c2%bfquien-se-beneficia/</link>
		<comments>http://www.yakiboo.net/oracle-vs-google-%c2%bfquien-se-beneficia/#comments</comments>
		<pubDate>Fri, 27 Aug 2010 23:12:48 +0000</pubDate>
		<dc:creator>sgm</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Móviles]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Todo]]></category>
		<category><![CDATA[Sofware Libre]]></category>

		<guid isPermaLink="false">http://www.yakiboo.net/?p=1612</guid>
		<description><![CDATA[Hace poco os hablé de la demanda que había puesto Oracle a Google, y de cómo Google respondía a la misma. Pues bien, he leído últimamente en barrapunto una reseña ...]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Hace poco os hablé de <a href="http://www.yakiboo.net/oracle-demanda-a-google/">la demanda que había puesto Oracle a Google</a>, y de <a href="http://www.yakiboo.net/google-responde-a-oracle/">cómo Google respondía</a> a la misma. Pues bien, he leído últimamente en <a href="http://softlibre.barrapunto.com/article.pl?sid=10/08/26/089203&amp;from=rss" target="_blank">barrapunto</a> una reseña sobre <a href="http://www.pcworld.com/article/204046/when_oracle_sues_google_who_really_wins.html?tk=hp_new" target="_blank">un artículo</a> en el que se mencionan posibles beneficiados en la batalla que Oracle ha iniciado contra Google. Así mismo, en barrapunto comentan algo sobre quiénes podrían ser perjudicados. Ambos grupos son los siguientes:</p>
<p style="text-align: justify;"><strong>Beneficiados:</strong></p>
<ul style="text-align: justify;">
<li><em>Apple</em>: no cabe duda de que cualquier pequeño golpe que sufra Android puede suponer una alegría para la empresa de la manzana, que ve cómo el sistema operativo de Google se está convirtiendo cada vez en un rival más fuerte para su iPhone.</li>
<li><em>Microsoft</em>: con la salida de Windows Phone 7, Microsoft intenta reparar muchos errores que cometió con Windows Mobile. Windows Phone 7 sale al mercado en una época dura, en la que el iPhone &#8211;con su enorme éxito&#8211;, Android &#8211;con su apabullante crecimiento&#8211; y Blackberry &#8211;con su gran importancia en empresas&#8211; reinan en un mundo donde el resto de alternativas no proyectan la suficiente sombra.</li>
<li><em>Intel y Nokia</em>: ambas empresas unieron sus fuerzas no hace mucho para conseguir hacer llegar MeeGoo &#8211;un nuevo sistema operativo móvil basado en Linux&#8211; a una buena posición. Es evidente que cualquier dificultad para Android, el gran sistema operativo móvil Linux, pueda ser buena para MeeGoo.</li>
<li><em>El software privativo y los abogados de patentes</em>: patentar software es algo con lo que mucha gente no está de acuerdo, pero las patentes sirven para estas cosas: sacarle pasta al adversario.</li>
</ul>
<p style="text-align: justify;"><strong>Perjudicados:</strong></p>
<ul style="text-align: justify;">
<li><em>Usuarios y desarrolladores de software libre</em>: cualquier golpe a un proyecto &#8220;abierto&#8221; tan grande como Android, es un duro golpe contra la gran comunidad del software libre. Aunque Google amortigua la &#8220;hostia&#8221; y veo difícil que usuarios y desarrolladores notemos algo.</li>
<li style="text-align: justify;"><em>Oracle</em>: sí, señores, creo que Oracle sale más perjudicada de lo que cree. No digo que económicamente sienta en algún momento el gran error que está cometiendo &#8211;no sólo con esta demanda, sino con <a href="http://www.yakiboo.net/oracle-pone-fin-a-opensolaris/" target="_blank">las puñaladas que está asestando al software libre</a>&#8211;, pero la mala publicidad que está consiguiendo entre blogs y foros no es buena para ninguna empresa. Están tirando por la borda muchos de importantes pilares que Sun consiguió erguir.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.yakiboo.net/oracle-vs-google-%c2%bfquien-se-beneficia/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>¿Desactivará Apple iPhones con Jailbreak?</title>
		<link>http://www.yakiboo.net/%c2%bfdesactivara-apple-iphones-con-jailbreak/</link>
		<comments>http://www.yakiboo.net/%c2%bfdesactivara-apple-iphones-con-jailbreak/#comments</comments>
		<pubDate>Tue, 24 Aug 2010 12:39:31 +0000</pubDate>
		<dc:creator>sgm</dc:creator>
				<category><![CDATA[Gadgets]]></category>
		<category><![CDATA[Móviles]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Todo]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Jailbreak]]></category>

		<guid isPermaLink="false">http://www.yakiboo.net/?p=1569</guid>
		<description><![CDATA[Cuando os hablé sobre mis impresiones a cerca del iPhone 4, comenté que había oído rumores sobre que Apple podría estar pensando en desactivar iPhones que tuvieran hecho el Jailbreak. ...]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Cuando os hablé sobre <a href="http://www.yakiboo.net/trasteando-con-el-iphone-4/" target="_self">mis impresiones a cerca del iPhone 4</a>, comenté que había oído rumores sobre que Apple podría estar pensando en desactivar iPhones que tuvieran hecho el Jailbreak. Bien, esto suena bastante escandaloso, por ello voy a explicaros más detalladamente de qué estaba hablando y en qué se fundamenta dicha información:</p>
<p style="text-align: justify;">Conforme leí en <a href="http://alt1040.com/2010/08/apple-quiere-patentar-metodos-de-identificar-y-deshabilitar-dispositivos-con-jailbreak" target="_blank">ALT1040</a>, Apple había solicitado el reconocimiento de una patente, bajo el título de &#8220;<em>Sistemas y métodos para identificar usuarios no autorizados de un dispositivo electrónico</em>&#8220;. Lo cierto es que si leemos algo a cerca de la patente, parece que está muy bien pensada y su único fin es proteger al dueño del dispositivo móvil. En dicha patente se especifican mecanismos para averiguar cuándo un iPhone (o iPod, iPad, etc) está siendo utilizado por una persona que no es su dueño (si se cambia la tarjeta SIM, por ejemplo); en cuyo caso Apple estaría en disposición de grabar audio, hacer fotografías, activar el GPS, etc. en dicho dispositivo a distancia y sin permiso del poseedor del mismo, con el fin de reconocer al supuesto ladrón.</p>
<p style="text-align: justify;">Hasta ahí todo parece una buena idea, salvo por que quizá no podrías cambiar de SIM sin notificarlo a Apple. Pero su patente llega más allá, hasta tal punto en que un usuario que haga un Jailbreak también podría ser considerado un usuario no autorizado, y Apple podría desactivar el iPhone si quisiera. Esto es un gran problema, sobre todo teniendo en cuenta que con las restricciones de los iPhones, un Jailbreak resulta casi obligado para sacarle el máximo partido al dispositivo. ¿Desactivará Apple los iPhones con Jailbreak?</p>
<p style="text-align: center;"><img src="http://www.yakiboo.net/uploads/jailbreak.jpg" alt="" width="400" height="400" /></p>
<p style="text-align: justify;">Vamos a ponernos en situación. Hace tan sólo un mes, la DMCA (Digital Millenium Copyright Act) dijo que la práctica del jailbreak es completamente legal. Por lo tanto, parece que legalmente, Apple lo único que podría hacer es anular la garantía del dispositivo, pero no convertirlo en un precioso ladrillo. Así que es posible que dicha solicitud de patente no sea aprobada, tendremos que esperar. Yo lo que opino es que si algún día se les ocurre desactivar un iPhone con Jailbreak, sobre todo en estos tiempos en los que Android anda tan pegado a iOS, Apple empezaría a perder clientes en masa, clientes que pasarían al androide.</p>
<p style="text-align: justify;">Parece que la ley les puede dar un respiro a los usuarios de iPhone. Pero recordemos que <a href="http://www.gizmodo.es/2010/08/13/steve-jobs-ese-rebelde-conductor-sin-causa.html" target="_blank">Steve Jobs no siempre cumple la ley</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yakiboo.net/%c2%bfdesactivara-apple-iphones-con-jailbreak/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Trasteando con el iPhone 4</title>
		<link>http://www.yakiboo.net/trasteando-con-el-iphone-4/</link>
		<comments>http://www.yakiboo.net/trasteando-con-el-iphone-4/#comments</comments>
		<pubDate>Sun, 22 Aug 2010 10:27:49 +0000</pubDate>
		<dc:creator>sgm</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Móviles]]></category>
		<category><![CDATA[Todo]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://www.yakiboo.net/?p=1547</guid>
		<description><![CDATA[Después de todos los problemas que estaban teniendo las compañías de telefonía móvil para distribuir el iPhone 4 a sus clientes, al fin un amigo mío recibió su ejemplar ayer. ...]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Después de todos los problemas que estaban teniendo las compañías de telefonía móvil para distribuir el iPhone 4 a sus clientes, al fin un amigo mío recibió su ejemplar ayer. Después de toquitear un poco el cacharrillo, quiero contaros mi experiencia y opinión.</p>
<h6 style="text-align: justify;">Por fuera</h6>
<p style="text-align: justify;">El primer vistazo muestra <strong>un dispositivo bonito</strong>, manteniendo la elegancia de Apple. Los materiales están muy cuidados y, aunque me parece un poco pesado (en comparación, por ejemplo, con el iPhone 3GS o mi HTC Legend), resulta bastante delgado, lo que hace que apenas estorbe en el bolsillo.</p>
<p style="text-align: justify;">Pero si algo destaca del nuevo iPhone es su <strong>espectacular pantalla</strong>. Aquí hay que reconocer que me quedé boquiabierto. Una pantalla con una densidad de pixels tan alta que son totalmente inapreciables; es como mirar una fotografía, y no la pantalla de un móvil, ¡es increíble!.</p>
<h6 style="text-align: justify;">Por dentro</h6>
<p style="text-align: justify;">Manejar un iPhone siempre es una gozada; es <strong>fluidez</strong>. En este caso, además, la sensibilidad de la pantalla parece algo mayor que en las versiones anteriores, por lo que resulta más suave todavía la manipulación de imágenes y el movimiento por el menú y las aplicaciones.</p>
<p style="text-align: center;"><a href="../uploads/iphone4_legend.jpg"><img src="../uploads/iphone4_legend.jpg" alt="" width="511" height="377" /></a></p>
<p style="text-align: justify;">Pero <strong>no todo es gloria y perfección</strong>. Ahora viene lo que no me gusta del iPhone, y de Apple en general; básicamente se trata de determinadas características de iOS. Utilizar un iPhone, ahora que estoy acostumbrado a Android, me hace recordar por qué abandoné Windows un día, en virtud de GNU/Linux. iOS no se parece a Windows; me refiero a que iOS está bien programado, pero sí que me recuerda a Windows en lo <strong>restrictivo</strong> que resulta. Es tan restrictivo que realizarle <strong>un Jailbreak resulta casi obligado</strong>, puesto que tal y como viene el teléfono de serie, no puedes hacer cosas como:</p>
<ul style="text-align: justify;">
<li>Instalar aplicaciones que no estén en la AppStore. A lo mejor a algunas personas no les importa, pero a mí me gusta programar, y quiero poder distribuir una aplicación entre mis amigos sin tener que subirla a la AppStore y esperar a que pase la censura de Apple.</li>
<li style="text-align: justify;">Ver y ejecutar flash en páginas web. Esto es algo fundamental hoy en día; existen multitud de contenidos flash en Internet. No puedo entender que Apple quiera símplemente hacer imposible a sus clientes el acceso a dichos contenidos. No lo entiendo.</li>
<li style="text-align: justify;">Poner cualquier canción como melodía. Sí, parece mentira, y hasta ayer no sabía nada; pero resulta que en iOS sólo puedes poner de melodía una de las que vienen por defecto, y si quieres utilizar otra canción tienes que utilizar iTunes en el PC para hacerlo. ¡Qué vergüenza!</li>
</ul>
<p style="text-align: justify;">Otras cosas que un Jailbreak no cura, y que se deberían mejorar en iOS, son el sistema de notificaciones y la pantalla home. Aquí Apple debería aprender un poco de Android, en el que el sistema de notificaciones está muy trabajado, y en la pantalla home se pueden utilizar widgets que extienden las posibilidades del móvil.</p>
<p style="text-align: justify;">Por tanto, el iPhone 4 que compras en la tienda creo que <strong>vale menos de lo que cuesta</strong>. Por menos dinero puedes hacerte con un terminal Android de los buenos, sin ese tipo de restricciones. Claro, que si no quieres instalar aplicaciones que no estén en el AppStore, y eres un usuario estándar que se limita a utilizar iOS con sus limitaciones, quizá un Jailbreak no te sea necesario&#8230; pero entonces creo que tampoco te sería necesario un iPhone 4. Pero bueno, cada uno decide en qué se gasta su dinero; por eso Apple está en la posición en la que está.</p>
<h6 style="text-align: justify;">El antenagate</h6>
<p style="text-align: justify;">El gran y famoso problema del iPhone 4 es la <strong>perdida de cobertura</strong>, sobre todo en zonas con cobertura no muy alta, en el momento en que coges el móvil de forma corriente con la mano izquierda.  Muchos dicen que no es para tanto,  y otros creen que con una actualización de software se corrige &#8211;es imposible, puesto que <strong>el problema es a nivel hardware</strong>&#8211;.</p>
<p style="text-align: justify;">Yo he podido comprobar el fenómeno, y <strong>realmente existe esa pérdida de cobertura</strong> cuando tapas un poco la esquina inferior izquierda. Lo que no sé es si durante una conversación telefónica, este fenómeno puede incluso llegar a cortar la llamada, pero si es así&#8230; es una gran cagada, teniendo en cuenta que un iPhone 4 es un teléfono &#8211;igual que un iMac es un ordenador, aunque Apple se crea tan especial como para no utilizar las palabras ordenador o teléfono en sus campañas&#8211;.</p>
<h6 style="text-align: justify;">En resumen</h6>
<p style="text-align: justify;">En resumen, el iPhone 4 es un buen teléfono, pero siempre y cuando le hagas un jailbreak; de otro modo a mí se me queda bastante cortito, por las cosillas que os he comentado. Pero la problemática viene cuando vengo escuchando últimamente que <strong>Apple piensa anular iPhones que hagan jailbreak</strong>, porque es algo que ven realmente mal &#8211;mientras que yo lo veo necesario, por culpa de las limitaciones que imponen&#8211;. No es algo que esté confirmado, pero en tal caso, si se cumple el rumor, el iPhone me dejaría de parecer lo medianamente interesante que me parece.</p>
<p style="text-align: justify;">Como ya dije, abandoné Windows hace tiempo en mis PCs, y hoy en mi bolsillo <strong>prefiero un Android medio bueno que el mejor de los iPhones</strong>. Unos estarán de acuerdo, otros no; pero es mi opinión.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yakiboo.net/trasteando-con-el-iphone-4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

