今天继续讲android的Calendar ContentProvider,上一节我们讲了查询操作,本节,我们讲更新和插入操作。
以下是android developer官网的讲解:
修改日历
如需执行日历更新,您可以通过 URI 追加 ID (withAppendedId()) 或第一个选定项形式提供日历的 _ID。 选定范围应以 "_id=?" 开头,并且第一个 selectionArg 应为事件的 _ID。您还可以通过在 URI 中编码 ID 来执行更新。 下例使用 (withAppendedId()) 方法更改日历的显示名称:
private static final String DEBUG_TAG = "MyActivity";
...
long calID = 2;
ContentValues values = new ContentValues();
// The new display name for the calendar
values.put(Calendars.CALENDAR_DISPLAY_NAME, "Trevor's Calendar");
Uri updateUri = ContentUris.withAppendedId(Calendars.CONTENT_URI, calID);
int rows = getContentResolver().update(updateUri, values, null, null);
Log.i(DEBUG_TAG, "Rows updated: " + rows);
插入日历
日历设计为主要由同步适配器进行管理,因此您只应以同步适配器形式插入新日历。 在大多数情况下,应用只能对日历进行一些表面更改,如更改显示名称。 如果应用需要创建本地日历,可以利用 ACCOUNT_TYPE_LOCAL 的 ACCOUNT_TYPE,通过以同步适配器形式执行日历插入来实现目的。ACCOUNT_TYPE_LOCAL 是一种特殊的帐户类型,用于未关联设备帐户的日历。 这种类型的日历不与服务器同步。如需了解对同步适配器的阐述,请参阅同步适配器。