<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Diario de un androide</title>
	
	<link>http://androide.hijodeblog.com</link>
	<description>El viaje de un neófito por el universo Android</description>
	<lastBuildDate>Mon, 21 Jun 2010 09:35:55 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/DiarioDeUnAndroide" /><feedburner:info uri="diariodeunandroide" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId>DiarioDeUnAndroide</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><item>
		<title>Creación de aplicaciones Android, parte 4: Servicios</title>
		<link>http://feedproxy.google.com/~r/DiarioDeUnAndroide/~3/QpLVnWC2BqI/</link>
		<comments>http://androide.hijodeblog.com/2010/06/17/creacion-de-aplicaciones-android-parte-4-servicios/#comments</comments>
		<pubDate>Thu, 17 Jun 2010 21:51:51 +0000</pubDate>
		<dc:creator>Dr. SeROne</dc:creator>
				<category><![CDATA[Desarrollo]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[sdk]]></category>
		<category><![CDATA[servicios]]></category>

		<guid isPermaLink="false">http://androide.hijodeblog.com/?p=238</guid>
		<description><![CDATA[Primero hemos aprendido las bases para programar en Android:

Parte 1
Parte 2

Luego hemos aprendido las bases para desarrollar aplicaciones con una interfaz de usuario:

Parte 3

Ahora toca un nuevo componente muy importante: los servicios.
¿Qué es un servicio?
Un servicio es una aplicación que corre de forma automática, sin interacción con el usuario. Desarrollan tareas importantes para el resto [...]]]></description>
			<content:encoded><![CDATA[<p>Primero hemos aprendido las bases para programar en Android:</p>
<ul>
<li><a href="http://androide.hijodeblog.com/2009/10/27/creacion-de-aplicaciones-android-parte-1-preparando-el-entorno/#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed">Parte 1</a></li>
<li><a href="http://androide.hijodeblog.com/2009/11/03/creacion-de-aplicaciones-android-parte-2-conceptos-iniciales/#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed">Parte 2</a></li>
</ul>
<p>Luego hemos aprendido las bases para desarrollar aplicaciones con una interfaz de usuario:</p>
<ul>
<li><a href="http://androide.hijodeblog.com/2010/03/17/creacion-de-aplicaciones-android-parte-3-gestionando-eventos-de-la-interfaz/#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed">Parte 3</a></li>
</ul>
<p>Ahora toca un nuevo componente muy importante: los servicios.</p>
<h3><span style="text-decoration: underline">¿Qué es un servicio?</span></h3>
<p>Un servicio es una aplicación que corre de forma automática, sin interacción con el usuario. Desarrollan tareas importantes para el resto de las aplicaciones o para el sistema.</p>
<p>Ejemplos de servicios son: servidores web, sistemas de comunicaciones, antivirus, etc&#8230;</p>
<p>Un detalle muy importante. En Android los servicios no son independientes, corren en el mismo proceso que <span id="more-238"></span>la aplicación que los consume. Es un cambio de filosofía, pero una vez que se asuma, no implica mayor complejidad.</p>
<h3><span style="text-decoration: underline">Empezando con el servicio</span></h3>
<p>Primero, crearemos un nuevo proyecto Android desde Eclipse, con tan sólo una actividad (sin código adicional. Para ello usaremos el wizard de nuevo proyecto, pero no activaremos la casilla para crear un proyecto de prueba. Ésto nos dará un sólo archivo Java con el código de la actividad y su evento OnCreate.</p>
<pre><span style="color: #0000ff">
package seroton.test.servicio;

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

public class inicio extends Activity
{
	/** Called when the activity is first created. */
	@Override
	public void onCreate(Bundle savedInstanceState)
	{
	    super.onCreate(savedInstanceState);
	    setContentView(R.layout.main);
	}
}
</span></pre>
<p>Vamos a modificar ése código para introducir el esqueleto de nuestro servicio. La primera gran diferencia es la clase de la que hereda, que en vez de ser Activiy ha de ser Service. Además, le meteremos los métodos requeridos por el interfaz (onBind) y otros métodos necesarios (OnDestroy, ServiceStart y ServiceStop). El esqueleto quedaría así:</p>
<pre><span style="color: #0000ff">
package seroton.test.servicio;

import android.app.Service;
import android.content.Intent;
import android.os.Bundle;
import android.os.IBinder;

public class TestServicio extends Service
{
	public void onCreate(Bundle savedInstanceState)
	{
		super.onCreate();

		// Iniciamos el serviciop
		this.iniciarServicio();
	}

	public void onDestroy()
	{
		super.onDestroy();

		// Detenemos el serviciop
		this.finalizarServicio();
	}

	public IBinder onBind(Intent intent)
	{
		// No usado de momento
		return null;
	}

	public void iniciarServicio()
	{
	}

	public void finalizarServicio()
	{
	}
}
</span></pre>
<h3><span style="text-decoration: underline">Modificando el manifiesto</span></h3>
<p>El archivo AndroidManifest.xml define toda la información que la máquina virtual Dalvik usará para ejecutar nuestra aplicación. Y ahora deberemos decirle que nuestra aplicación es en realidad un servicio. Para ello deberemos modificar el archivo que ha creado el wizard y escribir lo siguiente:</p>
<pre><span style="color: #0000ff">
&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;manifest
	xmlns:android="http://schemas.android.com/apk/res/android"
	package="seroton.test.servicio"
	android:versionCode="1"
	android:versionName="1.0"&gt;

	&lt;application android:label="@string/app_name"&gt;
		&lt;service android:name="seroton.test.servicio.TestServicio"/&gt;
	&lt;/application&gt;

&lt;/manifest&gt;
</span></pre>
<h3><span style="text-decoration: underline">Haciendo que el servicio haga algo</span></h3>
<p>Vale, ya tenemos nuestro servicio, pero ahora vamos a darle trabajo. Un servicio hace una tarea cada cierto tiempo, o cuando se dan ciertas condiciones. En éste ejemplo, vamos a hacer que nos muestre un mensaje cada cierto tiempo. Algo básico, pero que nos dá la idea de cómo funciona todo <img src='http://androide.hijodeblog.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Lo primero será crear un timer, un componente del sistema que realiza tareas cada cierto tiempo. Luego definiremos un método para ejecutar ésa tarea. También añadiremos el enlace para que pueda comunicarse con la actividad lanzadora (eso lo veremos luego). El código final de nuestro servicio sería:</p>
<pre><span style="color: #0000ff">
package seroton.test.servicio;

import java.util.Timer;
import java.util.TimerTask;

import android.app.Activity;
import android.app.Service;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.os.IBinder;
import android.os.Looper;
import android.widget.TextView;
import android.widget.Toast;
import android.util.Log;

public class TestServicio extends Service
{
	public static Activity ACTIVIDAD;
	private Timer timer = null;

	public static void establecerActividadPrincipal(Activity actividad)
	{
		TestServicio.ACTIVIDAD=actividad;
	}

	public void onCreate()
	{
		super.onCreate();

		// Iniciamos el servicio
		this.iniciarServicio();

		Log.i(getClass().getSimpleName(), "Servicio iniciado");
	}

	public void onDestroy()
	{
		super.onDestroy();

		// Detenemos el serviciop
		this.finalizarServicio();

		Log.i(getClass().getSimpleName(), "Servicio detenido");
	}

	public IBinder onBind(Intent intent)
	{
		// No usado de momento, sólo se usa si se va a  utilizar IPC
		// (Inter-Process Communication) para comunicarse entre procesos
		return null;
	}

	public void iniciarServicio()
	{
		try
		{
			Log.i(getClass().getSimpleName(), "Iniciando servicio...");

			// Creamos el timer
			this.timer=new Timer();

			// Configuramos lo que tiene que hacer
			this.timer.scheduleAtFixedRate
			(
				new TimerTask()
				{
					public void run()
					{
						ejecutarTarea();
					}
				},
				0,
				1000	// Cada segundo
			);

			Log.i(getClass().getSimpleName(), "Temporizador iniciado");
		}
		catch(Exception e)
		{
			Log.i(getClass().getSimpleName(), e.getMessage());
		}
	}

	public void finalizarServicio()
	{
		try
		{
			Log.i(getClass().getSimpleName(), "Finalizando servicio...");

			// Detenemos el timer
			this.timer.cancel();

			Log.i(getClass().getSimpleName(), "Temporizador detenido");

		}
		catch(Exception e)
		{
			Log.i(getClass().getSimpleName(), e.getMessage());
		}
	}

	private void ejecutarTarea()
	{
		Log.i(getClass().getSimpleName(), "Ejecutando tarea...");

		// Reflejamos la tarea en la actividad principal
		TestServicio.ACTIVIDAD.runOnUiThread
		(
			new Runnable()
			{
				public void run()
				{
					TextView ejecuciones=(TextView)TestServicio.ACTIVIDAD.findViewById(R.id.TextView01);
					ejecuciones.append(".");
				}
			}
		);
	}
}
</span></pre>
<h3><span style="text-decoration: underline">Añadiendo un lanzador para el servicio</span></h3>
<p>Bien, tenemos un servicio funcional, pero éste servicio no se ejecutará hasta que alguien lo pida. Haremos una pequeña actividad para lanzar éste servicio. No me dentendré en éste paso, porque básicamente vamos a usar lo mismo que ya dijimos en temas anteriores. Añadiremos controles para que el servicio pueda notificar sus acciones.</p>
<p>Creamos una nueva clase llamada TestServicioLanzador en el paquete donde está el servicio, con el código siguiente:</p>
<pre><span style="color: #0000ff">
package seroton.test.servicio;

import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.os.Looper;
import android.util.Log;
import android.widget.ProgressBar;
import android.widget.TextView;
import android.widget.Toast;

public class TestServicioLanzador extends Activity
{
	ProgressBar barraProgreso=null;
	TextView ejecuciones=null;

	public void onCreate(Bundle savedInstanceState)
	{
	    // Iniciamos y establecemos el layout
	    super.onCreate(savedInstanceState);
	    setContentView(R.layout.main);

	    // Asociamos los controles
	    this.barraProgreso=(ProgressBar)findViewById(R.id.ProgressBar01);
	    this.ejecuciones=(TextView)findViewById(R.id.TextView01);

	    // Establecemos la actividad principal para el servicio
	    TestServicio.ACTIVIDAD=this;

	    // Iniciamos el servicio
	    try
	    {
			Log.i(getClass().getSimpleName(), "Iniciando servicio desde la actividad...");

			// Cogemos el intent el servicio
		    Intent servicio = new Intent(this, TestServicio.class);

		    // Lo ejecutamos
		    if(startService(servicio)==null)
		    {
		    	this.notificar("No se ha podido iniciar el servicio");
		    }
		    else
		    {
		    	this.notificar("Servicio iniciado correctamente");
		    }
	    }
	    catch(Exception e)
	    {
	    	this.notificar(e.getMessage());
	    }
	}

	public void onDestroy()
	{
		super.onDestroy();

		try
		{
			// Finalizamos el servicio
			Log.i(getClass().getSimpleName(), "Finalizando el servicio desde la actividad...");

			// Cogemos el intent el servicio
		    Intent servicio = new Intent(this, TestServicio.class);

		    // Lo ejecutamos
		    if(stopService(servicio))
		    {
		    	this.notificar("Servicio finalizado correctamente");
		    }
		    else
		    {
		    	this.notificar("No se ha podido finalizar el servicio");
		    }

			// Salimos
			this.finalize();
		}
	    catch (Throwable e)
	    {
	    	this.notificar(e.getMessage());
		}
	}

	private void notificar(String cadena)
	{
		// Notificamos con un toast
		Context contexto = getApplicationContext();

		CharSequence texto = cadena;
		int duracion = Toast.LENGTH_SHORT;

		Toast toast = Toast.makeText(contexto, texto, duracion);
		toast.show();
	}
}
</span></pre>
<p>Seguidamente definiremos el layout (en main.xml), que no tendrá nada especial:</p>
<pre><span style="color: #0000ff">
&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
	android:orientation="vertical"
	android:layout_width="fill_parent"
	android:layout_height="fill_parent"&gt;

	&lt;TextView
		android:layout_width="fill_parent"
		android:layout_height="wrap_content"
		android:text="Servicio iniciado. Puedes salir de ésta aplicación con las teclas Back o Home." /&gt;

&lt;/LinearLayout&gt;
</span></pre>
<p>Y luego definiremos la actividad en el manifiesto, que quedaría de la forma siguiente:</p>
<pre><span style="color: #0000ff">
&lt;?xml version="1.0" encoding="utf-8"?&gt;

&lt;LinearLayout
	xmlns:android="http://schemas.android.com/apk/res/android"
	android:orientation="vertical"
	android:layout_width="fill_parent"
	android:layout_height="fill_parent"&gt;

	&lt;TextView
		android:layout_width="fill_parent"
		android:layout_height="wrap_content"
		android:text="Pulsa Back o Home para finalizar el servicio."
		android:padding="10px"/&gt;

	&lt;ProgressBar
		android:id="@+id/ProgressBar01"
		android:layout_width="wrap_content"
		android:layout_height="wrap_content"
		android:layout_gravity="center"&gt;&lt;/ProgressBar&gt;

	&lt;TextView
		android:id="@+id/TextView01"
		android:layout_width="fill_parent"
		android:layout_height="wrap_content"
		android:text="Ejecuciones: "
		android:padding="10px"/&gt;

&lt;/LinearLayout&gt;
</span></pre>
<h3><span style="text-decoration: underline">Para finalizar</span></h3>
<p>Hemos creado un servicio muy básico, que podemos adaptar para hacer multitud de tareas sin la interacción del usuario.</p>
<p>Obviamente, la correcta ejecución del servicio también se podrá ver a través del log del sistema. Para verlo, usad el siguiente comando:</p>
<p style="padding-left: 30px"><span style="color: #0000ff">adb logcat</span></p>
<p>Éste comando se conectará con el log del emulador o del móvil que tengáis conectado, y lo mostrará por la ventana de la consola. Allí identificaréis claramente la salida.</p>
<p>¡A programar, gente!</p>
<p><map name='google_ad_map_238_93ec0a90313e225a'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/238?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_238_93ec0a90313e225a' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=238&amp;url= http%3A%2F%2Fandroide.hijodeblog.com%2F2010%2F06%2F17%2Fcreacion-de-aplicaciones-android-parte-4-servicios%2F' /></p>
<p><a href="http://feedads.g.doubleclick.net/~a/_ZKXmVsGeim25Kh7yEOxF2gXDs0/0/da"><img src="http://feedads.g.doubleclick.net/~a/_ZKXmVsGeim25Kh7yEOxF2gXDs0/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/_ZKXmVsGeim25Kh7yEOxF2gXDs0/1/da"><img src="http://feedads.g.doubleclick.net/~a/_ZKXmVsGeim25Kh7yEOxF2gXDs0/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/DiarioDeUnAndroide/~4/QpLVnWC2BqI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://androide.hijodeblog.com/2010/06/17/creacion-de-aplicaciones-android-parte-4-servicios/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://androide.hijodeblog.com/2010/06/17/creacion-de-aplicaciones-android-parte-4-servicios/#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed</feedburner:origLink></item>
		<item>
		<title>ADW Launcher: El mejor reemplazo de escritorio que he visto hasta ahora</title>
		<link>http://feedproxy.google.com/~r/DiarioDeUnAndroide/~3/lCHyU0cPmSI/</link>
		<comments>http://androide.hijodeblog.com/2010/06/15/adw-launcher-el-mejor-reemplazo-de-escritorio-que-he-visto-hasta-ahora/#comments</comments>
		<pubDate>Tue, 15 Jun 2010 09:15:54 +0000</pubDate>
		<dc:creator>Dr. SeROne</dc:creator>
				<category><![CDATA[Aplicaciones]]></category>
		<category><![CDATA[adwlauncher]]></category>
		<category><![CDATA[home replacement]]></category>
		<category><![CDATA[personalización]]></category>
		<category><![CDATA[reemplazo de escritorio]]></category>
		<category><![CDATA[xperia x10]]></category>

		<guid isPermaLink="false">http://androide.hijodeblog.com/?p=233</guid>
		<description><![CDATA[Éste escritorio emula el aspecto de Android 2.2, añadiéndole un montón de características increíbles que, por lo menos en el XPERIA X10, funcionan a laas mil maravillas y complementan el teléfono estupendamente. Y empiezo a citar ejemplos:

Es capaz de mostrar más de 4&#215;4 iconos en el escritorio. El XPERIA X10 tiene una pantalla enorme, y [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright" src="http://farm5.static.flickr.com/4032/4702892108_998b5e23a2_m.jpg" alt="" width="144" height="240" />Éste escritorio emula el aspecto de Android 2.2, añadiéndole un montón de características increíbles que, por lo menos en el XPERIA X10, funcionan a laas mil maravillas y complementan el teléfono estupendamente. Y empiezo a citar ejemplos:</p>
<ul>
<li>Es capaz de mostrar más de 4&#215;4 iconos en el escritorio. El XPERIA X10 tiene una pantalla enorme, y una configuración de 4&#215;5 iconos queda muuucho mejor que los espacios infinitos entre iconos del escritorio básico.</li>
<li>Permite configurar múltiples escritorios, desde uno solo hasta un buen montón de ellos <img src='http://androide.hijodeblog.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
<li>Permite asignar lanzadores rápidos al lado de la tecla del lanzador del menú, algo increíblemente cómodo cuando te acostumbras a ellos.</li>
<li>Es precioso visualmente, aunque supongo que ésto ya va para gustos <img src='http://androide.hijodeblog.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
</ul>
<p>Muchas más caracteristicas se esconden en el interior de ésta maravilla, pero tendréis que descargarla para verlas. Está en el market, pero si lo deseáis podéis usar éstos códigos QR para descargarlos:</p>
<ul>
<li> <a href="http://bubiloop.com/search/pname:org.adw.launcher_donut">Versión para Android 1.6 (Donut)</a><br />
<img src="http://bubiloop.com/system/application/images/android/org.adw.launcher_donutQR" alt="" /></li>
<li> <a href="http://bubiloop.com/search/pname:org.adw.launcher">Versión para Android 2.0 (Eclair)</a><br />
<img src="http://bubiloop.com/system/application/images/android/org.adw.launcherQR" alt="" /></li>
</ul>
<p>La página web oficial del proyecto es <a href="http://jbthemes.com/anderweb/">http://jbthemes.com/anderweb/</a>, por si deseáis más información o queréis leer las últimas noticias de AnderWeb, su autor.</p>
<p>Os dejo con unas cuantas capturas más de ésta maravilla:</p>
<div align="center"><img style="margin: 5px" src="http://farm5.static.flickr.com/4016/4702258173_d9c1518774_o.jpg" alt="" width="230" /><img style="margin: 5px" src="http://farm5.static.flickr.com/4052/4702892240_f051639065_o.jpg" alt="" width="230" /></div>
<div align="center"><img style="margin: 5px" src="http://farm2.static.flickr.com/1284/4702258097_cd8b3f06c1_o.jpg" alt="" width="230" /><img style="margin: 5px" src="http://farm5.static.flickr.com/4014/4702258059_9d856fa5cd_o.jpg" alt="" width="230" /></div>
<p><map name='google_ad_map_233_93ec0a90313e225a'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/233?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_233_93ec0a90313e225a' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=233&amp;url= http%3A%2F%2Fandroide.hijodeblog.com%2F2010%2F06%2F15%2Fadw-launcher-el-mejor-reemplazo-de-escritorio-que-he-visto-hasta-ahora%2F' /></p>
<p><a href="http://feedads.g.doubleclick.net/~a/nyuvjVq0M5AWw2SetIRffzlBnbM/0/da"><img src="http://feedads.g.doubleclick.net/~a/nyuvjVq0M5AWw2SetIRffzlBnbM/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/nyuvjVq0M5AWw2SetIRffzlBnbM/1/da"><img src="http://feedads.g.doubleclick.net/~a/nyuvjVq0M5AWw2SetIRffzlBnbM/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/DiarioDeUnAndroide/~4/lCHyU0cPmSI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://androide.hijodeblog.com/2010/06/15/adw-launcher-el-mejor-reemplazo-de-escritorio-que-he-visto-hasta-ahora/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://androide.hijodeblog.com/2010/06/15/adw-launcher-el-mejor-reemplazo-de-escritorio-que-he-visto-hasta-ahora/#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed</feedburner:origLink></item>
		<item>
		<title>Firma para pedir a Sony Ericsson que actualize el XPERIA X10!</title>
		<link>http://feedproxy.google.com/~r/DiarioDeUnAndroide/~3/V5lGShZ-_GE/</link>
		<comments>http://androide.hijodeblog.com/2010/05/30/firma-para-pedir-a-sony-ericsson-que-actualize-el-xperia-x10/#comments</comments>
		<pubDate>Mon, 31 May 2010 00:01:32 +0000</pubDate>
		<dc:creator>Dr. SeROne</dc:creator>
				<category><![CDATA[Noticias]]></category>
		<category><![CDATA[firma]]></category>
		<category><![CDATA[froyo petición]]></category>
		<category><![CDATA[xperia x10]]></category>

		<guid isPermaLink="false">http://androide.hijodeblog.com/?p=229</guid>
		<description><![CDATA[Ya se sabe que Sony Ericsson no planea actualizar los XPERIA X10 hasta el final de 2010. Y será para meter Android 2.1 cuando Android 2.2 ya esté bastante asentado. Esto no es adminisible, aunque Sony nos tiene acostumbrados a que suele hacer lo que le dá la gana&#8230;
Por eso, se ha iniciado una petición [...]]]></description>
			<content:encoded><![CDATA[<p>Ya se sabe que Sony Ericsson no planea actualizar los XPERIA X10 hasta el final de 2010. Y será para meter Android 2.1 cuando Android 2.2 ya esté bastante asentado. Esto no es adminisible, aunque Sony nos tiene acostumbrados a que suele hacer lo que le dá la gana&#8230;</p>
<p>Por eso, se ha iniciado una petición para pedir a Sony Ericsson que actualize el XPERIA X10 a Android 2.2. No sé si servirá de algo, pero por lo menos hemos de intentarlo&#8230; Si deseas apoyar la iniciativa, <strong><a title="¡Firma la peticición!" href="http://www.petitiononline.com/froyo/petition.html">firma aquí la petición</a></strong>. No tardarás ni un minuto.</p>
<p>Yo ya lo he hecho, y al momento de crear ésta entrada 465 personas también lo habían hecho. ¡Animate y firma!</p>
<p><img class="aligncenter" src="http://farm5.static.flickr.com/4039/4653955241_dacbce9de3.jpg" alt="" width="500" height="254" /></p>
<p><map name='google_ad_map_229_93ec0a90313e225a'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/229?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_229_93ec0a90313e225a' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=229&amp;url= http%3A%2F%2Fandroide.hijodeblog.com%2F2010%2F05%2F30%2Ffirma-para-pedir-a-sony-ericsson-que-actualize-el-xperia-x10%2F' /></p>
<p><a href="http://feedads.g.doubleclick.net/~a/RLqecYfY5jGkB75SHKbt3SYOlEk/0/da"><img src="http://feedads.g.doubleclick.net/~a/RLqecYfY5jGkB75SHKbt3SYOlEk/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/RLqecYfY5jGkB75SHKbt3SYOlEk/1/da"><img src="http://feedads.g.doubleclick.net/~a/RLqecYfY5jGkB75SHKbt3SYOlEk/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/DiarioDeUnAndroide/~4/V5lGShZ-_GE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://androide.hijodeblog.com/2010/05/30/firma-para-pedir-a-sony-ericsson-que-actualize-el-xperia-x10/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://androide.hijodeblog.com/2010/05/30/firma-para-pedir-a-sony-ericsson-que-actualize-el-xperia-x10/#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed</feedburner:origLink></item>
		<item>
		<title>Novedades en Android 2.2 (Froyo)</title>
		<link>http://feedproxy.google.com/~r/DiarioDeUnAndroide/~3/jycNaZNEJM8/</link>
		<comments>http://androide.hijodeblog.com/2010/05/28/novedades-en-android-2-2-froyo/#comments</comments>
		<pubDate>Fri, 28 May 2010 07:29:14 +0000</pubDate>
		<dc:creator>Dr. SeROne</dc:creator>
				<category><![CDATA[Noticias]]></category>
		<category><![CDATA[2.2]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[froyo. exchange]]></category>

		<guid isPermaLink="false">http://androide.hijodeblog.com/?p=226</guid>
		<description><![CDATA[La última versión de Android traerá varias novedades interesantes:

 Se ha mejorado el compilador de la máquina virtual Dalvik, que hace que las aplicaciones corran entre 2 y 5 veces más rápido.
 Se añade soporte Exchange para el calendario. Muy útil para su sincronización con Outlook.
 Ahora se puede proteger la lista de contactos con [...]]]></description>
			<content:encoded><![CDATA[<p>La última versión de Android traerá varias novedades interesantes:</p>
<ul>
<li> Se ha mejorado el compilador de la máquina virtual Dalvik, que hace que las aplicaciones corran entre 2 y 5 veces más rápido.</li>
<li> Se añade soporte Exchange para el calendario. Muy útil para su sincronización con Outlook.</li>
<li> Ahora se puede proteger la lista de contactos con una contraseña.</li>
<li> Se ha añadido un nuevo motor Javascript, que hace que el navegador web se ejecute más rápido.</li>
<li> El menú de aplicaciones del escritorio de ha mejorado añadiendo un par de iconos rápidos.</li>
<li> Nuevo soporte para múltiples teclados. Ahora se pueden cambiar mientras se escribe, a través de un gesto de deslizamiento.</li>
<li> Tethering nativo. O eso se afirma, aunque hasta que no lo vea no me lo creeré&#8230;</li>
<li> Se han añadido mejoras en la grabación de video y la captura de fotos. Se ha añadido multitouch en la galería.</li>
<li> Las nuevas APIs permitirán utilizar la nube de Google (Google Cloud) de forma nativa. Se añade la posibilidad de instalar aplicaciones en la SD.</li>
<li> Se añade el envío de reportes de error a través del Market.</li>
</ul>
<p>Ahora habrá que morderse las uñas hasta que o se consiga rootear el X10 y pueda poner una rom con éste nuevo Android 2.2, o que Sony quiera actualizar el cacharro, lo que creo que de momento no va a pasar&#8230;</p>
<p><img class="aligncenter" src="http://farm4.static.flickr.com/3399/4647086576_6c3e59bce8_o.png" alt="" width="320" height="400" />Fuente: <a href="http://and.roid.es/io2010android-2-2-froyo-todas-las-novedades.html">and.roid.es</a></p>
<p><map name='google_ad_map_226_93ec0a90313e225a'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/226?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_226_93ec0a90313e225a' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=226&amp;url= http%3A%2F%2Fandroide.hijodeblog.com%2F2010%2F05%2F28%2Fnovedades-en-android-2-2-froyo%2F' /></p>
<p><a href="http://feedads.g.doubleclick.net/~a/1mBOcR_oAYzOREvkSxYO0lA3ofc/0/da"><img src="http://feedads.g.doubleclick.net/~a/1mBOcR_oAYzOREvkSxYO0lA3ofc/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/1mBOcR_oAYzOREvkSxYO0lA3ofc/1/da"><img src="http://feedads.g.doubleclick.net/~a/1mBOcR_oAYzOREvkSxYO0lA3ofc/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/DiarioDeUnAndroide/~4/jycNaZNEJM8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://androide.hijodeblog.com/2010/05/28/novedades-en-android-2-2-froyo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://androide.hijodeblog.com/2010/05/28/novedades-en-android-2-2-froyo/#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed</feedburner:origLink></item>
		<item>
		<title>¡Ya se ha conseguido acceso Root en el Sony Ericsson Xperia X10!</title>
		<link>http://feedproxy.google.com/~r/DiarioDeUnAndroide/~3/rZ1Djt0HaVI/</link>
		<comments>http://androide.hijodeblog.com/2010/05/26/%c2%a1ya-se-ha-conseguido-acceso-root-en-el-sony-ericsson-xperia-x10/#comments</comments>
		<pubDate>Wed, 26 May 2010 13:50:12 +0000</pubDate>
		<dc:creator>Dr. SeROne</dc:creator>
				<category><![CDATA[Dispositivos]]></category>
		<category><![CDATA[root]]></category>
		<category><![CDATA[setool]]></category>
		<category><![CDATA[xperia x10]]></category>

		<guid isPermaLink="false">http://androide.hijodeblog.com/?p=224</guid>
		<description><![CDATA[Aunque de momento no es una forma muy usable, ya que es necesario un hardware llamado SETool, un sistema de flasheo que cuesta sus buenas 140 libras. Demasiado de momento  
De todas formas es un primer paso, ya que con éstas técnicas la gente de XDA Developers podrá, con el tiempo, encontrar una técnica [...]]]></description>
			<content:encoded><![CDATA[<p>Aunque de momento no es una forma muy usable, ya que es necesario un hardware llamado <a href="http://www.fonefunshop.co.uk/Unlocking/setool.htm">SETool</a>, un sistema de flasheo que cuesta sus buenas 140 libras. Demasiado de momento <img src='http://androide.hijodeblog.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>De todas formas es un primer paso, ya que con éstas técnicas la gente de <a href="http://forum.xda-developers.com/">XDA Developers</a> podrá, con el tiempo, encontrar una técnica tan sencilla como la utilizada para ganar acceso root en los terminales de HTC.</p>
<p>Genial noticia, sin duda <img src='http://androide.hijodeblog.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> <br />
<img class="aligncenter" src="http://farm5.static.flickr.com/4003/4642039008_4f435d153f_o.jpg" alt="" width="263" height="219" />Fuente: <a href="http://androidcommunity.com/sony-ericsson-xperia-x10-rooted-20100517/">androidcommunity.com</a></p>
<p><map name='google_ad_map_224_93ec0a90313e225a'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/224?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_224_93ec0a90313e225a' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=224&amp;url= http%3A%2F%2Fandroide.hijodeblog.com%2F2010%2F05%2F26%2F%25c2%25a1ya-se-ha-conseguido-acceso-root-en-el-sony-ericsson-xperia-x10%2F' /></p>
<p><a href="http://feedads.g.doubleclick.net/~a/z3Cflxothv6_R56OTqU1ngfuk0M/0/da"><img src="http://feedads.g.doubleclick.net/~a/z3Cflxothv6_R56OTqU1ngfuk0M/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/z3Cflxothv6_R56OTqU1ngfuk0M/1/da"><img src="http://feedads.g.doubleclick.net/~a/z3Cflxothv6_R56OTqU1ngfuk0M/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/DiarioDeUnAndroide/~4/rZ1Djt0HaVI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://androide.hijodeblog.com/2010/05/26/%c2%a1ya-se-ha-conseguido-acceso-root-en-el-sony-ericsson-xperia-x10/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://androide.hijodeblog.com/2010/05/26/%c2%a1ya-se-ha-conseguido-acceso-root-en-el-sony-ericsson-xperia-x10/#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed</feedburner:origLink></item>
		<item>
		<title>Sony Ericsson Xperia X10</title>
		<link>http://feedproxy.google.com/~r/DiarioDeUnAndroide/~3/MC3slpwSGlM/</link>
		<comments>http://androide.hijodeblog.com/2010/05/13/sony-ericsson-xperia-x10/#comments</comments>
		<pubDate>Thu, 13 May 2010 08:27:37 +0000</pubDate>
		<dc:creator>Dr. SeROne</dc:creator>
				<category><![CDATA[Dispositivos]]></category>
		<category><![CDATA[sony]]></category>
		<category><![CDATA[sony ericsson]]></category>
		<category><![CDATA[xperia]]></category>
		<category><![CDATA[xperia x10]]></category>

		<guid isPermaLink="false">http://androide.hijodeblog.com/?p=221</guid>
		<description><![CDATA[Desde hace una semana y algunos días soy un feliz nuevo poseedor de un Sony Ericsson Xperia X10, que reemplaza a mi querida HTC Magic, que me ha acompañado durante todo un año dándome un excelente servicio, sin duda.
Éste nuevo teléfono es un auténtico pepino. Con todo un Snapdragon de 1 ghz, en su interior [...]]]></description>
			<content:encoded><![CDATA[<p>Desde hace una semana y algunos días soy un feliz nuevo poseedor de un <a href="http://www.sonyericsson.com/cws/products/mobilephones/overview/xperiax10">Sony Ericsson Xperia X10</a>, que reemplaza a mi querida <a href="http://cgi.ebay.es/ws/eBayISAPI.dll?ViewItem&amp;item=260599292752&amp;ssPageName=STRK:MESELX:IT">HTC Magic</a>, que me ha acompañado durante todo un año dándome un excelente servicio, sin duda.</p>
<p>Éste nuevo teléfono es un auténtico pepino. Con todo un <a href="http://androide.hijodeblog.com/2010/02/23/moviles-android-con-microprocesadores-snapdragon/#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed">Snapdragon</a> de 1 ghz, en su interior y una enorme pantalla de 4 pulgadas, el Xperia se ve grande y poderoso, aunque, como contrapunto, las modificaciones de Sony al Android que le mueve no son muy satisfactorias. El móvil mejorará mucho cuando la scene empiece a sacar roms para él y pueda ponerle un Android menos modificado.</p>
<p>Con tan sólo éste pequeño tiempo de prueba, ya os puedo decir algunas cositas del teléfono:</p>
<p><strong>Lo bueno:</strong></p>
<ul>
<li>Se nota el micro extra, va muy fluido</li>
<li>Se nota igualmente la RAM extra</li>
<li>Aunque es tan grande el móvil es cómodo de llevar</li>
<li>La agenda de Sony es bastane mejor que la agenda básica de Android</li>
</ul>
<p><strong>Lo malo:</strong></p>
<ul>
<li>Sistema operativo Android demasiado modificado</li>
<li>Basado en 1.6 en vez de en 2.1, a ver si actualizan pronto&#8230;</li>
<li>Hay un bug en el sistema de sonido que hace qu muy puntualmente algunas llamadas suenen raro.</li>
</ul>
<p>Cuando sepa más, más os diré. ¡Hasta pronto!</p>
<p><img class="aligncenter" src="http://farm2.static.flickr.com/1282/4602950609_26ac37c283.jpg" alt="" width="500" height="240" /></p>
<p><map name='google_ad_map_221_93ec0a90313e225a'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/221?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_221_93ec0a90313e225a' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=221&amp;url= http%3A%2F%2Fandroide.hijodeblog.com%2F2010%2F05%2F13%2Fsony-ericsson-xperia-x10%2F' /></p>
<p><a href="http://feedads.g.doubleclick.net/~a/GQWssYyTDtLMea-T2WTHkLeb-iE/0/da"><img src="http://feedads.g.doubleclick.net/~a/GQWssYyTDtLMea-T2WTHkLeb-iE/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/GQWssYyTDtLMea-T2WTHkLeb-iE/1/da"><img src="http://feedads.g.doubleclick.net/~a/GQWssYyTDtLMea-T2WTHkLeb-iE/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/DiarioDeUnAndroide/~4/MC3slpwSGlM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://androide.hijodeblog.com/2010/05/13/sony-ericsson-xperia-x10/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		<feedburner:origLink>http://androide.hijodeblog.com/2010/05/13/sony-ericsson-xperia-x10/#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed</feedburner:origLink></item>
		<item>
		<title>Abierta la beta pública del FlashPlayer para Android</title>
		<link>http://feedproxy.google.com/~r/DiarioDeUnAndroide/~3/izItNuB3N9Y/</link>
		<comments>http://androide.hijodeblog.com/2010/04/25/abierta-la-beta-publica-del-flashplayer-para-android/#comments</comments>
		<pubDate>Sun, 25 Apr 2010 19:15:13 +0000</pubDate>
		<dc:creator>Dr. SeROne</dc:creator>
				<category><![CDATA[Aplicaciones]]></category>
		<category><![CDATA[Desarrollo]]></category>

		<guid isPermaLink="false">http://androide.hijodeblog.com/?p=217</guid>
		<description><![CDATA[Me entero por and.roid.es de que Adobe ha abierto la beta para probar la versión Android de su Flash Player 10.1.
El reproductor Flash poco a poco va acercándose a todos los dispositivos móviles modernos, como las Blackberrys de RIM, los diferentes Androids, etc. Incluso a los IPhones de Apple, con lu duro que es pasar [...]]]></description>
			<content:encoded><![CDATA[<p>Me entero por <a href="http://and.roid.es/adobe-flash-inscripcion-para-betatester.html">and.roid.es</a> de que Adobe ha abierto la beta para probar la versión Android de su Flash Player 10.1.</p>
<p>El reproductor Flash poco a poco va acercándose a todos los dispositivos móviles modernos, como las Blackberrys de RIM, los diferentes Androids, etc. Incluso a los IPhones de Apple, con lu duro que es pasar el bloqueo de Steve Jobs <img src='http://androide.hijodeblog.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> . Y ya hay comparativas que muestran la misma aplicación flash corriendo en dos dispositivos con dos sistemas operativos diferentes:</p>
<p><a href="http://androide.hijodeblog.com/2010/04/25/abierta-la-beta-publica-del-flashplayer-para-android/"><em>Pinche aquí para ver el vídeo</em></a></p>
<p>Interesante, ¿no? Pues si queires hacer ésta prueba ya puedes hacerlo. Para registrarse para probar la beta basta con seguir <a>éste enlace</a>. Yo ya lo he hecho, ya os contaré cuando me avisen <img src='http://androide.hijodeblog.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><map name='google_ad_map_217_93ec0a90313e225a'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/217?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_217_93ec0a90313e225a' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=217&amp;url= http%3A%2F%2Fandroide.hijodeblog.com%2F2010%2F04%2F25%2Fabierta-la-beta-publica-del-flashplayer-para-android%2F' /></p>
<p><a href="http://feedads.g.doubleclick.net/~a/kZVMjOlUl_iM7PfBi0EIKA2d3l8/0/da"><img src="http://feedads.g.doubleclick.net/~a/kZVMjOlUl_iM7PfBi0EIKA2d3l8/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/kZVMjOlUl_iM7PfBi0EIKA2d3l8/1/da"><img src="http://feedads.g.doubleclick.net/~a/kZVMjOlUl_iM7PfBi0EIKA2d3l8/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/DiarioDeUnAndroide/~4/izItNuB3N9Y" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://androide.hijodeblog.com/2010/04/25/abierta-la-beta-publica-del-flashplayer-para-android/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://androide.hijodeblog.com/2010/04/25/abierta-la-beta-publica-del-flashplayer-para-android/#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed</feedburner:origLink></item>
		<item>
		<title>Liberando memoria RAM en la HTC Magic</title>
		<link>http://feedproxy.google.com/~r/DiarioDeUnAndroide/~3/XdUcKZoZVJk/</link>
		<comments>http://androide.hijodeblog.com/2010/04/12/liberando-memoria-ram-en-la-htc-magic/#comments</comments>
		<pubDate>Mon, 12 Apr 2010 11:37:41 +0000</pubDate>
		<dc:creator>Dr. SeROne</dc:creator>
				<category><![CDATA[Modificaciones]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[ram]]></category>
		<category><![CDATA[root]]></category>

		<guid isPermaLink="false">http://androide.hijodeblog.com/?p=214</guid>
		<description><![CDATA[La gente de SpanDroid ha creado un pequeño pero interesante tutorial para liberar algunos megas de memoria de nuestro dispositivo, gracias a un truquillo para poder eliminar aplicaciones del sistema que no utilicemos.
El ejemplo que ellos dan es significativo: la aplicación de E-Mail. Si eres como casi todos, y lees todas tus cuentas de correo [...]]]></description>
			<content:encoded><![CDATA[<p>La gente de <a href="http://spandroid.wordpress.com/">SpanDroid</a> ha creado un pequeño pero interesante <a href="http://spandroid.wordpress.com/2010/04/08/liberando-memoria-en-android-primera-parte/">tutorial</a> para liberar algunos megas de memoria de nuestro dispositivo, gracias a un truquillo para poder eliminar aplicaciones del sistema que no utilicemos.</p>
<p>El ejemplo que ellos dan es significativo: la aplicación de E-Mail. Si eres como casi todos, y lees todas tus cuentas de correo desde GMail, ésta aplicación no es necesaria y desinstalarla nos dará un mega de memoria que nos viene de perlas. Y todo ésto podremos repetirlo con cuantas aplicaciones deseemos.</p>
<p>Necesitaremos acceso root y una aplicación La aplicación es <strong>Root Explorer</strong>, que se puede comprar por 1,30 libras en el Market. Recordad: iempre podéis comprarlo, hacer éste tutorial y <strong>pedir el reembolso de la compra</strong>, si estáis reacios a pagar <img src='http://androide.hijodeblog.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Los pasos para quitar la aplicación de e-Mail son los siguientes:</p>
<ol>
<li>Vamos al directorio <strong>/system/app</strong> y pulsamos el botón &#8216;<strong>Mount R/W</strong>&#8216; para que Root Explorer pueda efectuar cambios en el sistema.</li>
<li>Copiamos el archivo <strong>/system/app/email.apk</strong> a la tarjeta SD, pro si queremos volver a instalar la aplicación en algún momento.</li>
<li>Borramos el archivo <strong>/system/app/email.apk</strong>.</li>
<li>Borramos el archivo <strong>/data/dalvik-cache/system@app@email.apk@clases.dex</strong>, que es lo que consume memoria en si.</li>
<li>Repetir los pasos 2-4 con tantas aplicaciones como deseemos, buscando en <strong>/data/dalvik-cache</strong> el archivo de caché correspondiente.</li>
<li>Al finalizar, volvemos al directorio <strong>/system/app</strong> y pulsamos el botón &#8216;<strong>Mount R/O</strong>&#8216; para restaurar el estado previo.</li>
</ol>
<p>Yo lo he hecho sin problemas, no deberíais tener ningún problema. ¡A por esa memoria RAM, gente!</p>
<p style="text-align: center">
<img class="aligncenter" src="http://farm3.static.flickr.com/2760/4514495164_a3b283ae6d.jpg" alt="android-rendered" width="500" height="312" /></p>
<p><map name='google_ad_map_214_93ec0a90313e225a'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/214?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_214_93ec0a90313e225a' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=214&amp;url= http%3A%2F%2Fandroide.hijodeblog.com%2F2010%2F04%2F12%2Fliberando-memoria-ram-en-la-htc-magic%2F' /></p>
<p><a href="http://feedads.g.doubleclick.net/~a/bgPrB4rk7K79T4xx5a_jLoJYIUo/0/da"><img src="http://feedads.g.doubleclick.net/~a/bgPrB4rk7K79T4xx5a_jLoJYIUo/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/bgPrB4rk7K79T4xx5a_jLoJYIUo/1/da"><img src="http://feedads.g.doubleclick.net/~a/bgPrB4rk7K79T4xx5a_jLoJYIUo/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/DiarioDeUnAndroide/~4/XdUcKZoZVJk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://androide.hijodeblog.com/2010/04/12/liberando-memoria-ram-en-la-htc-magic/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://androide.hijodeblog.com/2010/04/12/liberando-memoria-ram-en-la-htc-magic/#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed</feedburner:origLink></item>
		<item>
		<title>Creación de aplicaciones Android, parte 3: Gestionando eventos de la interfaz</title>
		<link>http://feedproxy.google.com/~r/DiarioDeUnAndroide/~3/whJwhwKwBjE/</link>
		<comments>http://androide.hijodeblog.com/2010/03/17/creacion-de-aplicaciones-android-parte-3-gestionando-eventos-de-la-interfaz/#comments</comments>
		<pubDate>Wed, 17 Mar 2010 10:33:12 +0000</pubDate>
		<dc:creator>Dr. SeROne</dc:creator>
				<category><![CDATA[Desarrollo]]></category>
		<category><![CDATA[controles]]></category>
		<category><![CDATA[eventos]]></category>
		<category><![CDATA[interfaz]]></category>
		<category><![CDATA[widgets]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://androide.hijodeblog.com/?p=209</guid>
		<description><![CDATA[No te olvides de leer las dos primeras partes del tutorial:

Parte 1: Preparando el entorno
Parte 2: Conceptos iniciales

Ha pasado mucho tiempo, pero volvemos a la carga  
Tras preparar el entorno y ver todos los conceptos de una aplicación Android, vamos a crear y gestionar interfaces de usuario y sus eventos. Éstas interfaces serán nuestro [...]]]></description>
			<content:encoded><![CDATA[<p>No te olvides de leer las dos primeras partes del tutorial:</p>
<ul>
<li>Parte 1: <a href="http://androide.hijodeblog.com/2009/10/27/creacion-de-aplicaciones-android-parte-1-preparando-el-entorno/#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed">Preparando el entorno</a></li>
<li>Parte 2: <a href="http://androide.hijodeblog.com/2009/11/03/creacion-de-aplicaciones-android-parte-2-conceptos-iniciales/#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed">Conceptos iniciales</a></li>
</ul>
<p>Ha pasado mucho tiempo, pero volvemos a la carga <img src='http://androide.hijodeblog.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Tras preparar el entorno y ver todos los conceptos de una aplicación Android, vamos a crear y gestionar interfaces de usuario y sus eventos. Éstas interfaces serán nuestro medio de comunicación con el usuario. Comencemos.</p>
<h3><span style="text-decoration: underline">Creando una interfaz</span></h3>
<p>El plugin ADT que hemos instalado en nuestro Eclipse nos porporciona un editor gráfico para hacer las interfaces. A mi no me gusta demasiado, aún le queda mucho trabajo por delante para ser usable, por lo que generaremos nuestras interfaces directamente en XML.<span id="more-209"></span></p>
<p>Los directorios importantes de nuestra aplicación eran:</p>
<ul>
<li><strong>src</strong>: Aquí irá el código fuente que gestiona cada una de las actividades (y demás)</li>
<li><strong>res/drawable</strong>: Aquí irán recursos gráficos, como imágenes, etc.</li>
<li><strong>res/layout</strong>: Aquí se definirán todas las interfaces de la aplicación</li>
<li><strong>res/values</strong>: Aquí se especifican las cadenas de la aplicación</li>
</ul>
<p>La interfaz por defecto está en <strong>res/layout/main.xml</strong>. Editaremos éste archivo y colocaremos un par de controles para probar la gestión de eventos. Éste es el XML de la interfaz que usaremos en éste ejemplo. Para más información sobre los diferentes widgets de la interfaz, leer <a href="http://developer.android.com/guide/topics/ui/index.html">ésta página</a>.</p>
<p style="padding-left: 30px"><span style="color: #0000ff">&lt;?xml version=&#8221;1.0&#8243; encoding=&#8221;utf-8&#8243;?&gt;</span></p>
<p style="padding-left: 30px"><span style="color: #0000ff">&lt;LinearLayout<br />
xmlns:android=&#8221;http://schemas.android.com/apk/res/android&#8221;<br />
android:orientation=&#8221;vertical&#8221;<br />
android:layout_width=&#8221;fill_parent&#8221;<br />
android:layout_height=&#8221;fill_parent&#8221;<br />
android:padding=&#8221;10px&#8221;&gt;</span></p>
<p style="padding-left: 30px"><span style="color: #0000ff"> &lt;TextView<br />
android:text=&#8221;@string/introduccion&#8221;<br />
android:id=&#8221;@+id/TextViewIntroduccion&#8221;<br />
android:layout_width=&#8221;wrap_content&#8221;<br />
android:layout_height=&#8221;wrap_content&#8221;&gt;&lt;/TextView&gt;</span></p>
<p style="padding-left: 30px"><span style="color: #0000ff"> &lt;EditText<br />
android:text=&#8221;@string/prueba&#8221;<br />
android:id=&#8221;@+id/editTextPrueba&#8221;<br />
android:layout_height=&#8221;wrap_content&#8221;<br />
android:layout_width=&#8221;fill_parent&#8221;<br />
android:layout_marginTop=&#8221;5px&#8221;&gt;&lt;/EditText&gt;</span></p>
<p style="padding-left: 30px"><span style="color: #0000ff"> &lt;Button<br />
android:text=&#8221;@string/boton&#8221;<br />
android:id=&#8221;@+id/buttonPrueba&#8221;<br />
android:layout_width=&#8221;wrap_content&#8221;<br />
android:layout_height=&#8221;wrap_content&#8221;<br />
android:clickable=&#8221;true&#8221;<br />
android:layout_gravity=&#8221;right&#8221;<br />
android:layout_marginTop=&#8221;5px&#8221;&gt;&lt;/Button&gt;</span></p>
<p style="padding-left: 30px"><span style="color: #0000ff">&lt;/LinearLayout&gt;</span></p>
<p>Meteremos las cadenas necesarias en <strong>res/values/strings.xml</strong>:</p>
<p style="padding-left: 30px"><span style="color: #0000ff">&lt;?xml version=&#8221;1.0&#8243; encoding=&#8221;utf-8&#8243;?&gt;<br />
&lt;resources&gt;<br />
&lt;string name=&#8221;app_name&#8221;&gt;Tutorial de Diario de un Androide&lt;/string&gt;<br />
&lt;string name=&#8221;introduccion&#8221;&gt;Introduce lo que desees y pulsa el botón para que se desate la magia <img src='http://androide.hijodeblog.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> &lt;/string&gt;<br />
&lt;string name=&#8221;boton&#8221;&gt;¡Dámelo!&lt;/string&gt;<br />
&lt;string name=&#8221;prueba&#8221;&gt;Quiero, quiero&#8230;&lt;/string&gt;<br />
&lt;/resources&gt;</span></p>
<p>Y con éste paso terminado, ya tendremos un control del que coger información (la caja de texto) y un control del que capturar un evento (el botón), lo que nos dirá cómo gestionar los eventos de nuestra aplicación Android, ya que todos los controls se comportan básicamente de la misma forma.</p>
<p>La interfaz quedaría de ésta forma:</p>
<p><img class="aligncenter" src="http://farm3.static.flickr.com/2750/4440622242_ee3cb59c00_o.png" alt="" width="480" height="141" /></p>
<p>Vayamos ahora con la gestión a nivel de código.</p>
<h3><span style="text-decoration: underline">Gestionando los eventos de la interfaz</span></h3>
<p>Los eventos se gestionan a través de Listeners. Nuestra clase deberá implementar los listeners necesarios (uno por cada uno de los eventos posibles), e implementar los métodos que capturarán los eventos. Los pasos para, por ejemplo, capturar un botón, serían los siguientes:</p>
<ol>
<li>Hacer que la clase implemente los listeners necesarios y añadir los métodos que se requieran (Eclipse puede hacerlo automáticamente).</li>
<li>Capturar los controles de la interfaz en el método onCreate, y asociar sus listeners a la clase.</li>
<li>Implementar los gestores de eventos para cada control en cada uno de los métodos de los listeners.</li>
</ol>
<p>El código completo del ejemplo, con todo lo explicado hasta ahora, es el siguiente. Está bastante comentado, para explicar cada una de las partes. éste código estaría en el archivo de la clase principal, en éste caso <strong>src/tutorialWeb.java</strong>.</p>
<p style="padding-left: 30px"><span style="color: #0000ff">package serone.tutorialWeb;</span></p>
<p style="padding-left: 30px"><span style="color: #339966">/**<br />
* Tutorial para la web androide.hijodeblog.com<br />
* @author Dr. SeROne (doctor@serone.org)<br />
*/</span></p>
<p style="padding-left: 30px"><span style="color: #0000ff"><span style="color: #339966">// Inclusiones necesarias</span><br />
import android.app.Activity;<br />
import android.os.Bundle;<br />
import android.view.View;<br />
import android.view.View.OnClickListener;<br />
import android.widget.Button;<br />
import android.widget.EditText;<br />
import android.widget.Toast;</span></p>
<p style="padding-left: 30px"><span style="color: #0000ff"><span style="color: #339966">/**<br />
* Clase de la actividad principal del tutorial<br />
* @author Dr. SeROne (doctor@serone.org)<br />
*/</span><br />
public class tutorialWeb extends Activity implements OnClickListener<br />
{<br />
<span style="color: #339966">// Propiedades de la clase</span><br />
Button botonPrueba=null;<br />
EditText editTextPrueba=null;</span></p>
<p style="padding-left: 30px"><span style="color: #0000ff"> <span style="color: #339966">/**<br />
* Ciclo de vida de la actividad<br />
*/</span><br />
@Override public void onCreate(Bundle savedInstanceState)<br />
{<br />
<span style="color: #339966">// Pasamos la información dela instancia a la clase padre</span><br />
super.onCreate(savedInstanceState);</span></p>
<p style="padding-left: 30px"><span style="color: #0000ff"> <span style="color: #339966">// Especificamos el contenido de la interfaz de ésta actividad<br />
// (que será nuestro main.xml, en éste caso)</span><br />
setContentView(R.layout.main);</span></p>
<p style="padding-left: 30px"><span style="color: #0000ff"> <span style="color: #339966">// Capturaremos los controles de la interfaz, asociándolos a los<br />
// gestores de eventos (ésta clase, en éste caso) si es necesario.<br />
// Haremos ésto con cada uno de los controles que requieran que sus<br />
// eventos se procesen en ésta actividad.</span></span></p>
<p style="padding-left: 30px"><span style="color: #0000ff"> <span style="color: #339966">// Botón</span><br />
this.botonPrueba=(Button)findViewById(R.id.buttonPrueba);<br />
if(this.botonPrueba!=null) this.botonPrueba.setOnClickListener(this);</span></p>
<p style="padding-left: 30px"><span style="color: #0000ff"> <span style="color: #339966">// Área de texto</span><br />
this.editTextPrueba=(EditText)findViewById(R.id.editTextPrueba);<br />
}</span></p>
<p style="padding-left: 30px"><span style="color: #0000ff"> <span style="color: #339966">/**<br />
* Gestor de los eventos Click<br />
*/</span><br />
@Override public void onClick(View vista)<br />
{<br />
<span style="color: #339966">// Filtramos los controles</span><br />
if(vista.getId()==R.id.buttonPrueba)<br />
{<br />
<span style="color: #339966">// Informaremos al usuario con una notificación de tipo Toast, un<br />
// popup que se muestra brevemente al usuario</span><br />
Toast notificacionToast=Toast.makeText(<br />
getApplicationContext(),<br />
&#8220;¿Quieres un &#8220;+this.editTextPrueba.getText()+&#8221;? ¿Sólo eso? ¡Te lo concedo!&#8221;,<br />
Toast.LENGTH_SHORT);<br />
notificacionToast.show();<br />
}<br />
}<br />
}</span></p>
<p>Disculpad la indentación lamentable, cuando pueda corregiré éstos aspectos con el plugin correspondiente, pero hoy no tengo tiempo&#8230;</p>
<p>El resultado de la ejecución sería:</p>
<p><img class="aligncenter" src="http://farm5.static.flickr.com/4021/4440622268_71bb688a67_o.png" alt="" width="331" height="491" /></p>
<h3><span style="text-decoration: underline">Conclusión</span></h3>
<p>Con éste sencillo evento, hemos aprendido a extraer información y gestionar casi todos los controles disponibles en una aplicación Android, pues todos se comportan de la misma forma. En las siguientes lecciones veremos más controles vitales (como menús, solapas, etc) y la forma de tener más de una actividad por aplicación, para poder crear aplicaciones mucho más ricas.</p>
<p>¡Hasta la próxima lección, androides!</p>
<p><map name='google_ad_map_209_93ec0a90313e225a'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/209?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_209_93ec0a90313e225a' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=209&amp;url= http%3A%2F%2Fandroide.hijodeblog.com%2F2010%2F03%2F17%2Fcreacion-de-aplicaciones-android-parte-3-gestionando-eventos-de-la-interfaz%2F' /></p>
<p><a href="http://feedads.g.doubleclick.net/~a/Fcb5nkOu3wl7qb-MRPUpNCuty40/0/da"><img src="http://feedads.g.doubleclick.net/~a/Fcb5nkOu3wl7qb-MRPUpNCuty40/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/Fcb5nkOu3wl7qb-MRPUpNCuty40/1/da"><img src="http://feedads.g.doubleclick.net/~a/Fcb5nkOu3wl7qb-MRPUpNCuty40/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/DiarioDeUnAndroide/~4/whJwhwKwBjE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://androide.hijodeblog.com/2010/03/17/creacion-de-aplicaciones-android-parte-3-gestionando-eventos-de-la-interfaz/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://androide.hijodeblog.com/2010/03/17/creacion-de-aplicaciones-android-parte-3-gestionando-eventos-de-la-interfaz/#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed</feedburner:origLink></item>
		<item>
		<title>Cómo montar automáticamente la tarjeta de memoria de Android</title>
		<link>http://feedproxy.google.com/~r/DiarioDeUnAndroide/~3/p_6pwV4tkvU/</link>
		<comments>http://androide.hijodeblog.com/2010/03/10/como-montar-automaticamente-la-tarjeta-de-memoria-de-android/#comments</comments>
		<pubDate>Wed, 10 Mar 2010 15:58:56 +0000</pubDate>
		<dc:creator>Dr. SeROne</dc:creator>
				<category><![CDATA[Aplicaciones]]></category>

		<guid isPermaLink="false">http://androide.hijodeblog.com/?p=206</guid>
		<description><![CDATA[Tener que activar la tarjeta de memoria desde el móvil cada vez que lo conectas al ordenador a través del cable USB es un soberano coñazo. Y, gracias a los dioses, ésto se acabará gracias a una aplicación que encontré de casualidad.
Su nombre es AutoMount (bastante explicativo, ¿eh?), y lo podéis encontrar de forma totalmente [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright" src="http://farm3.static.flickr.com/2690/4422791090_11c121940a_o.png" alt="" width="109" height="150" />Tener que activar la tarjeta de memoria desde el móvil cada vez que lo conectas al ordenador a través del cable USB es un soberano coñazo. Y, gracias a los dioses, ésto se acabará gracias a una aplicación que encontré de casualidad.</p>
<p>Su nombre es AutoMount (bastante explicativo, ¿eh?), y lo podéis encontrar de forma totalmente gratuita en el Android Market.</p>
<p>¡Una instalación obligada!</p>
<p><map name='google_ad_map_206_93ec0a90313e225a'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/206?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_206_93ec0a90313e225a' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=206&amp;url= http%3A%2F%2Fandroide.hijodeblog.com%2F2010%2F03%2F10%2Fcomo-montar-automaticamente-la-tarjeta-de-memoria-de-android%2F' /></p>
<p><a href="http://feedads.g.doubleclick.net/~a/KiyS-gGinIuKntwReSc-ysaW6mo/0/da"><img src="http://feedads.g.doubleclick.net/~a/KiyS-gGinIuKntwReSc-ysaW6mo/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/KiyS-gGinIuKntwReSc-ysaW6mo/1/da"><img src="http://feedads.g.doubleclick.net/~a/KiyS-gGinIuKntwReSc-ysaW6mo/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/DiarioDeUnAndroide/~4/p_6pwV4tkvU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://androide.hijodeblog.com/2010/03/10/como-montar-automaticamente-la-tarjeta-de-memoria-de-android/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://androide.hijodeblog.com/2010/03/10/como-montar-automaticamente-la-tarjeta-de-memoria-de-android/#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed</feedburner:origLink></item>
	</channel>
</rss><!-- Dynamic page generated in 3.703 seconds. --><!-- Cached page generated by WP-Super-Cache on 2010-07-25 08:21:32 -->
