Ir al contenido principal

Desarrollo en Android T12 - Cerrar un App y Mensajes con Botones

Desarrollo en Android T12 - Cerrar un App y Mensajes con Botones

  
1. Para atrapar el botón Back simplemente se sobre escribe el método onBackPressed, y se llama al método que mostrará el mensaje de dialogo.

@Override
public void onBackPressed() {
    MessageButtonOkCancel("Eventos""¿Desea cerrar la App?""Aceptar""Cancelar");
}


  
2. El primer paso es crear un objeto de tipo AlertDialog, como el utilizado para mostrar un mensaje.

AlertDialog.Builder alertDialog= new AlertDialog.Builder(this);
alertDialog.setTitle(title);
alertDialog.setMessage(message);

3. De forma similar a la utilizada para establecer el titulo y el mensaje, se crea el botón para Aceptar implementando el método setPositiveButton el cual recibirá como parámetro un texto y un DialogInterface que permite generar un nuevo onClickListener para atrapar el evento click que se produce al presionar el botón.

Dentro del evento onClick se programa la acción que se realizará, o se pueden llamar a un método  programado previamente.

alertDialog.setPositiveButton(aceptText, new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface alertDialog, int id) {
            finish();
        }
    });


4. Para el botón cancelar se implementa el método setNegativeButton, con lo que también se crear un Listener y un método onClick.

alertDialog.setNegativeButton(cancelText, new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface alertDialog, int id) {

        }
    });
    alertDialog.show();
}


5. A continuación se muestra el método MessageButtonOkCancel que se crea para ejecutarlo cuando el usuario presione el botón Back, y en lugar de que se cierre la aplicación esta muestre un mensaje y dependiendo de la respuesta del usuario se cierra o no la App.

public void MessageButtonOkCancel(String title, String message, String aceptText, String cancelText){
    AlertDialog.Builder alertDialog= new AlertDialog.Builder(this);
    alertDialog.setTitle(title);
    alertDialog.setMessage(message);
    alertDialog.setCancelable(false);
    alertDialog.setPositiveButton(aceptText, new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface alertDialog, int id) {
            finish();
        }
    });

    alertDialog.setNegativeButton(cancelText, new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface alertDialog, int id) {

        }
    });
    alertDialog.show();
}


6. El resultado de ejecutar la aplicación se puede apreciar en la siguiente imagen.

 

Comentarios

Entradas más populares de este blog

Creación de Librerías en Java

Creación de Librerías en Java   Las librerías son un conjunto de clases con funciones especificas que ayudan a desarrollar aplicaciones más complejas de una forma sencilla, por ejemplo si se requiere realizar cálculos matemáticos y emplear el funciones como el Seno o Coseno, simplemente se importa la librería Math y se utilizan estos métodos, en lugar de desarrollarlos. Java cuenta con una extensa lista de librerías disponibles dentro del JDK o desarrolladas por terceros, pero también existe la posibilidad de desarrollar librerías propias para reutilizar de forma más eficiente el código, por ejemplo si se trabaja de forma cotidiana con conexión a base de datos, se pueden desarrollar métodos genéricos que realicen la conexión, que validen las consultas, etc. de forma que su uso reduzca el tiempo de desarrollo e incremente la productividad. Para este tutorial se van a crear dos proyectos en NetBeans, uno sera la librería y el otro proyecto hará uso de esta.

Elegir la clase a ejecutar en NetBeans, MVC

Elegir la clase a ejecutar en NetBeans Para que java pueda ejecutar una aplicación esta debe tener un método conocido como punto de entrada, este método tiene la sintaxis: void static void main(String [] sax){ //código } En ocasiones en una aplicación tiene varios puntos de entrada, que pueden servir para probar diferentes partes de la aplicación sin tener que recorrer o pasar por varias clases, para esto se puede seleccionar directamente en las propiedades del proyecto que clase será la principal.

Librerías JOptionPane para generar ventanas de entrada y salida de datos

Para poder introducir datos leídos desde el teclado existen varias formas, una de ellas hace uso de la librería javax.swing.JOptionPane que entre otras opciones permite mostrar ventanas para introducir datos, y ventanas para mostrar valores. Con el uso de esta librería se crean pequeñas interfaces definidas por el sistema, pero ya se hace uso de las librerías graficas swing, que se verán más adelante.