J2me中访问手机本地电话本 本文主要介绍如何访问各种终端的本地电话本数据。在j2me中访问电话本数据是比较困难的事情,特别是中低端机型。通常,各终端厂商都有自己的API用于访问电话本,例如,moto的phonebook。在jsr75中,sun推出了PIM包,可访问电话本等本地数据,但是支持jsr75的手机终端大多是06出厂的手机。
普通S60手机 前段时间,适用了一款j2me软件,界面采用高级界面实现。由于之前没有高级界面开发经验,对高级界面的各种API也不是特别熟悉,所以对该软件的“特殊功能”也少见多怪一番:该软件在Nokia/6600上面,输入手机号码时,可以调出本地电话本,并可将电话本中的手机号码。反编译所有class文件,并没有发现该软件导入了特殊的扩展包。对此深感疑惑,google,baidu一番以后,终于获得答案。
大部分的S60终端中,定义TextFeild时,将 constraints指定为PHONENUMBER,即可。代码如下:
java 代码
TextField text = new TextField(“电话”,null,12,TextField. PHONENUMBER);
这应该属于Nokia厂商的底层实现。目前,测试的手机中,Nokia/6600和Nokia/N72是支持的,而MOTO/E680,Moto/A1200,SEK700以及Nokia/3100等机型是不支持该功能的。希望对该问题感兴趣的朋友,帮忙多做些测试,也是对这个问题的有效补充。
PIM包 PIM包定义了访问终端本地重要数据的API,本文的重点是讨论如何使用PIM访问手机本地电话本。对于PIM的介绍,请参考mingjava的文章《J2me可选包—PIM介绍》。
java 代码
-
-
-
-
- private void pimVisit ()
- {
- String[] names = PIM.getInstance().listPIMLists(PIM.CONTACT_LIST);
- try
- {
- for (int i = 0; i < names.length; i++)
- {
- display.append("AdrBookName: " + names[i] + "\n");
- ContactList list = (ContactList) PIM.getInstance().openPIMList(
- PIM.CONTACT_LIST, PIM.READ_ONLY, names[i]);
-
-
-
- Contact contact;
- int count = 0;
- for (Enumeration e = list.items(); e.hasMoreElements();)
- {
- contact = (Contact) e.nextElement();
- String name;
- name = contact.getString(Contact.FORMATTED_NAME, 0);
- String tel = contact.getString(Contact.TEL, 0);
- display.append(name+" "+tel + "\n");
- count++;
- }
- display.append("所有记录数量:" + count + "\n");
- list.close();
- }
- }
- catch (PIMException e)
- {
- }
-
- }
使用PIM不仅可以读取本地电话本数据,而且可以修改或增加电话本记录,这点也是上面所讨论的方法无法相比的。应该说,PIM对电话本的操作更加灵活,并且可控制。
参考文章: http://www.j2medev.com/Article/Class1/Class16/200408/19.html J2me可选包—PIM介绍
作者:mingjava
分享到:
相关推荐
在Java 2 Micro Edition (J2ME)平台上,开发人员可以访问特定的手机功能,如读取电话号码本。这个项目就是围绕这个主题展开的,它允许程序读取存储在设备本地以及SIM卡上的联系人信息。下面我们将深入探讨如何在J2ME...
本教程全集可能包含上述所有或部分主题的详细文档,通过学习这些内容,你可以从零开始学习J2ME,直至能够开发出功能丰富的手机游戏和其他应用程序。对于希望进入移动开发领域的开发者来说,这是一个宝贵的资源。
6. **数据存储与持久化**:RecordStore是J2ME中用于本地数据存储的主要方式,源码会展示如何创建、读取、更新和删除数据。 7. **多媒体处理**:J2ME可以处理音频和图像,源码可能包含如何播放音频、显示图片和动画...
在本源码中,我们将探讨如何利用J2ME技术实现网络回拨电话功能。 1. **J2ME高级控件**: J2ME中的高级控件通常指的是那些比基础组件更复杂、功能更强大的UI元素。这些控件可能包括自定义的按钮、列表视图、表格、...
郭克华的《J2ME移动开发》PDF版是一份重要的学习资源,它专注于Java Micro Edition(J2ME)技术,这是Java平台的一个版本,主要用于嵌入式设备和移动电话的开发。J2ME为开发者提供了在小型设备上构建应用程序的能力...
**J2ME手机入门教程** Java 2 Micro Edition(J2ME)是Java平台的一个重要分支,主要用于开发在小型设备上运行的应用程序,如移动电话、PDA、智能电视等。J2ME提供了丰富的功能,使得开发者能够创建具有交互性和...
2. **MIDP API**:这是J2ME开发中的核心部分,提供了用户界面组件、网络访问和数据存储等功能,对于开发手机应用至关重要。 3. **用户界面设计**:在资源受限的设备上创建用户友好的界面是一项挑战,需要熟练使用...
4. **手机网站开发**:在J2ME中,开发者可以通过HTTP协议访问网页内容,使用`javax.microedition.io.Connector`类创建网络连接,然后通过`HttpConnection`对象请求网页。获取到HTML后,可以解析并显示在设备上,或者...
在J2ME中,Record Management System (RMS) 提供了本地数据存储功能。开发者可以创建记录存储区,保存和读取数据,这对于在离线状态下工作的应用程序非常有用。 **8. 系统安全** J2ME为了保护设备和用户的安全,...
本教程将深入探讨如何使用J2ME技术来实现一个简单的手机通讯录应用,这对于初学者来说是一个很好的实践项目。 1. **J2ME基础** - **架构**:J2ME由配置(Configurations)和配置文件(Profiles)组成,例如MIDP...
J2ME技术在本系统的设计中,主要利用了其MIDP(Mobile Information Device Profile)简档,这是专为移动信息设备设计的一种规范,提供了构建用户界面、本地数据存储、网络通信等功能的API。MIDP简化了开发流程,使得...
RMS是J2ME中用于本地数据存储的系统,通过RecordStore类管理数据,适合保存应用程序的配置信息或用户数据。 7. **应用打包与部署** 使用J2ME的JAR和JAD文件进行应用打包,JAD文件包含了应用元数据,如版本信息、...
通过阅读这个文件,开发者可以更好地理解如何将理论知识应用于实际开发中,从而实现J2ME设备上本地电话本的高效管理。总的来说,理解和掌握JSR 75的PIM API是构建J2ME个人信息管理应用的关键,也是提升移动开发能力...
Java 2 Micro Edition (J2ME) 是Java平台的一个子集,专为资源有限的嵌入式设备设计,包括移动电话、智能手表、数字电视等。Mobile Information Device Profile (MIDP) 是J2ME的一部分,提供了一套用于开发移动应用...
《J2ME嵌入式开发案例精解》是一本专注于Java Micro Edition(J2ME)在嵌入式领域的应用开发书籍。J2ME是Java平台的一个子集,专门设计用于资源有限的设备,如移动电话、智能卡和家用电器等。这本书通过一系列详细的...
Java 2 Micro Edition(J2ME)是一种Java平台,专门设计用于嵌入式设备和移动设备,如手机、智能手表、数字电视等。它提供了一种标准的方式来开发和部署跨平台的应用程序,使得开发者可以利用Java语言的强大功能,...
Java 2 Micro Edition(J2ME)是Java平台的一个子集,主要用于开发和运行在小型设备上,如移动电话、智能手表、PDA等嵌入式设备的应用程序。"J2ME-API.rar_j2me"这个压缩包文件显然是一个关于J2ME API的详细文档或者...
8. **数据存储**:RMS是J2ME中的本地数据存储系统,用于在设备上持久化应用程序数据。学习如何有效地使用RMS管理用户数据和设置是重要的实践技能。 9. **推送通知**:J2ME还支持PushRegistry,允许应用程序接收...