如何更新多个日历事件
PUBLISHED
更新多个日历事件
概述
本文介绍了如何使用Tizen平台的设备API修改/更新日历上现有的多个事件。 本文仅适用于基于Tizen平台的系统。
前提条件
若要使用日历API函数,您必须在config.xml文件中声明想要使用的功能。
在这个例子中,打开config.xml文件,然后选择“Feature”选项卡,然后添加以下功能,这样就可以在你的应用程序中使用日历API了。
- http://tizen.org/api/calendar.read:从日历中读取数据的特权。
- http://tizen.org/api/calendar.write:将数据写入到日历的特权。
更新多个日历事件
使用的UpdateBatch()函数,你可以使能您的应用程序更新多个日历项。
要更新现有的多个事件,你需要遵循以下步骤:
- 检索日历实例。
- 日历检索中的事件。
- 识别需要更新的事件。
- 保存更新后的事件。
使用getDefaultCalendar()函数来检索默认的日历实例。
var myCalendar = null;
// Get the default calendar
myCalendar = tizen.calendar.getDefaultCalendar("EVENT");
调用find() 函数获取默认日历中所有的或者部分的(根据过滤器设置)事件列表。 在这个例子中,注册onEventSearchSuccess()函数为success回调,注册onError()函数用于处理错误。
//The error callback
function onError(e) {
console.log(e.message);
}
//Fetch all events in default calendar
myCalendar.find(onEventSearchSuccess, onError);
在这个例子中,检索了所有的事件,因为find()中没有使用filter。 onEventSearchSuccess()回调函数改变了前面两个事件的描述参数,并使用的UpdateBatch()函数更新事件。
这里updateEventsSuccess和errorCallback两种回调函数用于显示成功和错误信息。
// Define the event success callback.
function onEventSearchSuccess(events) {
//Here we are modifying description only.
events[0].description = 'New Description 1';
events[1].description = 'New Description 2';
console.log("The description of first two item are updated!");
// Update the first two existing event.
myCalendar.updateBatch( events.slice(0,2), updateEventsSuccess, errorCallback );
}
通过一个过滤器和过滤器中搜索操作的排序顺序,以及find()函数的sortMode参数,您可以指定过滤条件。
评论:
适用于开发人员的提示