首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > BlackBerry >

失去blackberry中的联系人信息(j2me)

2012-09-22 
得到blackberry中的联系人信息(j2me)RIM有自己的API(BlackBerryContact.class)提供联系人信息。但是需要签

得到blackberry中的联系人信息(j2me)

RIM有自己的API(BlackBerryContact.class)提供联系人信息。

但是需要签名才能运行。

我们可以用javax.microedition.pim.Contact 来得到电话里的联系人信息。

在bb运行时会弹出确认框,但不影响使用。

下面的table列举了不同信息分类,我们可以从中得到需要的信息。

Fields Type of Data Associated with Field NAME, ADDRPIMItem.STRING_ARRAYEMAIL, FORMATTED_NAME, NICKNAME, PHOTO_URL, PUBLIC_KEY_STRING, FORMATTED_ADDR, NOTE, ORG, TEL, TITLE, UID, URLPIMItem.STRINGBIRTHDAY, REVISIONPIMItem.DATEPHOTO, PUBLIC_KEYPIMItem.BINARYCLASSPIMItem.INT

?

下面有一个我取联系人信息的例子:

?

首先写了一个map来存储联系人信息:

?

package com.kennan.contactList;import java.util.Enumeration;import javax.microedition.pim.Contact;import javax.microedition.pim.ContactList;import javax.microedition.pim.PIM;import javax.microedition.pim.PIMException;import net.rim.device.api.ui.MenuItem;import net.rim.device.api.ui.component.Dialog;import net.rim.device.api.ui.container.MainScreen;import net.rim.device.api.util.IntMultiMap;import com.kennan.conversion.ContackListMap;import com.kennan.conversion.HGB2PINYIN;/** *  * @author kennan.zhang *  */public final class ContactListScreen extends MainScreen {// 联系人列表private ContackListMap _ownContactList = new ContackListMap();private KennanContact _kapp;private String[] _tels;public ContactListScreen(KennanContact kapp) {super();_kapp = kapp;Enumeration e;String uid;String[] names;ContackListMap perInfo;Contact c;int ncount;StringBuffer name;int tcount;try {e = ((ContactList) PIM.getInstance().openPIMList(PIM.CONTACT_LIST,PIM.READ_WRITE)).items();while (e.hasMoreElements()) {perInfo = new ContackListMap();c = (Contact) e.nextElement();// UIDuid = c.getString(Contact.UID, 0);// 合并 添加姓名names = c.getStringArray(Contact.NAME, 0);ncount = names.length;name = new StringBuffer();for (int i = 0; i < ncount; i++) {if (names[i] != null) {name.append(names[i]);name.append(' ');}}perInfo.put(Contact.NAME, name);// 电话tcount = c.countValues(Contact.TEL);_tels = new String[tcount];for (int i = 0; i < tcount; i++) {_tels[i] = c.getString(Contact.TEL, i);}perInfo.put(Contact.TEL, _tels);// E-mailif (c.countValues(Contact.EMAIL) > 0) {perInfo.put(Contact.EMAIL, c.getString(Contact.EMAIL, 0));}// 添加联系人信息_ownContactList.put(Integer.parseInt(uid), perInfo);// 添加联系人条目add(new ContactListNode(name.toString(), uid, false));}} catch (PIMException a) {a.printStackTrace();} catch (IndexOutOfBoundsException a) {a.printStackTrace();}                // 显示联系人this.addMenuItem(viewItem);}// 查看联系人信息private MenuItem viewItem = new MenuItem("查看联系人信息", 100, 10) {public void run() {int uid = getUID(this);// 联系人详细信息StringBuffer inform = new StringBuffer();inform.append("姓名:");inform.append(((ContackListMap) _ownContactList.get(uid)).get(Contact.NAME));inform.append('\n');// 联系人电话inform.append("电话:\n");_tels = (String[]) ((ContackListMap) (_ownContactList.get(uid))).get(Contact.TEL);int _tlength = _tels.length;for (int i = 0; i < _tlength; i++) {inform.append(_tels[i]);inform.append('\n');}// E-mailinform.append("E-mail:\n");inform.append(((ContackListMap) _ownContactList.get(uid)).get(Contact.EMAIL));Dialog.inform(inform.toString());inform = null;}};private int getUID(MenuItem mi) {ContactListNode pnb = (ContactListNode) mi.getTarget();return Integer.parseInt(pnb.getUid());}}
?

?

?

1 楼 michael_wang 2010-01-26   试一下

热点排行