WAP之家:为您提供最全最新的WAP技术,CP.SP.3G等行业资讯。 WAP之家交流论坛全新开放 点击进入>>
WAP资讯 | 3G动态 | SP动态 | 运营商动态 | 内容商动态 | 制造商动态 | 论坛讨论>> 每次自动访问
WAP技术 | WAP源码 | 手机编程 | 手机源码 | 无线技术 | J2ME技术 | 手机软件 添加到收藏夹
IVR技术 | SP资料 | SMS MMS技术 | 商业方案 | IVR下载 | 书籍教程 | 工具软件 语言:繁體中文

WAP之家技术文章手机编程BlackBerryBlackBerry 应用程序开发者指南 第二卷:高级--第3章 集成PIM功能

BlackBerry 应用程序开发者指南 第二卷:高级--第3章 集成PIM功能
作者:佚名  来源:本站整理  发布时间:2008-3-15 0:34:26

创建一个重复发生(recurring)的约会

为了定义一个重复发生的约会,使用一个RepeatRule对象.RepeatRule类为你可以设置的属性和值定义了字段,例如COUNT, FREQUENCY, INTERVAL.

为了获取一组支持的字段,调用RepeatRule.getFields().

定义重复模式

调用新的RepeatRule对象上的setInt(int, int) setDate(int, int, int, long).

RepeatRule recurring = new RepeatRule();

recurring.setInt(RepeatRule.FREQUENCY, RepeatRule.MONTHLY);

recurring.setInt(RepeatRule.DAY_IN_MONTH, 14);

指派约会一个重复模式

调用一个事件上的setRepeat(RepeatRule).

EventList eventList = (EventList)PIM.getInstance().openPIMList(

PIM.EVENT_LIST, PIM.READ_WRITE);

Event event = eventList.createEvent();

event.setRepeat(recurring);

修改约会信息

为使用一个新值代替已经存在的值,调用合适的set方法,例如setString().

为判断一个字段是否已经设置了一个值,调用countValues().
:当一个值已经存在时,如果你调用一个增加方法,抛出一个FieldFullException.使用相应的set方法,例如setString(),来修改一个已经存在的值.

if (event.countValues(Event.LOCATION) > 0) {

    event.setString(Event.LOCATION, 0, Event.ATTR_NONE, "Board Room");

}

保存一个约会

提示: importEvent()方法保存一个约会,因此你没有必要调用commit().

调用commit()方法.在你保存之前,为了决定自从上一次保存任务之后任何字段是否发生变化,调用isModified().

if(event.isModified()) {

    event.commit();

}

获取约会信息

获取一个约会的迭代

调用PIMList.items().

EventList eventList = (EventList)PIM.getInstance().openPIMList(

       PIM.EVENT_LIST, PIM.READ_ONLY);

Enumeration e = eventList.items();

 

获取字段的ID和值

对于某个特定的ToDo,为获取一组包含其数据的字段ID.调用PIMItem.getFields().

获取字段值,调用PIMItem.getString().

while (e.hasMoreElements()) {

    Event event = (Event)e.nextElement();

    int[] fieldIds = event.getFields();

    int id;

    for(int index = 0; index < fieldIds.length; ++index) {

       id = fieldIds[index];

       if(e.getPIMList().getFieldDataType(id) == STRING) {

           for(int j=0; j < event.countValues(id); ++j) {

              String value = event.getString(id, j);

              System.out.println(event.getFieldLable(id) + "=" + value);

              }

           }

       }

}

将约会转化为一个序列化格式

为了导入或导出PIM项数据,使用一个输出写入流将BlackBerry设备中的任务导出为一个支持的序列化格式,例如iCal.

为了获取一个支持的格式的字符串数组,调用PIM.supportedSerialFormats(),并指定列表类型(PIM.EVENT_LIST).

将一个项写为序列化格式

调用toSerialFormat().

EventList eventList = (EventList)PIM.getInstance().openPIMList(

       PIM.EVENT_LIST, PIM.READ_ONLY );

ByteArrayOutputStream bytestream = new ByteArrayOutputStream();

  :当写到一个输出流时enc参数指定了字符编码格式.支持的字符编码格式包括"UTF8," "ISO-8859-1," "UTF-16BE."此参数不能为空.

Enumeration e = eventList.items();

while (e.hasMoreElements()) {

    Event event = (Event)e.nextElement();

    PIM.getInstance().toSerialFormat(event, byteStream, "UTF8", dataFormats[0]);

}

导入一个约会

为了返回一组PIMItem对象,调用fromSerialFormat(java.io.InputStream is, java.lang.String enc).

为了新增一个约会,调用EventList.importEvent().

:当写到一个输出流时enc参数指定了字符编码格式.支持的字符编码格式包括"UTF8," "ISO-8859-1," "UTF-16BE."此参数不能为空.

// Convert an existing appointment into a iCal and then import the iCal as a new

// appointment.

String[] dataFormats = PIM.eventSerialFormats();

// Write appointment to iCal.

ByteArrayOutputStream os = new ByteArrayOutputStream();

PIM.getInstance().toSerialFormat(event, os, "UTF8", dataFormats[0]);

// Import appointment from iCal.

ByteArrayInputStream is = new ByteArrayInputStream(outputStream.toByteArray());

PIMItem[] pi = PIM.getInstance().fromSerialFormat(is, "UTF8");

EventList eventList = (EventList)PIM.getInstance().openPIMList(

       PIM.EVENT_LIST, PIM.READ_WRITE);

Event event2 = eventList.importEvent((Event)pi[0]);

关闭一个事件列表

调用 close().

try {

    eventList.close();

}

catch (PimException e) {

    // Handle exception.

}

上一页  [1] [2] [3] [4] [5] [6] [7] [8]  下一页

[] [返回上一页] [打 印]
文章评论

用户名: 查看更多评论

分 值:100分 85分 70分 55分 40分 25分 10分 0分

内 容:

         (注“”为必填内容。) 验证码: 验证码,看不清楚?请点击刷新验证码