J2ME Personal Information Management (PIM) 概览
2010-08-16 00:00:00 来源:WEB开发网PIM 向(从)Address Book、Calendar 和 Task List 等已定义的实体存储(和检索)数据。而另一方面,RMS 向(从)一个常规数据库存储(和检索)数据。PIM 中的单个实体是一个 Contact、Calendar 条目或一个 Task,而在 RMS 中,单个实体是一个字节数组。
PIM 并不局限于本地设备,它可以访问一个附加 SIM 或另一个远程设备中的数据。RMS 只能访问本地设备中的数据。
PIM 可以从 vCalendar 或 vContact 等外部源导入或导出,而 RMS 没有任何 Export 或 Import 功能。
与 RMS 相比,PIM 中的数据解释更加灵活。例如,一个 Contact(以标准格式定义)总是可以由另一个 J2ME 应用程序轻松解释。而 RMS 中的记录是字节数组,其他 J2ME 应用程序需要拥有关于如何解释它的信息。
一个示例 —— 添加一个联系人
在这个小节中,我们将讨论此前提到过的一个方法 addContact(),展示如何向 Address Book 添加一个联系人。当在表单中提交一个用户命令时,这个方法(见清单 4)将在一个单独的线程中调用。这个方法访问通过 UI Textfields 字段输入的数据。
清单 4. addContact() 方法
// Import
import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;
import javax.microedition.pim.*;
// Text input
TextField nameField;
TextField phoneField;
…
public void addContact () {
ContactList contacts = null;
try {
contacts = (ContactList) PIM.getInstance().openPIMList(PIM.CONTACT_LIST,
PIM.READ_WRITE);
} catch (PIMException e) {
// An error occurred
e.printStackTrace();
}
Contact contact = contacts.createContact();
String[] name = new String[contacts.stringArraySize(Contact.NAME)];
if (contacts.isSupportedArrayElement(Contact.NAME, Contact.NAME_GIVEN))
name[Contact.NAME_GIVEN] = nameField.getString();
if (contacts.isSupportedField(Contact.TEL))
contact.addString(Contact.TEL, Contact.ATTR_HOME, phoneField.toString());
try {
contact.commit();
} catch (Exception e) {}
}
运行时和安全问题
PIM MIDlet 应该在一个支持 PIM 的配置(即 JSR 75)中运行。我们通过在 Sun 的 Wireless Toolkit 2.5 上先单击 Settings 然后单击 API Selection 来选择以下设置。选择 PIM MIDlet 要运行的移动设备时使用相同的方法。
图 1. PIM MIDlet Runtime API Selection
查看原图(大图)
MIDlet 需要其他权限才能读写 Contacts、Calendar 或 Task Lists,可以通过在 Wireless Toolkit 中单击 Settings 并选择 Permissions 来设置相关权限。这里提供了用于 ContactList、EventList 和 TodoList 的所有 Read 和 Write 权限。
图 2. PIM MIDlet 安全问题
结束语
在本文中,我们讨论了 J2ME 中的另一个重要功能 Personal Information Management (PIM),该功能允许访问移动设备上形式为 Contact、Task 和 Event 的本地数据。本文还比较了 PIM 和 RMS,后者是处理设备数据的另一个功能。现在,您可以通过 PIM 自带的导入和导出功能同步 J2ME 应用程序和 vCard 以及 vCalendar,后两者分别是 Contact 和 Calendar 的 Internet 标准格式。最后,我们介绍了运行时的安全和部署要求。
Tags:JME Personal Information
编辑录入:爽爽 [复制链接] [打 印]更多精彩
赞助商链接