Aplicación II: Alertas en Android

Hoy traemos nuestra segunda aplicación android donde vamos a testear los tres tipos de notificaciones que hemos estado comentando anteriormente: AlertDialog, Toast y Notification. -Además de aprender a programar en Android !-

Básicamente es una aplicación donde vamos a ver el funcionamiento de cada alerta y cómo programarla. Es verdad que podemos personalizar la alerta y hacer muchas más cosas pero eso ya es, como dirían los ingleses, it’s up to you!

Os dejo el código fuente que he generado en el video.

Layout – La imagen que uso de fondo tenéis que sustituirla por otra ya que os dará error al no encontrarla en la carpeta del proyecto.

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin"
    tools:context=".MainActivity"
    android:orientation="horizontal"
    android:background="@drawable/logo"
    android:gravity="center|top">


    <LinearLayout
            android:orientation="horizontal"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:paddingRight="50dp">

        <Button
                style="?android:attr/buttonStyleSmall"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Alert Dialog"
                android:id="@+id/button"
                android:background="#ff8735"
                />

    </LinearLayout>

    <LinearLayout
            android:orientation="horizontal"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:paddingRight="50dp">

        <Button
                style="?android:attr/buttonStyleSmall"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Toast"
                android:id="@+id/button2"
                android:background="#70b0ff"
                android:layout_gravity="left|center_vertical"/>
    </LinearLayout>

    <LinearLayout
            android:orientation="horizontal"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent">

        <Button
                style="?android:attr/buttonStyleSmall"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Notification"
                android:id="@+id/button3"
                android:background="#b4ff58"/>
    </LinearLayout>
</LinearLayout>
    


Código Java del Activity Main

package com.exam222ple.probandoalertas;

import android.app.AlertDialog;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.media.RingtoneManager;
import android.net.Uri;
import android.os.Bundle;
import android.app.Activity;
import android.support.v4.app.NotificationCompat;
import android.view.Gravity;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

public class MainActivity extends Activity {

    private Button boton1;
    private Button boton2;
    private Button boton3;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        boton1 = (Button) findViewById(R.id.button);
        boton2 = (Button) findViewById(R.id.button2);
        boton3 = (Button) findViewById(R.id.button3);

        //AlertDialog

        boton1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                final AlertDialog.Builder alertaSimple = new AlertDialog.Builder(MainActivity.this);

                alertaSimple.setTitle("Alerta Simple");
                alertaSimple.setMessage("Mensaje");
                alertaSimple.setPositiveButton("Aceptar", new DialogInterface.OnClickListener(){
                    public void onClick(DialogInterface dialog, int which) {
                        // Codigo
                    }
                });
                alertaSimple.setNegativeButton("Cancelar", new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int which) {
                        // Codigo
                    }
                });
                alertaSimple.setIcon(R.drawable.mono);
                alertaSimple.create();
                alertaSimple.show();
            }
        });

        //Toast

        boton2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Toast tostada = Toast.makeText(getApplicationContext(), "Mensaje", Toast.LENGTH_LONG);
                //tostada.setGravity(Gravity.TOP|Gravity.LEFT, 100, 0);
                tostada.show();
            }
        });

        //Notification

        boton3.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                NotificationCompat.Builder notificacion = new NotificationCompat.Builder(MainActivity.this);

                notificacion.setSmallIcon(R.drawable.ic_launcher);
                notificacion.setTicker("Notification How To Android");
                notificacion.setWhen(System.currentTimeMillis());
                notificacion.setContentTitle("How to android");
                notificacion.setContentText("Textoooooo");
                notificacion.setContentInfo("HTA");

                Uri sonido = RingtoneManager.getDefaultUri(Notification.DEFAULT_SOUND);
                notificacion.setSound(sonido);

                Bitmap icono = BitmapFactory.decodeResource(getResources(), R.drawable.mono);
                notificacion.setLargeIcon(icono);

                PendingIntent myPendingIntent;
                Intent myIntent = new Intent();
                Context myContext = getApplicationContext();

                myIntent.setClass(myContext, Activity2.class);
                myIntent.putExtra("ID", 1);

                myPendingIntent = PendingIntent.getActivity(myContext, 0, myIntent, 0);
                notificacion.setContentIntent(myPendingIntent);

                Notification n = notificacion.build();

                NotificationManager nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);

                nm.notify(1, n);

            }
        });
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);

        return true;
    }

    public boolean onOptionsItemSelected(MenuItem item){

        switch (item.getItemId()){
            case R.id.opcion1:
                Toast.makeText(this, "Opcion 1 pulsada", Toast.LENGTH_LONG).show();
                break;
            case R.id.opcion2:
                Intent pantalla_nueva = new Intent(this, Activity2.class);
                startActivity(pantalla_nueva);
                break;
        }

        return true;
    }
}

Código Java del Segundo Activity

package com.exam222ple.probandoalertas;

import android.app.NotificationManager;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;

public class Activity2 extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity2);

        NotificationManager nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
        int ID = getIntent().getIntExtra("ID", 8);
        nm.cancel(ID);

    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.activity2, menu);
        return true;
    }

}

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Leer entrada anterior
webViewADNfriki
Mostrar una web en tu aplicación Android con WebView

Vamos a enseñaros algo muy sencillo pero que puede ser de gran utilidad si por cualquier razón necesitamos mostrar una...

Cerrar