Android APIs
public static final class

CalendarContract.Calendars

extends Object
implements BaseColumns CalendarContract.SyncColumns CalendarContract.CalendarColumns
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.SyncColumns
From interface android.provider.CalendarContract.CalendarColumns
From interface android.provider.CalendarContract.CalendarSyncColumns
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

Added in API level 14

The default location for the calendar. Column name.

Type: TEXT

Constant Value: "calendar_location"

public static final String DEFAULT_SORT_ORDER

Added in API level 14

The default sort order for this table

Constant Value: "calendar_displayName"

public static final String NAME

Added in API level 14

The name of the calendar. Column name.

Type: TEXT

Constant Value: "name"

Fields

public static final Uri CONTENT_URI

Added in API level 14

The content:// style URL for accessing Calendars