<?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>Básico - Tutorial Android, aprende a programar en Android.</title>
	<atom:link href="http://www.tutorialandroid.com/category/basico/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.tutorialandroid.com</link>
	<description>Tutoriales detallados para programar, desde el principio, aplicaciones para el sistema Android</description>
	<lastBuildDate>Thu, 24 Nov 2016 07:36:21 +0000</lastBuildDate>
	<language>es</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.1.9</generator>
	<item>
		<title>Nuevo curso de Iniciación a la Programación Android</title>
		<link>http://www.tutorialandroid.com/basico/nuevo-curso-de-iniciacion-a-la-programacion-android/</link>
					<comments>http://www.tutorialandroid.com/basico/nuevo-curso-de-iniciacion-a-la-programacion-android/#respond</comments>
		
		<dc:creator><![CDATA[Gonzalo de Córdoba]]></dc:creator>
		<pubDate>Wed, 14 Sep 2016 19:48:17 +0000</pubDate>
				<category><![CDATA[Básico]]></category>
		<guid isPermaLink="false">http://www.tutorialandroid.com/?p=987</guid>

					<description><![CDATA[<p>Objetivo: aprender a programar aplicaciones Android sin conocimientos previos de Eclipse, ni Java ni XML En el Campus Tecnologico Virtual se inicia el nuevo curso para aprender a programar aplicaciones Android desde cero, sin conocimientos previos. ¡ Anímate en http://www.cursoandroid.es &#8230; <a href="http://www.tutorialandroid.com/basico/nuevo-curso-de-iniciacion-a-la-programacion-android/">Sigue leyendo <span class="meta-nav">&#8594;</span></a></p>
<p>The post <a href="http://www.tutorialandroid.com/basico/nuevo-curso-de-iniciacion-a-la-programacion-android/">Nuevo curso de Iniciación a la Programación Android</a> first appeared on <a href="http://www.tutorialandroid.com">Tutorial Android, aprende a programar en Android.</a>.</p>]]></description>
										<content:encoded><![CDATA[<h4>Objetivo: aprender a programar aplicaciones Android sin conocimientos previos de Eclipse, ni Java ni XML</h4>
<p>En el Campus Tecnologico Virtual se inicia el nuevo curso para aprender a programar aplicaciones Android desde cero, sin conocimientos previos. ¡ Anímate en <a title="Curso Iniciacion a la programacion Android" href="http://www.cursoandroid.es">http://www.cursoandroid.es</a> !</p>
<p>Adelantamos el temario que se ofrecerá en dicho curso:</p>
<ul>
<li>Tema 1.- Introducción a Android y Eclipse<br />
Introduccion a Android<br />
Instalación de Eclipse + SDK<br />
Interfaz (perpectivas) y uso de Eclipse<br />
Gestión de errores de código</li>
</ul>
<ul>
<li>Tema 2.- Crear nuestra primera aplicación<br />
Aplicación Hola Mundo<br />
Configuración Emulador</li>
</ul>
<ul>
<li>Tema 3.- Tour por el entorno de desarrollo</li>
</ul>
<ul>
<li>Tema 4.- Introducción a programación Android<br />
Logica<br />
Bucles<br />
Ciclo vida<br />
Componentes<br />
Intent</li>
</ul>
<ul>
<li>Tema 5.- Interface Usuario<br />
Los Layouts<br />
Los Botones<br />
TextView y EditText<br />
Listas ListView</li>
</ul>
<ul>
<li>Tema 6.- Mapas y GPS<br />
Geolocalizacion con GPS<br />
Obtener Clave APIv2 Maps<br />
Insertando APIv2 Key<br />
Ejemplo Mapa APIv2</li>
</ul>
<ul>
<li>Tema 7.- Almacenamiento<br />
Almacenamiento externo<br />
Almacenamiento interno<br />
Guardar Preferencias de APP sin base de datos</li>
</ul>
<ul>
<li>Tema 8.- Widgets<br />
Introducción básica<br />
Ejemplo de widget</li>
</ul>
<ul>
<li>Tema 9.- Sensores.<br />
Introducción básica<br />
Ejemplo de sensores</li>
</ul>
<ul>
<li>Tema 10.- Desarrollador<br />
Registrar un desarrollador<br />
Publicar aplicaciones en Google Play<br />
* Ejercicio: crear APP final de curso</li>
</ul>
<p>Además del ejercicio final de curso, el alumno tendrá que realizar ejercicios (test y aplicaciones) en cada tema, además de tener material adicional con ejemplos completos de código.</p>
<p>¡Entra en http://www.cursoandroid.es e infórmate sin compromiso!</p>
<div><a href="http://tc.tradetracker.net/?c=21483&#038;m=12&#038;a=262851&#038;u=%2F">¡Black Friday en Igogo!</a></div><p>The post <a href="http://www.tutorialandroid.com/basico/nuevo-curso-de-iniciacion-a-la-programacion-android/">Nuevo curso de Iniciación a la Programación Android</a> first appeared on <a href="http://www.tutorialandroid.com">Tutorial Android, aprende a programar en Android.</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>http://www.tutorialandroid.com/basico/nuevo-curso-de-iniciacion-a-la-programacion-android/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Como guardar preferencias en mi aplicación con SharedPreferences sin usar base de datos</title>
		<link>http://www.tutorialandroid.com/basico/como-guardar-preferencias-en-mi-aplicacion-con-sharedpreferences-sin-usar-base-de-datos/</link>
					<comments>http://www.tutorialandroid.com/basico/como-guardar-preferencias-en-mi-aplicacion-con-sharedpreferences-sin-usar-base-de-datos/#comments</comments>
		
		<dc:creator><![CDATA[Gonzalo de Córdoba]]></dc:creator>
		<pubDate>Mon, 06 May 2013 21:27:01 +0000</pubDate>
				<category><![CDATA[Básico]]></category>
		<category><![CDATA[preferencias]]></category>
		<category><![CDATA[sharedprefences]]></category>
		<guid isPermaLink="false">http://www.tutorialandroid.com/?p=903</guid>

					<description><![CDATA[<p>Objetivo: Guardar preferencias en mi aplicación sin usar base de datos, de forma que podremos consultar los datos guardados en la misma aplicación, o incluso desde otras, ajustando parámetros. Para esto, Android dispone de una clase SharedPreferences. Instanciando objetos de &#8230; <a href="http://www.tutorialandroid.com/basico/como-guardar-preferencias-en-mi-aplicacion-con-sharedpreferences-sin-usar-base-de-datos/">Sigue leyendo <span class="meta-nav">&#8594;</span></a></p>
<p>The post <a href="http://www.tutorialandroid.com/basico/como-guardar-preferencias-en-mi-aplicacion-con-sharedpreferences-sin-usar-base-de-datos/">Como guardar preferencias en mi aplicación con SharedPreferences sin usar base de datos</a> first appeared on <a href="http://www.tutorialandroid.com">Tutorial Android, aprende a programar en Android.</a>.</p>]]></description>
										<content:encoded><![CDATA[<p><strong>Objetivo:</strong></p>
<div>
<p><strong>Guardar preferencias en mi aplicación sin usar base de datos</strong>, de forma que podremos consultar los datos guardados en la misma aplicación, o incluso desde otras, ajustando parámetros.</p>
<p>Para esto, Android dispone de una clase SharedPreferences. Instanciando objetos de la misma, podremos guardar datos en nuestra aplicación para poder consultarlos más tarde.</p>
<div>
<p>Esta solución y rápida y muy simple, con lo que ahorraemos muchísimo tiempo. Los datos se guardarán automáticamente en un fichero XML en la ruta de nuestra aplicación con las preferencias en su interior, pero no tenemos que preocuparnos porque lectura y escritura son manejados por la clase SharedPreferences.</p>
<p>Dichas preferencias podrían compartirse con otras aplicaciones si lo deseamos, pasando un parametro a la hora de instanciar el objeto:</p>
<ul>
<li>MODE_PRIVATE: sólo nuestra aplicación podrá leer y escribir datos de configuración en el fichero XML.</li>
<li>MODE_WORLD_READABLE: sólo nuestra aplicación podrá escribir datos de configuración, el resto de aplicaciones del dispositivo Android podrá leer los datos de configuración pero no modificarlos.</li>
<li>MODE_WORLD_WRITEABLE: todas las aplicaciones del dispositivo Android podrán leer y escribir datos de configuración en el fichero XML.</li>
<li>MODE_MULTI_PROCESS: no suele usarse, puede servir cuando la aplicación tiene múltiples procesos (para la comunicación entre ellos).</li>
</ul>
<p>Antes de poner un ejemplo, es importante saber que la forma adecuada para las llamadas es en los métodos <strong>onStart</strong> y <strong>onDestroy</strong> de la aplicación Android, para leer y guardar respectivamente las preferencias.</p>
<p>Para obtener, insertar o modificar preferencias: get o put correspondientes al tipo de dato de cada preferencia.<br />
Por ejemplo getString(&#8220;usuario&#8221;, &#8220;pepito_por_defecto&#8221;) accederia al elemento con indice/clave &#8220;usuario&#8221;. Si no se devuelve valor, pondria por defecto &#8220;pepito_por_defecto&#8221;.</p>
<p>Creamos un ejemplo completo donde guardamos una cadena en las preferencias al salir de la aplicación, y la leemos al arrancar ésta. Observaremos cómo la primera vez que la arrancamos no está guardada, y las siguientes ya sí. Creamos varias funciones (cargarPreferencias y guardarPreferencias) para hacerlo más entendible.</p>
</div>
<p><strong>Código fuente Java:</strong></p>
<p>[sourcecode language=&#8221;java&#8221;]<br />
package sharedpreferences.tutorialandroid.com;<br />
import android.app.Activity;<br />
import android.content.Context;<br />
import android.content.SharedPreferences;<br />
import android.os.Bundle;<br />
import android.widget.Toast;</p>
<p>public class TutorialAndroid_SharedPreferencesActivity extends Activity {<br />
String preferencias1;<br />
String preferencias2;<br />
boolean preferenciasGuardadas;</p>
<p>/** Called when the activity is first created. */<br />
@Override<br />
public void onCreate(Bundle savedInstanceState) {<br />
super.onCreate(savedInstanceState);<br />
setContentView(R.layout.main);<br />
}</p>
<p>// al abrir la aplicación, guardamos preferencias<br />
@Override<br />
public void onDestroy(){<br />
super.onDestroy();<br />
guardarPreferencias();<br />
}</p>
<p>// al abrir la aplicación, cargamos preferencias<br />
@Override<br />
protected void onStart() {<br />
super.onStart();<br />
cargarPreferencias();<br />
// para ver el funcionamiento, imprimimos preferencias si existen<br />
String mensaje = &quot;&quot;;<br />
if (this.preferenciasGuardadas) {<br />
mensaje = &quot;Las preferencias fueron guardadas ya&quot;;<br />
} else {<br />
mensaje = &quot;Las preferencias todavia no se guardaron&quot;;<br />
}<br />
Toast.makeText(this, mensaje, Toast.LENGTH_SHORT).show();<br />
}</p>
<p>//guardar configuración aplicación Android usando SharedPreferences<br />
public void guardarPreferencias(){<br />
SharedPreferences prefs = getSharedPreferences(&quot;preferenciasMiApp&quot;, Context.MODE_PRIVATE);<br />
SharedPreferences.Editor editor = prefs.edit();<br />
editor.putBoolean(&quot;preferenciasGuardadas&quot;, true);<br />
editor.putString(&quot;preferencia1&quot;, &quot;Hola estoy guardando esto&quot;);<br />
editor.putString(&quot;preferencia2&quot;, &quot;y tambien esto&quot;);<br />
editor.commit();<br />
Toast.makeText(this, &quot;guardando preferencias&quot;, Toast.LENGTH_SHORT).show();<br />
}</p>
<p>//cargar configuración aplicación Android usando SharedPreferences<br />
public void cargarPreferencias(){<br />
SharedPreferences prefs = getSharedPreferences(&quot;preferenciasMiApp&quot;, Context.MODE_PRIVATE);<br />
this.preferencias1 = prefs.getString(&quot;preferencia1&quot;, &quot;valor por defecto&quot;);<br />
this.preferencias2 = prefs.getString(&quot;preferencia1&quot;, &quot;valor por defecto&quot;);<br />
preferenciasGuardadas = prefs.getBoolean(&quot;preferenciasGuardadas&quot;, false);</p>
<p>}<br />
[/sourcecode]</p>
<p><strong>Descárgate el código <a title="http://www.tutorialandroid.com/wp-content/codigosDescargables/TutorialAndroid-Como_programar_usando_HTML_para_texto.zip" href="http://www.tutorialandroid.com/wp-content/codigosDescargables/TutorialAndroid_SharedPreferences.rar">aquí</a></strong></p>
<p>En el código descargable se encuentra el proyecto completo.</p>
<p>¡Espero que os sirva de ayuda, saludos!</p>
</div><p>The post <a href="http://www.tutorialandroid.com/basico/como-guardar-preferencias-en-mi-aplicacion-con-sharedpreferences-sin-usar-base-de-datos/">Como guardar preferencias en mi aplicación con SharedPreferences sin usar base de datos</a> first appeared on <a href="http://www.tutorialandroid.com">Tutorial Android, aprende a programar en Android.</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>http://www.tutorialandroid.com/basico/como-guardar-preferencias-en-mi-aplicacion-con-sharedpreferences-sin-usar-base-de-datos/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
		<item>
		<title>Como mostrar imagen img scr en formato HTML con fromHTML</title>
		<link>http://www.tutorialandroid.com/basico/como-mostrar-imagen-img-scr-en-formato-html-con-fromhtml/</link>
					<comments>http://www.tutorialandroid.com/basico/como-mostrar-imagen-img-scr-en-formato-html-con-fromhtml/#comments</comments>
		
		<dc:creator><![CDATA[Gonzalo de Córdoba]]></dc:creator>
		<pubDate>Wed, 14 Mar 2012 21:21:07 +0000</pubDate>
				<category><![CDATA[Básico]]></category>
		<category><![CDATA[fromHTML]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[imagen]]></category>
		<category><![CDATA[img src]]></category>
		<guid isPermaLink="false">http://www.tutorialandroid.com/?p=709</guid>

					<description><![CDATA[<p>Objetivo: Mostrar una imagen usando fromHTML, de forma que podremos cogerla de una internet con la etiqueta img de HTML. Antes de este tutorial, aunque muy básico, puede que desees familiarizarte con fromHTML. Para ello puedes pasarte por un ejemplo &#8230; <a href="http://www.tutorialandroid.com/basico/como-mostrar-imagen-img-scr-en-formato-html-con-fromhtml/">Sigue leyendo <span class="meta-nav">&#8594;</span></a></p>
<p>The post <a href="http://www.tutorialandroid.com/basico/como-mostrar-imagen-img-scr-en-formato-html-con-fromhtml/">Como mostrar imagen img scr en formato HTML con fromHTML</a> first appeared on <a href="http://www.tutorialandroid.com">Tutorial Android, aprende a programar en Android.</a>.</p>]]></description>
										<content:encoded><![CDATA[<p><strong>Objetivo:</strong></p>
<div>
<p><strong>Mostrar una imagen usando fromHTML</strong>, de forma que podremos cogerla de una internet con la etiqueta img de HTML.</p>
<p>Antes de este tutorial, aunque muy básico, puede que desees familiarizarte con fromHTML. Para ello puedes pasarte por un ejemplo en el que sólo se utiliza texto en HTML en <a title="http://www.tutorialandroid.com/basico/como-utilizar-formato-html-en-textos/" href="http://www.tutorialandroid.com/basico/como-utilizar-formato-html-en-textos/" target="_blank">este tutorial</a>. En él se muestra el hipertexto en un AlertDialog, pero es igualmente sencillo asignarlo a un TextView.</p>
<div>
<p>Cuando deseamos utilizar HTML en un TextView, por ejemplo, podemos llamar al paquete android.text.html, dejando que él actúe sobre nuestro texto, aplicando la vista indicadas en las etiquetas que le dan formato. En este HTML podemos incluso utilizar llamadas a imágenes con la tag img src.</p>
<p>Creamos  mini-aplicación para coger el HTML y lo aplicamos a un TextView para mostrarlo. Para ello, debemos <a title="http://www.tutorialandroid.com/basico/hola-mundo-mi-primera-aplicacion-android/" href="http://www.tutorialandroid.com/basico/hola-mundo-mi-primera-aplicacion-android/">crear una aplicación desde el principio</a>,  crear un TextView para insertar el hipertexto en HTML (con imagen incluida en este caso), y finalmente llamar a la clase <a title="http://developer.android.com/reference/android/text/Html.html" href="http://developer.android.com/reference/android/text/Html.html">android.text.html</a>. Para que las imágenes en el HTML aparezcan debemos implementar la función getImageHTML, que devolverá una instancia de la clase ImageGetter, necesaria para ello.</p>
<p>Vemos una captura de la mini-aplicación:</p>
<p><img decoding="async" loading="lazy" class="aligncenter size-medium wp-image-713" title="Imagen en fromHTML by TutorialAndroidcom" src="http://www.tutorialandroid.com/wp-content/uploads/2012/03/Imagen-en-fromHTML-by-TutorialAndroidcom-199x300.jpg" alt="Imagen en fromHTML by TutorialAndroidcom" width="199" height="300" srcset="http://www.tutorialandroid.com/wp-content/uploads/2012/03/Imagen-en-fromHTML-by-TutorialAndroidcom-199x300.jpg 199w, http://www.tutorialandroid.com/wp-content/uploads/2012/03/Imagen-en-fromHTML-by-TutorialAndroidcom.jpg 319w" sizes="(max-width: 199px) 100vw, 199px" /></p>
<p>Y a continuación mostramos el texto comentado:</p>
</div>
<p><strong>Código fuente Java:</strong></p>
<p>[sourcecode language=&#8221;java&#8221;]<br />
package fromHtml.image.tutorialandroid.com;<br />
import java.io.IOException;<br />
import java.io.InputStream;<br />
import java.net.MalformedURLException;<br />
import java.net.URL;<br />
import android.app.Activity;<br />
import android.graphics.drawable.Drawable;<br />
import android.os.Bundle;<br />
import android.text.Html;<br />
import android.text.Spanned;<br />
import android.text.Html.ImageGetter;<br />
import android.util.Log;<br />
import android.widget.TextView;</p>
<p>public class HtmlFromHtmlImageActivity extends Activity {<br />
    /** Called when the activity is first created. */<br />
    @Override<br />
    public void onCreate(Bundle savedInstanceState) {<br />
        super.onCreate(savedInstanceState);<br />
        setContentView(R.layout.main);</p>
<p>        String html = &quot;Tus ejemplos en&lt;br/&gt;TutorialAndroid.com&lt;br/&gt;&lt;br/&gt;&lt;img src=&#8217;http://www.tutorialandroid.com/tutorialandroidcom.jpg&#8217; /&gt;&quot;;</p>
<p>      	Spanned s = Html.fromHtml(html,getImageHTML(),null);<br />
        TextView txt = (TextView)findViewById(R.id.main_menu_textview);<br />
      	txt.setText(s);<br />
    }</p>
<p>    public ImageGetter getImageHTML(){<br />
    	 ImageGetter ig = new ImageGetter(){<br />
        	 public Drawable getDrawable(String source) {<br />
        	  try{<br />
        	   Drawable d = Drawable.createFromStream(new URL(source).openStream(), &quot;src name&quot;);<br />
        	   d.setBounds(0, 0, d.getIntrinsicWidth(),d.getIntrinsicHeight());<br />
        	   return d;<br />
        	  }catch(IOException e){<br />
        	   Log.v(&quot;IOException&quot;,e.getMessage());<br />
        	   return null;<br />
        	  }<br />
        	 }<br />
        	};<br />
        return ig;<br />
    }</p>
<p>}<br />
[/sourcecode]</p>
<p><strong>Descárgate el código <a title="http://www.tutorialandroid.com/wp-content/codigosDescargables/TutorialAndroid-Como_programar_usando_HTML_para_texto.zip" href="http://www.tutorialandroid.com/wp-content/codigosDescargables/TutorialAndroid_Como_incluir_HTML_con_imagenes.zip">aquí</a></strong></p>
<p>En el código descargable se encuentra el proyecto completo.</p>
<p>¡Espero que os sirva de ayuda, sobre todo a ti Ricardo Klein!</p>
<p>¡Saludos!</p>
</div><p>The post <a href="http://www.tutorialandroid.com/basico/como-mostrar-imagen-img-scr-en-formato-html-con-fromhtml/">Como mostrar imagen img scr en formato HTML con fromHTML</a> first appeared on <a href="http://www.tutorialandroid.com">Tutorial Android, aprende a programar en Android.</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>http://www.tutorialandroid.com/basico/como-mostrar-imagen-img-scr-en-formato-html-con-fromhtml/feed/</wfw:commentRss>
			<slash:comments>17</slash:comments>
		
		
			</item>
		<item>
		<title>Como pasar de Drawable a Bitmap y descargar imagen de internet a Bitmap</title>
		<link>http://www.tutorialandroid.com/basico/como-pasar-de-drawable-a-bitmap-y-descargar-imagen-de-internet-a-bitmap/</link>
					<comments>http://www.tutorialandroid.com/basico/como-pasar-de-drawable-a-bitmap-y-descargar-imagen-de-internet-a-bitmap/#comments</comments>
		
		<dc:creator><![CDATA[Gonzalo de Córdoba]]></dc:creator>
		<pubDate>Mon, 12 Mar 2012 22:03:53 +0000</pubDate>
				<category><![CDATA[Básico]]></category>
		<category><![CDATA[bitmap]]></category>
		<category><![CDATA[Drawable]]></category>
		<category><![CDATA[Url]]></category>
		<guid isPermaLink="false">http://www.tutorialandroid.com/?p=704</guid>

					<description><![CDATA[<p>Objetivo: Pasar de Drawable a Bitmap, o descargar como Bitmap una imagen de internet a través de su url. Para ello podemos usar las funciones que hay más abajo, llamadas drawableToBitmap(Drawable mDrawable) y urlImageToBitmap(String urlImage), donde el valor devuelto de &#8230; <a href="http://www.tutorialandroid.com/basico/como-pasar-de-drawable-a-bitmap-y-descargar-imagen-de-internet-a-bitmap/">Sigue leyendo <span class="meta-nav">&#8594;</span></a></p>
<p>The post <a href="http://www.tutorialandroid.com/basico/como-pasar-de-drawable-a-bitmap-y-descargar-imagen-de-internet-a-bitmap/">Como pasar de Drawable a Bitmap y descargar imagen de internet a Bitmap</a> first appeared on <a href="http://www.tutorialandroid.com">Tutorial Android, aprende a programar en Android.</a>.</p>]]></description>
										<content:encoded><![CDATA[<p><strong>Objetivo:</strong></p>
<p><strong>Pasar de Drawable a Bitmap, </strong>o<strong> descargar como Bitmap una imagen de internet a través de su url.</strong></p>
<p>Para ello podemos usar las funciones que hay más abajo, llamadas <strong>drawableToBitmap</strong><strong>(Drawable mDrawable) </strong>y<strong> urlImageToBitmap(String urlImage)</strong>, donde el valor devuelto de cada una de las funciones será de la clase Bitmap.</p>
<p>A continuación mostramos la primera función, a la cual le pasamos la instancia del objeto Drawable para que nos devuelva el Bitmap:</p>
<p><strong>Código fuente función (Java):</strong></p>
<p>[sourcecode language=&#8221;java&#8221;]<br />
 /**<br />
 * Pasar de Drawable a Bitmap. By TutorialAndroid.com<br />
 * @param Drawable mDrawable<br />
 * @return Bitmap<br />
 */<br />
public Bitmap drawableToBitmap(Drawable mDrawable){<br />
   // Usamos el método decode Resource de BitmapFactory para la conversión<br />
   return BitmapFactory.decodeResource(context.getResources(), R.drawable.icon_resource);<br />
}<br />
[/sourcecode]</p>
<p>A continuación mostramos la primera función, a la cual le pasamos la instancia del objeto Drawable para que nos devuelva el Bitmap:</p>
<p><strong>Código fuente función (Java):</strong></p>
<p>[sourcecode language=&#8221;java&#8221;]<br />
 /**<br />
 * Descarga una imagen de internet a Bitmap. By TutorialAndroid.com<br />
 * @param String urlImage<br />
 * @return Bitmap (null en caso de no poder)<br />
 */<br />
public Bitmap urlImageToBitmap(String urlImage){<br />
   Bitmap mIcon1 = null;<br />
   URL url_value = new URL(urlImage);<br />
   if (url_value != null) {<br />
      mIcon1 = BitmapFactory.decodeStream(url_value.openConnection().getInputStream());<br />
   }<br />
   return mIcon1;<br />
}<br />
[/sourcecode]</p>
<p>Una vez hemos obtenido el Bitmap, podemos realizar tareas con él, tal y como cambiar el tamaño (ver <a title="aquí" href="http://www.tutorialandroid.com/basico/como-cambiar-de-tamano-una-imagen-bitmap/" target="_blank">aqui</a>).</p>
<p>Espero que os haya servido de ayuda.</p>
<p>¡Un saludo!</p><p>The post <a href="http://www.tutorialandroid.com/basico/como-pasar-de-drawable-a-bitmap-y-descargar-imagen-de-internet-a-bitmap/">Como pasar de Drawable a Bitmap y descargar imagen de internet a Bitmap</a> first appeared on <a href="http://www.tutorialandroid.com">Tutorial Android, aprende a programar en Android.</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>http://www.tutorialandroid.com/basico/como-pasar-de-drawable-a-bitmap-y-descargar-imagen-de-internet-a-bitmap/feed/</wfw:commentRss>
			<slash:comments>6</slash:comments>
		
		
			</item>
		<item>
		<title>Como cambiar de tamaño una imagen (bitmap)</title>
		<link>http://www.tutorialandroid.com/basico/como-cambiar-de-tamano-una-imagen-bitmap/</link>
					<comments>http://www.tutorialandroid.com/basico/como-cambiar-de-tamano-una-imagen-bitmap/#comments</comments>
		
		<dc:creator><![CDATA[Gonzalo de Córdoba]]></dc:creator>
		<pubDate>Wed, 07 Mar 2012 19:55:06 +0000</pubDate>
				<category><![CDATA[Básico]]></category>
		<category><![CDATA[bitmap]]></category>
		<category><![CDATA[cambio tamaño]]></category>
		<category><![CDATA[imagen]]></category>
		<category><![CDATA[resize]]></category>
		<guid isPermaLink="false">http://www.tutorialandroid.com/?p=696</guid>

					<description><![CDATA[<p>Objetivo: Cambiar de tamaño una imagen (objeto de la clase Bitmap), para reducirlo o ampliarlo hasta un nuevo tamaño deseado. Para ello podemos usar la función que hay más abajo, llamada redimensionarImagenMaximo(Bitmap mBitmap, float newWidth, float newHeigth), donde los parámetros &#8230; <a href="http://www.tutorialandroid.com/basico/como-cambiar-de-tamano-una-imagen-bitmap/">Sigue leyendo <span class="meta-nav">&#8594;</span></a></p>
<p>The post <a href="http://www.tutorialandroid.com/basico/como-cambiar-de-tamano-una-imagen-bitmap/">Como cambiar de tamaño una imagen (bitmap)</a> first appeared on <a href="http://www.tutorialandroid.com">Tutorial Android, aprende a programar en Android.</a>.</p>]]></description>
										<content:encoded><![CDATA[<p><strong>Objetivo:</strong></p>
<p><strong>Cambiar de tamaño una imagen</strong> (objeto de la clase Bitmap), para reducirlo o ampliarlo hasta un nuevo tamaño deseado.</p>
<p>Para ello podemos usar la función que hay más abajo, llamada <strong></strong><strong>redimensionarImagenMaximo(Bitmap mBitmap, float newWidth, float newHeigth)</strong>, donde los parámetros serán el Bitmap que deseamos redimensionar, la nueva anchura y la nueva altura.</p>
<p>La función calcula una nueva escala, aplicandolas a una instancia de la clase Matrix, y posteriormente creando de un nuevo Bitmap, que vendrá ya con las nuevas dimensiones.</p>
<p>A continuación mostramos la función, la cual devolverá una nueva instancia de la clase Bitmap, que contendrá nuestra imagen ya redimensionada.</p>
<p><strong>Código fuente función (Java):</strong></p>
<p>[sourcecode language=&#8221;java&#8221;]<br />
 /**<br />
 * Redimensionar un Bitmap. By TutorialAndroid.com<br />
* @param Bitmap mBitmap<br />
* @param float newHeight<br />
* @param float newHeight<br />
 * @param float newHeight<br />
 * @return Bitmap<br />
 */<br />
public Bitmap redimensionarImagenMaximo(Bitmap mBitmap, float newWidth, float newHeigth){<br />
   //Redimensionamos<br />
   int width = mBitmap.getWidth();<br />
   int height = mBitmap.getHeight();<br />
   float scaleWidth = ((float) newWidth) / width;<br />
   float scaleHeight = ((float) newHeigth) / height;<br />
   // create a matrix for the manipulation<br />
   Matrix matrix = new Matrix();<br />
   // resize the bit map<br />
   matrix.postScale(scaleWidth, scaleHeight);<br />
   // recreate the new Bitmap<br />
   return Bitmap.createBitmap(mBitmap, 0, 0, width, height, matrix, false);<br />
}<br />
[/sourcecode]</p><p>The post <a href="http://www.tutorialandroid.com/basico/como-cambiar-de-tamano-una-imagen-bitmap/">Como cambiar de tamaño una imagen (bitmap)</a> first appeared on <a href="http://www.tutorialandroid.com">Tutorial Android, aprende a programar en Android.</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>http://www.tutorialandroid.com/basico/como-cambiar-de-tamano-una-imagen-bitmap/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Como crear acceso directo de mi aplicacion en la Home Screen (Escritorio)</title>
		<link>http://www.tutorialandroid.com/basico/como-crear-un-acceso-directo-de-mi-aplicacion/</link>
					<comments>http://www.tutorialandroid.com/basico/como-crear-un-acceso-directo-de-mi-aplicacion/#comments</comments>
		
		<dc:creator><![CDATA[Gonzalo de Córdoba]]></dc:creator>
		<pubDate>Sun, 26 Feb 2012 21:46:34 +0000</pubDate>
				<category><![CDATA[Básico]]></category>
		<category><![CDATA[acceso directo]]></category>
		<category><![CDATA[escritorio]]></category>
		<category><![CDATA[home screen]]></category>
		<category><![CDATA[shortcut]]></category>
		<guid isPermaLink="false">http://www.tutorialandroid.com/?p=690</guid>

					<description><![CDATA[<p>Objetivo: Crear un acceso directo (shortcut) de vuestra aplicación en la pantalla Home (llamado &#8220;Estritorio&#8221; a veces), así como se crean accesos directos de una aplicación de tu ordenador en el escritorio cuando la instalas. Para ello podemos usar la &#8230; <a href="http://www.tutorialandroid.com/basico/como-crear-un-acceso-directo-de-mi-aplicacion/">Sigue leyendo <span class="meta-nav">&#8594;</span></a></p>
<p>The post <a href="http://www.tutorialandroid.com/basico/como-crear-un-acceso-directo-de-mi-aplicacion/">Como crear acceso directo de mi aplicacion en la Home Screen (Escritorio)</a> first appeared on <a href="http://www.tutorialandroid.com">Tutorial Android, aprende a programar en Android.</a>.</p>]]></description>
										<content:encoded><![CDATA[<p><strong>Objetivo:</strong></p>
<p>Crear un acceso directo (shortcut) de vuestra aplicación en la pantalla Home (llamado &#8220;Estritorio&#8221; a veces), así como se crean accesos directos de una aplicación de tu ordenador en el escritorio cuando la instalas.</p>
<p>Para ello podemos usar la función que hay más abajo, llamada <strong>crearAccesoDirectoEnEscritorio(String Nombre)</strong>, donde el parámetro es el nombre que queremos que tenga el acceso directo.</p>
<p>El comportamiento de la función si no hay espacio, es buscar en otro de nuestros múltiples escritorios, avisando de que no había espacio en el que estaba activo la última vez antes de acceder a nuestra aplicación.</p>
<p>La forma ideal de usar esta función es llamarla a través de un botón. En el ejemplo hemos creado una aplicación simple que simplemente lo crea al principio.</p>
<p>No podemos olvidar los permisos especiales en nuestro Manifiesto, para poder crear accesos directos (INSTALL_SHORTCUT).</p>
<p><strong>Código fuente función (Java):</strong></p>
<p>[sourcecode language=&#8221;java&#8221;]<br />
private void crearAccesoDirectoEnEscritorio(String nombre) {<br />
   Intent shortcutIntent = new Intent();<br />
   shortcutIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, getIntentShortcut());<br />
   shortcutIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, nombre);<br />
   shortcutIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, Intent.ShortcutIconResource.fromContext(this.getApplicationContext(), R.drawable.icon));<br />
   shortcutIntent.setAction(&quot;com.android.launcher.action.INSTALL_SHORTCUT&quot;);<br />
   this.sendBroadcast(shortcutIntent);<br />
}</p>
<p>public Intent getIntentShortcut(){<br />
   Intent i = new Intent();<br />
   i.setClassName(this.getPackageName(), this.getPackageName() + &quot;.&quot; + this.getLocalClassName());<br />
   i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);<br />
   i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);<br />
   return i;<br />
}<br />
[/sourcecode]</p>
<p><strong>Código fuente función (XML):</strong></p>
<p>[sourcecode language=&#8221;xml&#8221;]<br />
&lt;!&#8211; En Android Manifest&#8230; &#8211;&gt;<br />
&lt;uses-permission android:name=&quot;com.android.launcher.permission.INSTALL_SHORTCUT&quot;/&gt;<br />
&lt;!&#8211; &#8230; &#8211;&gt;<br />
[/sourcecode]</p>
<p><strong>Descárgate el código <a href="http://www.tutorialandroid.com/wp-content/codigosDescargables/TutorialAndroid-Como_crear_acceso_directo_Home_Screen.zip">aquí</a> </strong></p><p>The post <a href="http://www.tutorialandroid.com/basico/como-crear-un-acceso-directo-de-mi-aplicacion/">Como crear acceso directo de mi aplicacion en la Home Screen (Escritorio)</a> first appeared on <a href="http://www.tutorialandroid.com">Tutorial Android, aprende a programar en Android.</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>http://www.tutorialandroid.com/basico/como-crear-un-acceso-directo-de-mi-aplicacion/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Como hacer un link al Market para ver una aplicacion o para ver aplicaciones de desarrollador</title>
		<link>http://www.tutorialandroid.com/basico/como-hacer-un-link-al-market-para-ver-una-aplicacion-o-para-ver-aplicaciones-de-desarrollador/</link>
					<comments>http://www.tutorialandroid.com/basico/como-hacer-un-link-al-market-para-ver-una-aplicacion-o-para-ver-aplicaciones-de-desarrollador/#comments</comments>
		
		<dc:creator><![CDATA[Gonzalo de Córdoba]]></dc:creator>
		<pubDate>Thu, 02 Feb 2012 23:36:59 +0000</pubDate>
				<category><![CDATA[Básico]]></category>
		<category><![CDATA[ACTION_VIEW]]></category>
		<category><![CDATA[Link]]></category>
		<category><![CDATA[Market]]></category>
		<guid isPermaLink="false">http://www.tutorialandroid.com/?p=668</guid>

					<description><![CDATA[<p>Objetivo: Crear un link hacia una aplicación ofrecida en Android Market. Este tutorial tiene varios pasos muy sencillos: chequear la conexión a internet y acceder a una aplicación en Android Market (muy útil en caso de querer promocionar nuestra version &#8230; <a href="http://www.tutorialandroid.com/basico/como-hacer-un-link-al-market-para-ver-una-aplicacion-o-para-ver-aplicaciones-de-desarrollador/">Sigue leyendo <span class="meta-nav">&#8594;</span></a></p>
<p>The post <a href="http://www.tutorialandroid.com/basico/como-hacer-un-link-al-market-para-ver-una-aplicacion-o-para-ver-aplicaciones-de-desarrollador/">Como hacer un link al Market para ver una aplicacion o para ver aplicaciones de desarrollador</a> first appeared on <a href="http://www.tutorialandroid.com">Tutorial Android, aprende a programar en Android.</a>.</p>]]></description>
										<content:encoded><![CDATA[<p><strong>Objetivo:</strong></p>
<p>Crear un link hacia una aplicación ofrecida en Android Market.</p>
<p>Este tutorial tiene varios pasos muy sencillos: chequear la conexión a internet y acceder a una aplicación en Android Market (muy útil en caso de querer promocionar nuestra version PRO del producto).</p>
<p>Para ello podemos utilizar una simple función <strong>exiteConexionIntenet()</strong>, que se puede ver en este <a title="http://www.tutorialandroid.com/basico/como-chequear-si-existe-conexion-a-internet/" href="http://www.tutorialandroid.com/basico/como-chequear-si-existe-conexion-a-internet/" target="_blank">post</a>.</p>
<p>Aunque se comenta en el post, recordamos que no podemos olvidar los permisos especiales en nuestro AndroidManifest.xml, que también mencionamos más abajo: internet (android.permission.INTERNET) y estado de la red (android.permission.ACCESS_NETWORK_STATE).</p>
<p>Mostramos la función que usaremos:</p>
<p><strong>Código fuente función (Java):</strong></p>
<p>[sourcecode language=&#8221;java&#8221;]<br />
/**<br />
* Mira si hay conexión a internet.<br />
* Nota: mi.paquete.aqui representa el nombre del paquete de la aplicación. Otro ejemplo sería com.example.es<br />
* Nota2: mi+usuario+aqui representa el usuario que el desarrollador posee en Android Market, donde los espacios<br />
* debemos escribirlos como signos de suma (+)<br />
*/<br />
public void abrirDetallesAplicacionEnMarket(){<br />
  if (exiteConexionInternet()){<br />
    try{<br />
      Intent intent = new Intent(Intent.ACTION_VIEW);<br />
      //cargamos la url de una aplicación en Android Market<br />
      intent.setData(Uri.parse(&quot;market://details?id=mi.paquete.aqui&quot;));<br />
      //si lo que deseamos buscar es las aplicaciones de un desarrollador:<br />
      //intent.setData(Uri.parse(&quot;market://search?q=mi+usuario+aqui&quot;));<br />
      startActivity(intent);<br />
    }catch(Exception e){<br />
      //Si entramos aquí es porque no tiene Market instalado (p.ej. en emuladores)<br />
      //la opción sería enviarlos a la página web<br />
      Intent intent = new Intent(Intent.ACTION_VIEW);<br />
      //cargamos la url de una aplicación en la web de Android Market<br />
      intent.setData(Uri.parse(&quot;http://market.android.com/details?id=mi.paquete.aqui&quot;));<br />
      //si lo que deseamos buscar es las aplicaciones de un desarrollador:<br />
      //intent.setData(Uri.parse(&quot;http://market.android.com/developer?pub=mi+usuario+aqui&quot;));<br />
      startActivity(intent);<br />
    }<br />
  }else{ //no hay conexión a internet<br />
    Toast.makeText(getApplicationContext(), &quot;Para poder realizar esta acción se necesita conexión a Internet.&quot;, Toast.LENGTH_LONG).show();<br />
  }<br />
}<br />
[/sourcecode]</p><p>The post <a href="http://www.tutorialandroid.com/basico/como-hacer-un-link-al-market-para-ver-una-aplicacion-o-para-ver-aplicaciones-de-desarrollador/">Como hacer un link al Market para ver una aplicacion o para ver aplicaciones de desarrollador</a> first appeared on <a href="http://www.tutorialandroid.com">Tutorial Android, aprende a programar en Android.</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>http://www.tutorialandroid.com/basico/como-hacer-un-link-al-market-para-ver-una-aplicacion-o-para-ver-aplicaciones-de-desarrollador/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Como chequear si existe conexión a internet</title>
		<link>http://www.tutorialandroid.com/basico/como-chequear-si-existe-conexion-a-internet/</link>
					<comments>http://www.tutorialandroid.com/basico/como-chequear-si-existe-conexion-a-internet/#comments</comments>
		
		<dc:creator><![CDATA[Gonzalo de Córdoba]]></dc:creator>
		<pubDate>Fri, 16 Dec 2011 18:56:42 +0000</pubDate>
				<category><![CDATA[Básico]]></category>
		<category><![CDATA[access_network_state]]></category>
		<category><![CDATA[conexion]]></category>
		<category><![CDATA[internet]]></category>
		<guid isPermaLink="false">http://www.tutorialandroid.com/?p=652</guid>

					<description><![CDATA[<p>Objetivo: Chequear si el dispositivo móvil dispone de una conexión a internet. Muchos de los fallos en aplicaciones para Android vienen a causa de no tratar todos los casos posibles. Para una aplicación que requiera contenido de la red de &#8230; <a href="http://www.tutorialandroid.com/basico/como-chequear-si-existe-conexion-a-internet/">Sigue leyendo <span class="meta-nav">&#8594;</span></a></p>
<p>The post <a href="http://www.tutorialandroid.com/basico/como-chequear-si-existe-conexion-a-internet/">Como chequear si existe conexión a internet</a> first appeared on <a href="http://www.tutorialandroid.com">Tutorial Android, aprende a programar en Android.</a>.</p>]]></description>
										<content:encoded><![CDATA[<p><span style="text-decoration: underline;"><strong>Objetivo:</strong></span></p>
<p><strong>C</strong><strong>hequear</strong> si el dispositivo móvil dispone de una <strong>conexión a internet</strong>.</p>
<p>Muchos de los fallos en aplicaciones para Android vienen a causa de no tratar todos los casos posibles. Para una aplicación que requiera contenido de la red de redes, lo correcto es comenzar verificando que el dispositivo tiene conexión a internet.</p>
<p>Para ello podemos utilizar una simple función <strong>exiteConexionIntenet()</strong>, que devolverá verdadero en caso de existir y falso en caso contrario.</p>
<p>No podemos olvidar los permisos especiales en nuestro AndroidManifest.xml, que también mencionamos más abajo: internet (android.permission.INTERNET) y estado de la red (android.permission.ACCESS_NETWORK_STATE).</p>
<p>Mostramos la implementación de dicha función y cómo usarla:</p>
<p><span style="text-decoration: underline;"><strong>Código fuente función (Java):</strong></span></p>
<p>[sourcecode language=&#8221;java&#8221;]<br />
/**<br />
* Mira si hay conexión a internet.<br />
* @return boolean<br />
*/<br />
public boolean exiteConexionInternet() {<br />
   ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);<br />
   NetworkInfo netInfo = cm.getActiveNetworkInfo();<br />
   if (netInfo != null &amp;&amp; netInfo.isConnectedOrConnecting()) {<br />
      return true;<br />
   }<br />
   return false;<br />
}<br />
[/sourcecode]</p>
<p><span style="text-decoration: underline;"><strong>Código fuente utilización (Java):</strong></span></p>
<p>[sourcecode language=&#8221;java&#8221;]<br />
if (exiteConexionInternet()){<br />
   //acciones realizables, teniendo conexión a internet<br />
   //&#8230;<br />
}else{<br />
   Toast.makeText(Esta_Activity.this, &quot;Requerida conexión a internet&quot;, Toast.LENGTH_LONG).show();<br />
}<br />
[/sourcecode]</p>
<p><span style="text-decoration: underline;"><strong>Código fuente XML (AndroidManifest.xml):</strong></span></p>
<p>[sourcecode language=&#8221;java&#8221;]<br />
&lt;!&#8211; &#8230; &#8211;&gt;<br />
   &lt;uses-permission android:name=&quot;android.permission.INTERNET&quot; /&gt;<br />
   &lt;uses-permission android:name=&quot;android.permission.ACCESS_NETWORK_STATE&quot; /&gt;<br />
&lt;!&#8211; &#8230; &#8211;&gt;<br />
[/sourcecode]</p><p>The post <a href="http://www.tutorialandroid.com/basico/como-chequear-si-existe-conexion-a-internet/">Como chequear si existe conexión a internet</a> first appeared on <a href="http://www.tutorialandroid.com">Tutorial Android, aprende a programar en Android.</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>http://www.tutorialandroid.com/basico/como-chequear-si-existe-conexion-a-internet/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Como crear pestañas (tabs) en independientes activities</title>
		<link>http://www.tutorialandroid.com/basico/como-crear-pestanas-tabs-en-independientes-activities/</link>
					<comments>http://www.tutorialandroid.com/basico/como-crear-pestanas-tabs-en-independientes-activities/#comments</comments>
		
		<dc:creator><![CDATA[Gonzalo de Córdoba]]></dc:creator>
		<pubDate>Wed, 14 Dec 2011 18:23:23 +0000</pubDate>
				<category><![CDATA[Básico]]></category>
		<category><![CDATA[pestañas]]></category>
		<category><![CDATA[TabHost]]></category>
		<category><![CDATA[tabs]]></category>
		<guid isPermaLink="false">http://www.tutorialandroid.com/?p=591</guid>

					<description><![CDATA[<p>Objetivo: Crear un TabHost que contenga tabs (pestañas) independientes; es decir, que cada una sea una Activity diferente. En las situaciones en las que nos conviene independizar cada cuerpo de las tabs en activities diferentes, podemos crear el TabHost y &#8230; <a href="http://www.tutorialandroid.com/basico/como-crear-pestanas-tabs-en-independientes-activities/">Sigue leyendo <span class="meta-nav">&#8594;</span></a></p>
<p>The post <a href="http://www.tutorialandroid.com/basico/como-crear-pestanas-tabs-en-independientes-activities/">Como crear pestañas (tabs) en independientes activities</a> first appeared on <a href="http://www.tutorialandroid.com">Tutorial Android, aprende a programar en Android.</a>.</p>]]></description>
										<content:encoded><![CDATA[<p><span style="text-decoration: underline;"><strong>Objetivo:</strong></span></p>
<p>Crear un <strong>TabHost</strong> que contenga <strong>tabs</strong> (pestañas) <strong>independientes</strong>; es decir, que cada una sea una <strong>Activity diferente</strong>.</p>
<p>En las situaciones en las que nos conviene independizar cada cuerpo de las tabs en activities diferentes, podemos crear el TabHost y añadir las tabs a la vez que señalamos que en caso de necesitar aparecer, el contenido se extraiga de la activity que especifiquemos.</p>
<p>Vamos a crear una mini-aplicación con tan solo dos tabs. Se necesitarán tres actividades: la principal (contiene TabHost), y una por cada contenido del tab (es decir, dos). También necesitaremos tres ficheros XML, dado que son tres actividades independientes.</p>
<p>Vemos un par de capturas de la mini-aplicación:</p>
<p style="text-align: center;"><img decoding="async" loading="lazy" class="alignleft" title="TutorialAndroid -  Tabs en activities independientes1" src="http://www.tutorialandroid.com/wp-content/uploads/2011/12/TutorialAndroid-Tabs-en-activities-independientes1.bmp" alt="TutorialAndroid - Tabs en activities independientes1" width="279" height="400" /><img decoding="async" loading="lazy" class="aligncenter size-full wp-image-619" title="TutorialAndroid -  Tabs en activities independientes2" src="http://www.tutorialandroid.com/wp-content/uploads/2011/12/TutorialAndroid-Tabs-en-activities-independientes2.bmp" alt="TutorialAndroid - Tabs en activities independientes2" width="279" height="400" /><br />
Y a continuación mostramos el texto comentado:</p>
<p><span style="text-decoration: underline;"><strong>Código fuente Java (Container.java):</strong></span></p>
<p>[sourcecode language=&#8221;java&#8221;]<br />
package tabsdiferentesactividades.tutorialandroid.com;</p>
<p>import android.app.TabActivity;<br />
import android.content.Intent;<br />
import android.os.Bundle;<br />
import android.widget.TabHost;</p>
<p>public class Container extends TabActivity {<br />
    @Override<br />
    public void onCreate(Bundle savedInstanceState) {<br />
    	super.onCreate(savedInstanceState);<br />
    	//creamos el contenedor de Tabs<br />
    	TabHost host = getTabHost();<br />
    	//Añadimos cada tab, que al ser pulsadas abren sus respectivas Activities<br />
    	host.addTab(host.newTabSpec(&quot;tab_1&quot;).setIndicator(&quot;TAB1&quot;).setContent(new Intent(this, Tab1Activity.class)));<br />
    	host.addTab(host.newTabSpec(&quot;tab_2&quot;).setIndicator(&quot;TAB2&quot;).setContent(new Intent(this, Tab2Activity.class)));<br />
    }<br />
}<br />
[/sourcecode]</p>
<p><span style="text-decoration: underline;"><strong>Código fuente Java (Tab1Activity.java):</strong></span></p>
<p>[sourcecode language=&#8221;java&#8221;]<br />
package tabsdiferentesactividades.tutorialandroid.com;</p>
<p>import android.app.Activity;<br />
import android.os.Bundle;</p>
<p>public class Tab1Activity extends Activity {</p>
<p>	protected void onCreate(Bundle savedInstanceState) {<br />
		super.onCreate(savedInstanceState);<br />
		setContentView(R.layout.tab1);<br />
	}<br />
}<br />
[/sourcecode]</p>
<p><span style="text-decoration: underline;"><strong>Código fuente Java (Tab2Activity.java):</strong></span></p>
<p>[sourcecode language=&#8221;java&#8221;]<br />
package tabsdiferentesactividades.tutorialandroid.com;</p>
<p>import android.app.Activity;<br />
import android.os.Bundle;</p>
<p>public class Tab2Activity extends Activity {</p>
<p>	protected void onCreate(Bundle savedInstanceState) {<br />
		super.onCreate(savedInstanceState);<br />
		setContentView(R.layout.tab2);<br />
	}<br />
}<br />
[/sourcecode]</p>
<p><span style="text-decoration: underline;"><strong>Código fuente XML (main.xml):</strong></span></p>
<p>[sourcecode language=&#8221;xml&#8221;]<br />
&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;<br />
&lt;LinearLayout xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;<br />
	android:orientation=&quot;vertical&quot; android:layout_width=&quot;fill_parent&quot;<br />
	android:layout_height=&quot;fill_parent&quot;&gt;<br />
	&lt;TextView android:layout_width=&quot;fill_parent&quot;<br />
		android:layout_height=&quot;wrap_content&quot; android:text=&quot;@string/hello&quot; /&gt;<br />
&lt;/LinearLayout&gt;<br />
[/sourcecode]</p>
<p><span style="text-decoration: underline;"><strong>Código fuente XML (tab1.xml):</strong></span></p>
<p>[sourcecode language=&#8221;xml&#8221;]<br />
&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;<br />
&lt;LinearLayout xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;<br />
	android:orientation=&quot;vertical&quot; android:layout_width=&quot;fill_parent&quot;<br />
	android:layout_height=&quot;fill_parent&quot;&gt;<br />
	&lt;TextView android:layout_width=&quot;fill_parent&quot;<br />
		android:layout_height=&quot;wrap_content&quot; android:text=&quot;Estamos en la tab 1. \n by TutorialAndroid.com&quot; /&gt;<br />
&lt;/LinearLayout&gt;<br />
[/sourcecode]</p>
<p><span style="text-decoration: underline;"><strong>Código fuente XML (tab2.xml):</strong></span></p>
<p>[sourcecode language=&#8221;xml&#8221;]<br />
&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;<br />
&lt;LinearLayout xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;<br />
	android:orientation=&quot;vertical&quot; android:layout_width=&quot;fill_parent&quot;<br />
	android:layout_height=&quot;fill_parent&quot;&gt;<br />
	&lt;TextView android:layout_width=&quot;fill_parent&quot;<br />
		android:layout_height=&quot;wrap_content&quot; android:text=&quot;Estamos en la tab 2. \n by TutorialAndroid.com&quot; /&gt;<br />
&lt;/LinearLayout&gt;<br />
[/sourcecode]</p>
<p>En los próximos posts explicaremos como dar un diseño a nuestras pestañas, y cómo crear un TabHost con tabs en una misma actividad, para casos simples donde no necesitamos independencia.</p>
<p><strong>Descárgate el código <a title="http://www.tutorialandroid.com/wp-content/codigosDescargables/TutorialAndroid-Como_programar_usando_HTML_para_texto.zip" href="http://www.tutorialandroid.com/wp-content/codigosDescargables/TutorialAndroid_Como_programar_Tabs_en_diferentes_Activities.zip">aquí</a></strong></p><p>The post <a href="http://www.tutorialandroid.com/basico/como-crear-pestanas-tabs-en-independientes-activities/">Como crear pestañas (tabs) en independientes activities</a> first appeared on <a href="http://www.tutorialandroid.com">Tutorial Android, aprende a programar en Android.</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>http://www.tutorialandroid.com/basico/como-crear-pestanas-tabs-en-independientes-activities/feed/</wfw:commentRss>
			<slash:comments>17</slash:comments>
		
		
			</item>
		<item>
		<title>Como hacer que un texto parpadee (fadein y fadeout)</title>
		<link>http://www.tutorialandroid.com/basico/como-hacer-que-un-texto-parpadee-fadein-y-fadeout/</link>
					<comments>http://www.tutorialandroid.com/basico/como-hacer-que-un-texto-parpadee-fadein-y-fadeout/#comments</comments>
		
		<dc:creator><![CDATA[Gonzalo de Córdoba]]></dc:creator>
		<pubDate>Tue, 13 Dec 2011 19:48:49 +0000</pubDate>
				<category><![CDATA[Básico]]></category>
		<category><![CDATA[fadein]]></category>
		<category><![CDATA[fadeout]]></category>
		<category><![CDATA[parpadeo]]></category>
		<category><![CDATA[TextView]]></category>
		<guid isPermaLink="false">http://www.tutorialandroid.com/?p=593</guid>

					<description><![CDATA[<p>Objetivo: Hacer que un texto parpadee en nuestra aplicación Android. Para ello podremos crear una animación, que aplique fadein y fadeout al texto, con intensidad y velocidad deseada. Vamos a crear una Activity Principal que mostrará el texto, creando una &#8230; <a href="http://www.tutorialandroid.com/basico/como-hacer-que-un-texto-parpadee-fadein-y-fadeout/">Sigue leyendo <span class="meta-nav">&#8594;</span></a></p>
<p>The post <a href="http://www.tutorialandroid.com/basico/como-hacer-que-un-texto-parpadee-fadein-y-fadeout/">Como hacer que un texto parpadee (fadein y fadeout)</a> first appeared on <a href="http://www.tutorialandroid.com">Tutorial Android, aprende a programar en Android.</a>.</p>]]></description>
										<content:encoded><![CDATA[<p><span style="text-decoration: underline;"><strong>Objetivo:</strong></span></p>
<div>
<p>Hacer que un<strong> texto parpadee</strong> en nuestra aplicación Android.</p>
<p>Para ello podremos crear una animación, que aplique fadein y fadeout al texto, con intensidad y velocidad deseada.</p>
<div>
<p>Vamos a crear una Activity <strong>Principal</strong> que mostrará el texto, creando una instancia de la clase <strong>TextoParpadeante</strong>. Esta última necesita de dos ficheros XML que , que definirán varios parámetros, tales como la duración .</p>
<p>Vemos unas capturas de pantalla (aunque lo suyo hubiera sido una animación):</p>
<p style="text-align: center;"><img decoding="async" loading="lazy" class="size-full wp-image-599 alignleft" title="TutorialAndroid - Texto parpadeando 1" src="http://www.tutorialandroid.com/wp-content/uploads/2011/12/TutorialAndroid-Texto-parpadeando-1.bmp" alt="TutorialAndroid - Texto parpadeando 1" width="243" height="370" /><a href="http://www.tutorialandroid.com/basico/como-utilizar-formato-html-en-textos/attachment/tutorialandroid-ejemplo-escribir-en-html/" rel="attachment wp-att-578"><img decoding="async" loading="lazy" class="aligncenter size-full wp-image-598" title="TutorialAndroid - Texto parpadeando 2" src="http://www.tutorialandroid.com/wp-content/uploads/2011/12/TutorialAndroid-Texto-parpadeando-2.bmp" alt="" width="244" height="372" /><br />
</a></p>
<p>Y a continuación mostramos el texto comentado:</p>
</div>
<p><span style="text-decoration: underline;"><strong>Código fuente Java (Main.java):</strong></span></p>
<p>[sourcecode language=&#8221;java&#8221;]<br />
package textoparpadeo.tutorialandroid.com;<br />
import android.app.Activity;<br />
import android.os.Bundle;<br />
import android.widget.TextView;</p>
<p>public class Main extends Activity {<br />
    /** Called when the activity is first created. */<br />
    @Override<br />
    public void onCreate(Bundle savedInstanceState) {<br />
        super.onCreate(savedInstanceState);<br />
        setContentView(R.layout.main);<br />
        TextView tv = (TextView) findViewById(R.id.vista_texto);<br />
        tv.setText(&quot;Este texto va a parpadear. \n by TutorialAndroid.com&quot;);<br />
	new TextoParpadeante(getBaseContext(),tv);<br />
    }<br />
}<br />
[/sourcecode]</p>
<p><span style="text-decoration: underline;"><strong>Código fuente Java (TextoParpadeante.java):</strong></span></p>
<p>[sourcecode language=&#8221;java&#8221;]<br />
package textoparpadeo.tutorialandroid.com;<br />
import android.content.Context;<br />
import android.view.animation.Animation;<br />
import android.view.animation.AnimationUtils;<br />
import android.view.animation.Animation.AnimationListener;<br />
import android.widget.TextView;</p>
<p>public class TextoParpadeante {<br />
    Context context;<br />
    private TextView texto = null;<br />
    private Animation fadeIn = null;<br />
    private Animation fadeOut = null;<br />
    // Listeners que detectan el fin de la animación<br />
    private LocalFadeInAnimationListener myFadeInAnimationListener = new LocalFadeInAnimationListener();<br />
    private LocalFadeOutAnimationListener myFadeOutAnimationListener = new LocalFadeOutAnimationListener();</p>
<p>    /**<br />
     * Constructor de la clase<br />
     * @param Context context<br />
     * @param TextView text<br />
     */<br />
	public TextoParpadeante(Context context, TextView text){<br />
		this.context = context;<br />
		this.texto = (TextView)text;<br />
	    runAnimations();<br />
	}</p>
<p>    private void launchOutAnimation() {<br />
	    texto.startAnimation(fadeOut);<br />
    }</p>
<p>    /**<br />
     * Performs the actual fade-in<br />
     */<br />
    private void launchInAnimation() {<br />
	    texto.startAnimation(fadeIn);<br />
    }</p>
<p>    /**<br />
     * Comienzo de la animación<br />
     */<br />
    private void runAnimations() {<br />
    	//uso de las animaciones<br />
	    fadeIn = AnimationUtils.loadAnimation(this.context, R.anim.fadein);<br />
	    fadeIn.setAnimationListener( myFadeInAnimationListener );<br />
	    fadeOut = AnimationUtils.loadAnimation(this.context, R.anim.fadeout);<br />
	    fadeOut.setAnimationListener( myFadeOutAnimationListener );<br />
	    // And start<br />
    	launchInAnimation();<br />
    }</p>
<p>    // Runnable que arranca la animación<br />
    private Runnable mLaunchFadeOutAnimation = new Runnable() {<br />
	    public void run() {<br />
	    	launchOutAnimation();<br />
	    }<br />
    };</p>
<p>    private Runnable mLaunchFadeInAnimation = new Runnable() {<br />
	    public void run() {<br />
	    	launchInAnimation();<br />
	    }<br />
    };</p>
<p>    /**<br />
     * Listener para la animacion del Fadeout<br />
     *<br />
     * @author moi<br />
     *<br />
     */<br />
    private class LocalFadeInAnimationListener implements AnimationListener {<br />
	    public void onAnimationEnd(Animation animation) {<br />
		    texto.post(mLaunchFadeOutAnimation);<br />
		}<br />
	    public void onAnimationRepeat(Animation animation){<br />
	    }<br />
	    public void onAnimationStart(Animation animation) {<br />
	    }<br />
    };</p>
<p>    /**<br />
     * Listener de animación para el Fadein<br />
     */<br />
    private class LocalFadeOutAnimationListener implements AnimationListener {<br />
	    public void onAnimationEnd(Animation animation) {<br />
		    texto.post(mLaunchFadeInAnimation);<br />
		}<br />
	    public void onAnimationRepeat(Animation animation) {<br />
	    }<br />
	    public void onAnimationStart(Animation animation) {<br />
	    }<br />
    };<br />
}</p>
<p>[/sourcecode]</p>
<p>Construimos el fichero XML para la vista principal de la aplicación:<br />
<span style="text-decoration: underline;"><strong>Código fuente XML (Main.xml):</strong></span></p>
<p>[sourcecode language=&#8221;xml&#8221;]<br />
&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;<br />
&lt;LinearLayout xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;<br />
    android:orientation=&quot;vertical&quot;<br />
    android:layout_width=&quot;fill_parent&quot;<br />
    android:layout_height=&quot;fill_parent&quot;<br />
    &gt;<br />
&lt;TextView<br />
	android:id=&quot;@+id/vista_texto&quot;<br />
    android:layout_width=&quot;fill_parent&quot;<br />
    android:layout_height=&quot;wrap_content&quot;<br />
    android:text=&quot;@string/hello&quot;<br />
    /&gt;<br />
&lt;/LinearLayout&gt;<br />
[/sourcecode]</p>
<p>Y a continuación se implentan los fichero que deben ir en el directorio /res/anim/ de nuestro proyecto:<br />
<span style="text-decoration: underline;"><strong>Código fuente XML (res/anim/fadein.xml):</strong></span></p>
<p>[sourcecode language=&#8221;xml&#8221;]<br />
&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;<br />
&lt;alpha<br />
    xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;<br />
    android:fromAlpha=&quot;0.1&quot;<br />
    android:toAlpha=&quot;1.0&quot;<br />
    android:duration=&quot;1000&quot;<br />
/&gt;<br />
[/sourcecode]</p>
<p><span style="text-decoration: underline;"><strong>Código fuente XML (<strong>res/anim/</strong>fadeout.xml):</strong></span></p>
<p>[sourcecode language=&#8221;xml&#8221;]<br />
&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;<br />
&lt;alpha<br />
    xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;<br />
    android:fromAlpha=&quot;1.0&quot;<br />
    android:toAlpha=&quot;0.1&quot;<br />
    android:duration=&quot;1000&quot;<br />
/&gt;<br />
[/sourcecode]</p>
<p><strong>Descárgate el código <a title="http://www.tutorialandroid.com/wp-content/codigosDescargables/TutorialAndroid-Como_programar_usando_HTML_para_texto.zip" href="http://www.tutorialandroid.com/wp-content/codigosDescargables/TutorialAndroid_Como_hacer_texto_parpadeante.zip">aquí</a></strong></p>
</div><p>The post <a href="http://www.tutorialandroid.com/basico/como-hacer-que-un-texto-parpadee-fadein-y-fadeout/">Como hacer que un texto parpadee (fadein y fadeout)</a> first appeared on <a href="http://www.tutorialandroid.com">Tutorial Android, aprende a programar en Android.</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>http://www.tutorialandroid.com/basico/como-hacer-que-un-texto-parpadee-fadein-y-fadeout/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
	</channel>
</rss>
