Professional Documents
Culture Documents
Tecnología Móvil 1
Android permite mostrar una ventana emergente temporal que informa al usuario mediante un
mensaje que aparece en la pantalla por un lapso pequeño de tiempo (luego de pasado un tiempo
la ventana desaparece).
Esta ventana que se superpone a la interfaz que se está mostrando en ese momento se
administra mediante una clase llamada Toast.
Problema:
Generar un número aleatorio entre 1 y 100000. Mostrar mediante una ventana emergente dicho
número por un lapso de tiempo. Luego mediante un control EditText ("Number") pedir al
operador que ingrese el número que vio en la pantalla. Cuando se presione un botón controlar
el número generado aleatoriamente con el que ingresó el usuario y mediante otro Toast
informar si acertó o no.
Código fuente:
package pe.com.sistemas.proyecto008;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
et1=(EditText)findViewById(R.id.editText);
num=(int)(Math.random()*100001);
String cadena=String.valueOf(num);
Toast notificacion=Toast.makeText(this,cadena,Toast.LENGTH_LONG);
notificacion.show();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
return super.onOptionsItemSelected(item);
}
et1=(EditText)findViewById(R.id.editText);
num=(int)(Math.random()*100001);
Convertimos el valor entero a String ya que la clase Toast siempre hay que pasarte un String
para mostrar:
String cadena=String.valueOf(num);
Veamos ahora lo nuevo que es la clase Toast, tenemos que crear un objeto de la clase Toast,
para ello definimos una variable que la llamamos notificacion y mediante el método estático
makeText de la clase Toast creamos el objeto.
El método makeText tiene tres parámetros: el primero hace referencia a la ventana o Activity
donde aparece (this), el segundo el la variable de tipo String que se mostrará en pantalla y por
último es una constante que indica que la notificación se mostrará por un tiempo largo o corto:
Toast notificacion=Toast.makeText(this,cadena,Toast.LENGTH_LONG);
notificacion.show();
Luego de unos segundo desaparece la notificación de pantalla (es decir en nuestro programa
desaparece de pantalla el número aleatorio)
En este método extraemos del control EditText el número que ingreso el usuario:
String valorIngresado=et1.getText().toString();
Lo convertimos a entero:
int valor=Integer.parseInt(valorIngresado);
if (valor==num) {
Toast notificacion=Toast.makeText(this,"Muy bien recordaste el número
mostrado.",Toast.LENGTH_LONG);
notificacion.show();
}
Por el falso mediante otra notificación mostramos que no ingresó correctamente el número:
else {
Toast notificacion=Toast.makeText(this,"Lo siento pero no es el número que
mostré.",Toast.LENGTH_LONG);
notificacion.show();
}