Please note that the contents of this offline web site may be out of date. To access the most recent documentation visit the online version .
Note that links that point to online resources are green in color and will open in a new window.
We would love it if you could give us feedback about this material by filling this form (You have to be online to fill it)
Android APIs
public static final class

CalendarContract.Calendars

extends Object
implements BaseColumns CalendarContract.CalendarColumns CalendarContract.SyncColumns
java.lang.Object
   ↳ android.provider.CalendarContract.Calendars

Class Overview

Constants and helpers for the Calendars table, which contains details for individual calendars.

Operations

All operations can be done either as an app or as a sync adapter. To perform an operation as a sync adapter CALLER_IS_SYNCADAPTER should be set to true and ACCOUNT_NAME and ACCOUNT_TYPE must be set in the Uri parameters. See appendQueryParameter(java.lang.String, java.lang.String) for details on adding parameters. Sync adapters have write access to more columns but are restricted to a single account at a time. Calendars are designed to be primarily managed by a sync adapter and inserting new calendars should be done as a sync adapter. For the most part, apps should only update calendars (such as changing the color or display name). If a local calendar is required an app can do so by inserting as a sync adapter and using an ACCOUNT_TYPE of ACCOUNT_TYPE_LOCAL .
Insert
When inserting a new calendar the following fields must be included: The following fields are not required when inserting a Calendar but are generally a good idea to include:
Update
To perform an update on a calendar the _ID of the calendar should be provided either as an appended id to the Uri ( withAppendedId(Uri, long) ) or as the first selection item--the selection should start with "_id=?" and the first selectionArg should be the _id of the calendar. Calendars may also be updated using a selection without the id. In general, the ACCOUNT_NAME and ACCOUNT_TYPE should not be changed after a calendar is created as this can cause issues for sync adapters.
Delete
Calendars can be deleted either by the _ID as an appended id on the Uri or using any standard selection. Deleting a calendar should generally be handled by a sync adapter as it will remove the calendar from the database and all associated data (aka events).
Query
Querying the Calendars table will get you all information about a set of calendars. There will be one row returned for each calendar that matches the query selection, or at most a single row if the _ID is appended to the Uri.

Calendar Columns

The following Calendar columns are writable by both an app and a sync adapter. The following Calendars columns are writable only by a sync adapter

Summary

Constants
String CALENDAR_LOCATION The default location for the calendar.
String DEFAULT_SORT_ORDER The default sort order for this table
String NAME The name of the calendar.
[Expand]
Inherited Constants
From interface android.provider.BaseColumns
From interface android.provider.CalendarContract.CalendarColumns
From interface android.provider.CalendarContract.CalendarSyncColumns
From interface android.provider.CalendarContract.SyncColumns
Fields
public static final Uri CONTENT_URI The content:// style URL for accessing Calendars
[Expand]
Inherited Methods
From class java.lang.Object

Constants

public static final String CALENDAR_LOCATION

The default location for the calendar. Column name.

Type: TEXT

Constant Value: "calendar_location"

public static final String DEFAULT_SORT_ORDER

The default sort order for this table

Constant Value: "calendar_displayName"

public static final String NAME

The name of the calendar. Column name.

Type: TEXT

Constant Value: "name"

Fields

public static final Uri CONTENT_URI

The content:// style URL for accessing Calendars