Постачальник календаря, Android Developers

Постачальник календаря є репозиторієм для подій календаря користувача. API постачальника календаря дозволяє запитувати, вставляти, оновлювати та видаляти календарі, події, учасників, нагадування тощо.

API постачальника календаря може використовуватися як програмами, так і адаптерами синхронізації. Правила залежать від типу програми, яка здійснює дзвінки. У цій статті головним чином розглядається використання API постачальника календаря як програму. Відомості про різницю між адаптерами синхронізації можна знайти в розділі Адаптери синхронізації.

Постачальники контенту зберігають у собі дані та надають доступ до них додатків. Постачальники контенту, пропоновані платформою Android (включаючи постачальник календаря), зазвичай представляють дані у вигляді набору таблиць, в основі яких лежить модель реляційної бази даних. Кожен рядок у такій таблиці є записом, а кожен стовпець — дані певного типу і значення. Завдяки API постачальника календаря програми та адаптери синхронізації отримують доступ до читання/запису до таблиць у базі даних, в яких представлені дані календаря користувача.

Кожен постачальник календаря надає загальнодоступний URI (упакований в об'єкт Uri ), який є унікальним ідентифікатором свого набору даних. Постачальник контенту, який керує декількома наборами даних (декількома таблицями), надає окремий URI для кожного набору. Всі постачальники URI починаються з рядка content://. Вона визначає дані, які перебувають під керуванням постачальника контенту. Постачальник календаря визначає константи для URI кожного зі своїх класів (таблиць). Такі URI мають формат .CONTENT_URI. Наприклад, Events.CONTENT_URI .

На малюнку 1зображено графічне представлення моделі даних постачальника календаря. На ньому представлені основні таблиці та поля, які пов'язують їх один з одним.

android

Малюнок 1. Модель даних постачальника календаря.

Клас CalendarContract визначає модель даних календаря та інформацію, що стосується подій. Ці дані зберігаються у різних таблицях, наведених нижче.