Veamos como crear un AlertDialog en Android, sabemos que los diálogos nos sirve para mostrar mensajes o para ingresar datos por parte del usuario, mostrar botones yes o no, o también podemos crear y personalizar nuestro propio AlertDialog, veamos como crear un ejemplo.

Para nuestro ejemplo vamos crear un aplicación que muestre si queremos cerrar la aplicación o no.

1. Crear un proyecto nuevo.

Para este ejemplo utilizo Android studio v. 2.2. Para eso presionamos en “Start a new Android Studio proyect”

2. Ponemos como nombre “AlertDialog” el proyecto

Veamos los parámetros de opciones para que sirven:

  • Application name : nombre del proyecto
  • Company Domain : nombre del dominio para el paquete
  • Package name : nombre del proyecto completo como un indentificador
  • Proyect Location : ruta del proyecto en el ordenador.

Le damos en el botón Next.

3. Escogemos para que dispositivos sera nuestro proyecto.

Vemos que solo el proyecto sera para dispositivos móviles y tables.

  • Minimum SDK : que mínimo API para ejecutar la App sera la API 19 android 4.4 (kitkat)

Y ahora le damos en el botón “Next”.

4. Creamos un proyecto en blanco escogiendo “empty activity”

Y le damos en el botón “Next”.

5. Veamos lo siguiente:

  • Activity Name : nombre del la clase de la actividad por defecto lo dejamos asi
  • Layout Name : nombre de nuestro layout

Y por ultimo le damos en finish.

6. En el entorno de trabajo de Android Studio.

Ahora vemos en la parte izquierdo del proyecto seleccionamos la clase MainActivity.

Creamos un método showDialogo() para llamarlo en el método de evento de la actividad onCreate, veamos lo siguientes métodos, propiedades.

  • setContentView(layout) : definimos el layout vista a mostrar.
  • R.layout.activity_main : nombre de nuestro layout definido a mostrar.
  • AlertDialog : clase para crear un dialogo.
  • Builder(this) : método para construir el dialogo y se le pasa por referencia la clase en que esta
  • setTitle(string) : define el nombre del titulo del dialogo
  • setMessage(string) : define el nombre del mensaje del dialogo
  • setPossitiveButton(int, evento) : nombre para la acción si presiona ok
  • setNegativeButton(in, evento) : nombre de la acción si presiona cancelar
  • show() : método para mostrar el dialogo

Ahora para acceder algunas propiedades de android navitamente:

  • android.R.string.yes : por defecto una cadena del propio android, muestra OK
  • android.R.string.no : lo mismo una cadena por defecto de android y muestra cancelar

7. Ahora compilamos y ejecutamos:

Tenemo el siguiente resultado en el emulador.

Y por ultimo dejo el código fuente de la clase “MainActivity”.

package com.devpantro.alertdialog;

import android.content.DialogInterface;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;

public class MainActivity extends AppCompatActivity {

 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
  showdialogo();
 }
 // creo una funcin para mostrar
 private void showdialogo() {
  // creamos un objeto de AlertDialog
  // construimos con el metodo Builder y le pasamos referecnia la actividad con this
  new AlertDialog.Builder(this)
   .setTitle( & quot; El Titulo & quot;) // definimos el titulo
   .setMessage( & quot; Esto es mi contenido & quot;) // definimos el mensaje del dialogo
   // creamos el boton ok en caso presione, se ejecuta el bloque de codigo
   .setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {
    @Override
    public void onClick(DialogInterface dialog, int which) {
     finish();
    }
   })
   // caso contrario se ejecuta este bloque de codgio si se cannela
   .setNegativeButton(android.R.string.no, new DialogInterface.OnClickListener() {
    @Override
    public void onClick(DialogInterface dialog, int which) {
     // mostramos el log en mensaje en caso se cansele
     Log.d( & quot; message & quot;, & quot; se presiono cancelar & quot;);
    }

   }).show();
 }
}

Y así de simple y sencillo creamos un AlertDialog para nuestro proyecto móvil.

nota