contacto[arroba]digitallearning.es

Notificaciones en Android 5 Lollipop: App ejemplo

Post Series: Android 5 Lollipop

En este apartado, desarrollaremos un proyecto denominado “NotificacionesAndroidLollipop“, en el que se mostrarán las diferentes novedades del sistema de notificaciones que implementa la versión de Android 5.0 Lollipop.

En esta aplicación Android ejemplo, se mostrará un sistema que simulará el envío de notificaciones de email recibido y llamada perdida, controlando la visualización de una notificación heads-up o también denominada flotante, durante el uso de cualquier otra aplicación del dispositivo. También se mostrará como dichas notificaciones podrán visualizarse desde la pantalla de bloqueo (al desbloquear se mostrará el resto de información de la notificación), pudiendo configurar el grado de privacidad de dichas notificaciones. Con este proyecto se pretenden mostrar las novedades que implementa Android 5.0 Lollipop en lo que concierne al sistema de notificaciones.

Pantallas de la Aplicación Android

Si pinchas en las siguientes miniaturas, podrás ver las diferentes pantallas de la Aplicación Android:

  • 1ª: pantalla ‘Splash’
  • 2ª-4ª: Notificaciones de email
  • 5ª-7ª: Notificaciones llamadas
  • 8ª: pantalla de bloqueo
  • 9ª: notificación flotante

Screen SplashNotificacion emailNotificacion email 2ª pantalla

Notificacion email 3ª pantallaNotificacion llamada 1ª pantallaNotificacion llamada 2ª pantalla

Notificacion llamada 3ª pantallaNotificacion Pantalla BloqueoNotificacion Flotante Explorer

Elementos del Proyecto Android

Se comenzará en primer lugar por enumerar los elementos necesarios para el desarrollo del proyecto denominado “NotificacionesAndroidLollipop”:

  • Clase SplashScreen, que herede de la clase base Activity, encargada de lanzar una pantalla de presentación al iniciar la aplicación, proporcionando una mayor inmersión del usuario en la aplicación.
  • Clase MainActivity, que herede de la clase base Activity, donde se implementa la lógica de creación de notificaciones a partir de la clase NotificationManager, además de establecer las propiedades necesarias para que las notificaciones recibidas puedan visualizarse tanto en la pantalla de bloqueo como de manera flotante durante el uso de cualquier aplicación del dispositivo.
  • Clase GestionEmail, que herede de la clase base Activity, encargada de mostrar el resto de información del email recibido al seleccionar la notificación en la barra de estado.
  • Clase GestionLlamadas, que herede de la clase base Activity, encargada de mostrar el resto de información de la llamada perdida recibida al seleccionar la notificación en la barra de estado.
  • Layout activity_splash_screen.xml, formado por una componente de tipo ImageView, que mostrará el logotipo de la aplicación.
  • Layout activity_main.xml, formado por tres componentes de tipo EditText para introducir los datos que mostrarán las notificaciones, además de tres componentes de tipo Button, encargados de lanzar los eventos de creación de una notificación de email recibido, llamada perdida y cancelación de notificaciones pendientes. Además se define un componente de tipo TextView que mostrará la versión de máquina virtual, para comprobar la compatibilidad de la aplicación con ART.
  • Layouts activity_gestion_llamadas y activity_gestion_email, formados ambos por dos componentes de tipo TextView, uno de ellos de tipo multilínea (más concretamente el encargado de mostrar el asunto del email recibido), y un componente de tipo ImageButton, para volver a la pantalla inicial.
  • Repositorio de iconos y recursos para desarrolladores que proporciona Google con nuevos diseños y refinamiento de componentes que puedes ver en esta página o descargar desde: material-design.storage.googleapis.com/publish/v2/ materialext_publish /0B08MbvYZK1iNUzJ4c1VXWDYzbTA/material-design-icons-1.0.1.zip

Estructura del proyecto

Estructura del Proyecto Android Lollipop

Documentación código fuente

Como siempre, como usuario Premium puedes descargar todo el código de este proyecto al fnal de este tutorial

NotificacionesAndroidLollipop\app\src\main\java\com\academiaandroid\notificacionesandroidlollipop\MainActivity.java

  1. Se define la clase MainActivity, que hereda de la clase base Activity, donde se implementan todas las tareas de creación de notificaciones:public class MainActivity extends Activity {
  2. Posteriormente, se declara una variable para la clase TextView, además de dos variables de la clase TimerTask, que permitirán lanzar una determinada tarea pasado un periodo de tiempo establecido:
  3. A continuación, se inicializan dos objetos de la clase TimerTask, donde se establece la lógica de creación de las notificaciones dentro del método run():
  4. Por último comentar que se declaran e inicializan dos objetos de la clase Timer, que se encargarán de invocar al método run(), pasado un determinado periodo de tiempo, a partir del lanzamiento del evento setOnClickListener() por parte del usuario. Con este sistema, el de establecer un periodo de tiempo para la realización de la tarea, se pretende mostrar cómo se visualizarán las notificaciones flotantes durante el uso de cualquier aplicación que se esté ejecutando en el dispositivo:

Nota: En el ejercicio práctico comentado anteriormente, se ha descrito sólo el código que hace referencia a las novedades que presenta a nivel de notificaciones la nueva versión de Android 5.0 Lollipop, sin entrar a detallar el resto del código que ya ha sido comentado en anteriores tutoriales.

Descarga Proyecto

Descargar

En la próxima entrega de esta serie (sábado 25), publicaremos un videotutorial Premioum explicando este proyecto.