J2me中访问手机本地电话本

转载 2007年09月17日 14:23:00
本文主要介绍如何访问各种终端的本地电话本数据。在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介绍》。

/**
* 访问本地电话本数据
*
*/
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对电话本的操作更加灵活,并且可控制。 
 

相关文章推荐

J2ME_RMS实例_手机电话本

  • 2012年03月27日 15:26
  • 32KB
  • 下载

j2me电话本程序

  • 2008年02月14日 16:54
  • 25KB
  • 下载

J2ME 手机拍照程序

package com.zeph.j2me; import java.io.IOException; import javax.microedition.lcdui.Command; import...

eclipse+wtk写的j2me电话本程序

  • 2009年05月18日 20:52
  • 281KB
  • 下载

j2me电话本

  • 2007年07月30日 13:22
  • 3KB
  • 下载

J2ME手机开发之内存优化攻略

在C或C++开发流程中,内存溢出疑问可谓是经常让开发人员极其痛苦的事情,稍不留心疑问就产生,甚至引发隐含的漏洞产生。JAVA正是在C++的优秀品质中继承下来的产物,拥有垃圾回收机制是JAVA虚拟机在C...
  • zrd
  • zrd
  • 2012年01月30日 18:06
  • 467

J2ME图片半透明处理(使用图片像素)(仅部分手机支持)

其实就是把一张图的argb值都取出来存在一个整型数组里(用Image对象的getRGB方法),然后用循环逐一修改argb值得最高位(最高位 的8个2进制值代表了阿尔法通道也不什么的,反正就是透明度),...

本来刚学j2me手机编程,遇到一个问题,可能比较浅,请不吝赐教!

我用的书是人民邮电出版社的《j2me手机游戏编程入门》,我用J2ME Wireless Toolkit 2.0_01来开发运行。当我在尝试这本书的一个例子的时候,遇到你个问题,心中也有困惑,请各位指教...

[J2ME] 手机看交通监视器实时录像 实现说明

摘要: 本文档给出Mobile TrafficCam Viewer的实现说明。 第1章 简单描述Mobile TrafficCam Viewer的功能和特别之处。 第2章 给出了 Mobile ...

在J2ME手机程序开发中使用颜色

在J2ME手机开发过程中,需要经常用到颜色来进行绘制,增强程序的表现效果,下面就介绍一下如何使用颜色。  由于J2ME技术比较简单,所以没有实现专门的颜色类,而只是使用RGB的概念来代表颜色。这里简单...
  • pdw_jsp
  • pdw_jsp
  • 2011年02月09日 16:06
  • 332
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:J2me中访问手机本地电话本
举报原因:
原因补充:

(最多只允许输入30个字)