Notificaciones Android - I. Uso del Toast

Ejemplo Toast Android

Hola de nuevo chic@s! En esta lección vas a ver la forma mas sencilla y rápida que tiene Android para notificar al usuario algo, en concreto este método que vamos a ver, en Android se llama Toast.

Yo personalmente, también lo uso para mostrar por ejemplo una variable cuando estoy desarrollando una aplicación nueva, es decir, cuando me interesa en un momento dado indicarme una variable, o asegurarme que al pasar por alguna parte del programa me lo diga.. en fin, es tan sencillo su uso que ya veras como tu también lo usaras para muchas cosas!! ahhh se me olvidaba! bueno, ¡empecemos! ¡yujuuuuuu!

Veamos mas detalles!! Un toast es un mensaje que se muestra en pantalla durante unos segundos al usuario para luego volver a desaparecer automáticamente sin requerir ningún tipo de actuación por su parte. Aunque se le puede indicar que se muestre en una ubicación en concreto, por defecto aparecen en la parte inferior de la pantalla, sobre un rectángulo gris ligeramente translúcido.

Como dije al principio, este tipo de notificaciones son ideales para mostrar mensajes rápidos y sencillos al usuario, por contra, al no requerir confirmación por su parte, pueden pasar desapercibidos, por lo que no deberían utilizarse para hacer notificaciones demasiado importantes.... es posible que no se enteren de ná.

Ejemplo sencillo Toast

Bueno, he visto la documentación oficial de Android, con sus ejemplos tan molones y... que quieres que te diga... lo fácil lo hacen complicado!! en el siguiente ejemplo que ves abajo, mostramos un Toast de larga duración, con el mensaje "Mi primer Toast" ya veras como es súper fácil!!.

//Mostramos un Toast
Toast.makeText(getApplicationContext(), "Mi primer Toast", Toast.LENGTH_LONG).show();
						

Por explicar un poco mas afondo todo, y que veas que la cosa no es pá tanto, para hacer un Toast, necesitas 3 cosas:

 Un contexto. Un contexto es la ventana donde esta corriendo nuestra aplicación, por eso usamos getApplicationContext, con ese comando estamos adquiriendo el contexto que este activo en ese momento, valdria con un this tambien, pero si lo lanzas desde un servicio deberas de usar el otro, vamos usa siempre el getAplicationContext y no fallaras nunca!
 Un Texto. En este caso le pasamos el texto "Mi primer Toast" (debe estar entre comillas), también podemos poner un texto que este en Resources (strings.xml).
 Una duración. En este caso le decimos que muestre un Toast largo.

Variando la posicion del Toast

Como vimos al principio, lo malo de estos mensajes, es lo poco que se ven, sobre todo porque además por defecto aparecen en la parte inferior, por lo que se hacen mas difícil de ver, vamos a ver otro ejemplo donde variamos la posicion del Toast para que aparezca en la parte superior:

//Mostramos Toast con Gravity
Toast t = Toast.makeText(context,	"Mi segundo Toast", Toast.LENGTH_LONG);
t.setGravity(Gravity.CENTER, 20, 20);
t.show();

esta variante setGravity, se le pasan 3 parámetros: Un valor Gravity y luego el Offset en el eje X y el offset en el eje Y. Con este ejemplo sale centrado arriba.

getResources para adquirir texto desde string.xml

Ahora vamos a ponerle la guinda a la tarta! (no es pa tanto pero weno) a mi me a pasado, que si tienes una aplicacion en español e Ingles, necesitas sacar los textos de Recursos, porque no se si sabes, que Android selecciona dependiendo del idioma que tengas configurado el telefono tira de recursos string... (esto esta explicado en los primeros temas del curso) el caso es que para sacarlo de recursos debes convertirlo a string, para ello lo haremos de la siguiente forma:

//Mostramos Toast
Toast.makeText(getApplicationContext(),
getResources().getString(R.string.medias), Toast.LENGTH_LONG).show();
						

Con getResources transformamos el recurso R.string.medias a texto! apuntalo, porque seguro que te será útil en otras ocasiones!!

¿que os parece? no es complicado, como todo requiere practica y hacer varias pruebas, pero vamos si yo pude. ¡tu también! animo y si no te aclaras, pregunta en el foro.

Si te a gustado este sitio, por favor haz click en me gusta en Facebook, Google+, Tweeter... es el único precio que te pido por este trabajo! ;P. Compartiendo, ayudaras a otros a encontrar esta web! GRACIASSSS.