Bien, pues hagamos nuestro primer ejercicio donde lo único que estaremos haciendo será lanzar una notificación. Vamos a hacer una interfaz que solamente tenga aquí un botón, y ese botón al darle clic nos lance una notificación. Vamos a decirle que esta notificación se va a comportar de forma local. Entonces voy a primeramente a borrar este TextView, y voy a reemplazarlo por un botón que es precisamente nuestro botón que va a estar reaccionando cuando nosotros le demos clic. Voy a colocarle su id, le voy a poner LanzarNotificacion. Okey, LanzarNotificacion y además también le vamos a poner un string, m[as bien un texto en ese botón, y lo vamos a tomar de nuestro archivo strings y se llamará lanzar_notificacion. Listo, y vamos a crear el recurso. Simplemente estoy dando alt enter y voy a decirle create string value resource. Le voy a poner el valor del string, será LanzarNotificacion, y enter. you. Ahora vamos a crear, vamos a ver cómo estaba mostrándose esto. Ahí está. Vamos nada más a centrar este elemento un poco, android:centerHorizontal en true. Listo. Bien, ahora vamos a nuestro archivo MainActivity para crear el método que estará asociado a este botón public void lanzarNotificacion será un View y listo. you está ahí nuestro método y entonces bueno, lo primero que voy a estar trabajando aquí es que cuando al momento de que alguien le de clic a nuestra notificación, pues esa notificación tiene que dirigirse hacia algún lado. Entonces la única forma que tenemos para dirigirnos a un lugar es a través de un objeto intent, y entonces voy a configurar a dónde se va a dirigir mi aplicación cuando alguien le de clic. Entonces será simple porque solamente tengo una pantalla hasta al momento, la pantalla de MainActivity. Ahora además de tener mi intent, debo configurar un objeto que se conoce como PendingIntent, y este objeto PendingIntent es precisamente el tipo de dato que estará recibiendo nuestra notificación para precisamente dirigirse a donde nuestro intent se ha configurado. Entonces le voy a poner, me pide el contexto, le voy a poner this, después me pide un código de solicitud, puedo poner el que yo quiera, le voy a poner 0. Después me solicita el intent, el intent a donde va i, y por último una bandera. Entonces voy a poner aquí una bandera PendingIntent, voy a poner Flag_One_Shot. Listo. you está. Ahora lo que estaré trabajando es mi notificación. Utilizaré la clase NotificationCompat y lo primero que estaré haciendo será configurar la notificación. Aquí en este objeto, a través de este objeto estaré trabajando la notificación, solamente configuraré la notificación. Y como vimos en el video, la clase notificationManager será el encargado de estar, pues estar llevándose, de estar mandando esa notificación que definimos. Bien, aquí me falta el builder, ahí está, muy bien. you está mi notificación. Ahora vamos a empezar a darle más atributos a esa notificación. Voy a comenzar por asignarle un ícono, okey, la instrucción que estaré buscando se llama setSmallIcon y bueno ahorita vamos a traer un ícono que previamente yo you tengo listo. Entonces voy a quitar eso por un momento y voy a traer el ícono a mi proyecto a través del plugin drawable, a través del plugin que me permite estar trabajando pues, que mi imagen sea generada en diferentes densidades. Entonces voy a importar la lista, you está, esa es la imagen que estoy trabajando, es así, no se alcanza a ver muy bien ahorita pero ahorita la vamos a ver en marcha. Entonces primero le voy a colocar setSmallIcon y colocaremos R.drawable .notification, okey. Después vamos a poner setContentTitle, el título de nuestra notificación, le podemos poner Notificacion. Okey. Y posteriormente colocaremos setContentText, vendrá el contenido del texto que le vamos a poner un Hola Mundo. Ahora colocaremos setSound, queremos que nuestra notificación tenga un sonido y entonces para esto tiene que recibir un recurso de tipo Uri, okey. Entonces ese recurso de tipo Uri voy a declarar un objetito por aquí antes de. Voy a poner sonido, y voy a usar una clase que se llama RingManager, RingtoneManager. Le voy a decir que este método precisamente getDefaultUri y aquí dentro le voy a decir que a partir del RingtoneManager obtenga el sonido que tiene que ver con el tipo de sonido que tienes configurado en tu teléfono para una notificación, o el sonido que tienes configurado en tu teléfono para una alarma. Y así sucesivamente dependiendo del sonido que elijas, voy a seleccionar el de notificación, y you quedó, listo mi sonido, esto es el código que tengo. Simplemente aquí donde dejé pendiente el método me voy a pasar el dato y you que tengo mi sonido, ahora debo también, recuerdas mi PendingIntent, le voy a decir setContent, setContentIntent, ahí está. Le vamos a pasar el PendingIntent que configuramos arriba, y listo, vamos a ver aquí qué nos está diciendo. Okey, parece que estas estamos trayendo de la versión 7 y necesitamos de la versión 4. Okey, eso es muy importante que nuestra clase NotificationCompat provenga de la versión 4 de Android, aquí podemos ver tenemos la 7 y tenemos la 4, vamos a trabajar con la 4, y you quedó listo. you quedó configurada nuestra notificación. Qué ícono va a tener, qué título, qué texto, sonido, y hacia dónde se va a dirigir. Además le voy a añadir un parámetro más, le voy a poner que sea autocancelable, okey, que la notificación se pueda cancelar. Y entonces ahora sí utilizaré mi clase notificationManager y esta clase me va a estar ayudando precisamente a mandar el objeto notificación que you creé más arriba, le voy a decir aquí getSystemService, utilizaré mi clase Contexto y le voy a decir que será un servicio de tipo notificación, así lo dejamos. Y listo you quedó mi objetito, le voy a decir aquí que voy a utilizar notificationManager.notify y como primer parámetro me pide un id, puedo poner el id que yo quiera. Posteriormente me pide la notificación que previamente you configuré, está ahí arriba notification y le daré .build, es decir construye la notificación que yo hice aquí, constrúyela, asígnale un identificador y con mi objeto Manager es que estaré enviando la notificación. Bien, pues you para probarla nada más vamos a asociar este método a su respectivo botón. Para eso colocaremos el atributo onClick y lanzarNotificacion. Perfecto, tengo listo un emulador de Android y simplemente vamos a darle play y parece que you ha terminado, you está en nuestra aplicación, y bueno, como le hemos asignado un sonido, vamos a subir el volumen para que esto pueda escucharse muy bien. Y vamos a darle aquí clic. [SONIDO] Listo, ese es el tono que tiene definido mi notificación. Y aquí se ve, aquí está claramente visible, dice notificación Hola Mundo. Ahora vamos a probar esto mismo pero en nuestro dispositivo físico, en nuestro dispositivo móvil. Para eso estoy utilizando esta herramienta que me permite pues estar visualizando mi teléfono móvil. Ojo, esto no es emulador, este es simplemente un visor de mi teléfono móvil, es como un visor de acceso directo. Voy a correr de nuevo el proyecto, y ahora sí le vamos a decir que lo corra en el dispositivo físico, en el dispositivo que se ve aquí. [AUDIO EN BLANCO] Listo, you está ahí mi aplicación, vamos a darle lanzar notificación. [SONIDO] Y se ha escuchado un tono. Vamos a subir un poco más el volumen, aquí está mi notificación. Perfecto, subiremos un poco más el volumen, y ahora [SONIDO], ahí está de nuevo, está respetando el tono que yo tengo definido para mi notificación, y al darle clic a la notificación nos lleva a esta ventana. Nos damos cuenta porque al hacerle con el botón de back termina la ventana que estaba abierta del activity y entonces nos regresa al activity anterior. Okey, perfecto. De esta forma es como puedo estar configurando notificaciones locales en mi teléfono.