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

修改联系人信息

对于仅支持一个值的字段,调用合适的set方法用一个新值替代一个已存在的值.

:如果你调用一个增加方法,例如addString(),对于已经存在一个值的字段来说,将抛出一个FieldFullException异常.使用相应的set方法,例如setString(),修改一个已经存在的值.

对于包含了一个字符数组的姓名和地址字段,获取此数组,然后将它加入之前,修改一个或多个数组上的索引.

if (contact.countValues(Contact.NAME) > 0) {

    String[] newname = contact.getStringArray(Contact.NAME, 0);

}

// Change the prefix to Dr. and add the suffix, Jr.

newname[Contact.NAME_PREFIX] = "Dr.";

newname[Contact.NAME_SUFFIX] = "Jr.";

contact.setStringArray(Contact.NAME, 0, Contact.ATTR_NONE, newname);

对于支持多个值的字段,在将另外一个值加入之前,先验证其没有超过值的最大个数。

if (contact.countValues(Contact.EMAIL) < contactList.maxValues(Contact.EMAIL))

 {

    contact.addString(Contact.EMAIL,Contact.ATTR_NONE, aisha.wahl@blackberry.com");

}

保存一个联系人信息

调用commit().在提交修改之前,为判断任何联系人字段自从最后保存以来是否已经发生变化,调用isModified().

if(contact.isModified()) {

    contact.commit();

}

获取联系人信息

调用PIMList.Items()

:当你调用PIMList.Items()获取一个列表项的迭代时,列表项的顺序没有定义.如果必要,你的应用程序必须将它们排序.

对于一个特定的联系人,调用PIMItem.getFields()获取一个拥有数据的字段ID的数组.调用PIMItem.getString()获取字段值.

ContactList contactList = (ContactList)PIM.getInstance().openPIMList(

       PIM.CONTACT_LIST, PIM.READ_WRITE);

Enumeration enum = contactList.items();

while (enum.hasMoreElements()) {

    Contact c = (Contact)enum.nextElement();

    int[] fieldIds = c.getFields();

    int id;

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

       id = fieldIds[index];

       if(c.getPIMList().getFieldDataType(id) == Contact.STRING)

       {

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

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

              System.out.println(c.getPIMList().getFieldLabel(id) + "=" + value);

              }

       }

    }

}

将一个联系人转化为序列化格式

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

为了获取一个支持的格式的字符串数组,调用PIM.supportedSerialFormats(),并指定列表类型(PIM.Contact_LIST).为了将一个项写到一个支持的序列化格式里,调用toSerialFormat().

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

ContactList contactList = (ContactList)PIM.getInstance().openPIMList(

       PIM.CONTACT_LIST, PIM.READ_ONLY);

String[] dataFormats = PIM.getInstance().supportedSerialFormats(

       PIM.CONTACT_LIST);

ByteArrayOutputStream byteStream = new ByteArrayOutputStream();

Enumeration e = contactList.items();

while (e.hasMoreElements()) {

    Contact c = (Contact)e.nextElement();

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

}

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

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

用户名: 查看更多评论

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

内 容:

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