如何更新多个日历事件

更新多个日历事件

概述

本文介绍了如何使用Tizen平台的设备API修改/更新日历上现有的多个事件。 本文仅适用于基于Tizen平台的系统。

前提条件

若要使用日历API函数,您必须在config.xml文件中声明想要使用的功能。

在这个例子中,打开config.xml文件,然后选择“Feature”选项卡,然后添加以下功能,这样就可以在你的应用程序中使用日历API了。

更新多个日历事件

使用的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参数,您可以指定过滤条件。