CalendarView

Por: Ana Rodríguez, Luis Caballero 

CalendarView



El widget de CalendarView en Android Studio es un elemento de interfaz de usuario que permite a los desarrolladores de aplicaciones mostrar un calendario interactivo en una aplicación Android. De esta manera, proporciona una interfaz gráfica que muestra un calendario mensual con días, semanas y meses, y permite a los usuarios navegar a través de las fechas para seleccionar una específica. 

La API de CalendarView te permite consultar, insertar, actualizar y borrar operaciones de calendarios, eventos, asistentes, recordatorios, etc.

A través de la API de Proveedor del calendario, las aplicaciones y los adaptadores de sincronización pueden obtener acceso de lectura/escritura a las tablas de la base de datos que contienen datos del calendario de un usuario.

En Android Studio, puedes agregar una CalendarView a tu diseño de interfaz de usuario mediante la definición de un elemento XML o programáticamente en el código Java/Kotlin.

Representación grafica del modelo de datos de CalendarView



  • Evenst.CALENDAR_ID
Este permite vincular las cuentas de los usuarios. Cada usuario tiene la capacidad de gestionar múltiples calendarios, permitiendo así la asociación de calendarios individuales con diferentes tipos de cuentas.
  • Events
Es una tabla que contiene la  información específica del evento. Cada fila de esta tabla incluye información de un solo evento, como el título del evento, la ubicación, la hora de inicio, la hora de finalización, etc. El evento puede ocurrir una sola vez o repetirse varias veces. Los asistentes, los recordatorios y las propiedades extendidas se almacenan en tablas independientes. 
  • Attendees
Esta tabla contiene al asistente al evento (invitado).  el cual especifica el tipo de invitado y la respuesta de este a la invitación para el evento y cada fila representa un solo invitado a un evento.
  • Reminders
En esta tabla se almacenan los detalles relacionados con las alertas y notificaciones. Cada fila corresponde a una alerta única asociada a un evento específico. Es importante destacar que un evento tiene la capacidad de contar con múltiples recordatorios. Estos recordatorios se expresan en minutos antes del evento y se caracterizan por un método que determina la forma en que se notificará al usuario.
  • Instances
En esta tabla se registran tanto el momento de inicio como el de finalización de cada instancia de un evento. Cada fila representa una instancia individual de un evento en particular. En el caso de eventos únicos, cada instancia se asigna de manera directa y única a un evento, siguiendo una relación de 1:1. Sin embargo, en el contexto de eventos recurrentes, se generan automáticamente múltiples filas que representan distintas instancias de ese evento recurrente.

Características

  • Inserción, actualización y visualización de eventos de calendario. 
Para llevar a cabo operaciones de inserción, modificación y lectura de eventos a través del Proveedor de Calendario, es imprescindible contar con los permisos adecuados. No obstante, si estás desarrollando una aplicación que no tiene como objetivo ser un calendario completo ni un adaptador de sincronización, no es necesario solicitar estos permisos.

Al momento de diseñar una aplicación que pueda ejecutar estas operaciones de calendario de forma habitual proporciónale una interfaz de usuario consistente y robusta, lo cual le brindara una experiencia de alta calidad y no varia su función con el sistemas, los datos del usuario y el modo de uso.
  • Adaptadores de sincronización. 
Un adaptador de sincronización, es aquel que se encarga de sincronizar los datos del calendario que se encuentran en el dispositivo de un usuario con otro servidor u origen de datos. 

En las tablas CalendarContract.Calendars y CalendarContract.Events hay columnas que se reservan para los adaptadores de sincronización. Ni el proveedor ni las aplicaciones deben modificarlas. De hecho, no están visibles a menos que se acceda a ellas como un adaptador de sincronización. 

Comentarios

Entradas más populares de este blog

Plantillas/Pantallas para proyectos

SurfaceView

VideoView