android developer tiny share-20170526

来源:互联网 发布:wii 知乎 编辑:程序博客网 时间:2024/06/14 22:02

今天继续讲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 calendarvalues.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 是一种特殊的帐户类型,用于未关联设备帐户的日历。 这种类型的日历不与服务器同步。如需了解对同步适配器的阐述,请参阅同步适配器。