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

导入一个联系人

为了返回一组PIM,调用fromSerialFormat().使用PIM项为了创建一个新的联系人,调用ContactList.importContact()

:当写到一个输出流时enc参数指定了字符编码格式.支持的字符编码格式包括

"UTF8," "ISO-8859-1," "UTF-16BE."此参数不能为空.

// Import contact from vCard.

ByteArrayInputStream is = new ByteArrayInputStream(outputStream.toByteArray());

PIMItem[] pi = PIM.getInstance().fromSerialFormat(istream, "UTF8");

ContactList contactList = (ContactList)PIM.getInstance()

                        .openPIMList(PIM.CONTACT_LIST, PIM.READ_WRITE);

Contact contact2 = contactList.importContact((Contact)pi[0]);

contact2.commit();

删除一个联系人

在联系人列表上调用removeContact()方法.

contactList.removeContact(contact);

关闭一个联系人列表

调用close().

try {

    contactList.close();

}

catch(PIMException e) {

    Dialog.alert(e.toString());

}

代码实例

下面的实例描述了如何显示一个屏幕来允许用户增加一个新的联系人到地址本中.在你保存一个联系人之后,打开地址本确认该联系人是否已经保存.

 


: ContactsDemo.java

/**

* ContactsDemo.java

* Copyright (C) 2002-2005 Research In Motion Limited.

*/

package com.rim.samples.docs.contactsdemo;

import java.io.*;

import java.util.*;

import javax.microedition.pim.*;

import net.rim.device.api.ui.*;

import net.rim.device.api.ui.component.*;

import net.rim.device.api.ui.container.*;

import net.rim.device.api.i18n.*;

import net.rim.device.api.system.*;

import net.rim.device.api.util.*;

import com.rim.samples.docs.baseapp.*;

import net.rim.blackberry.api.pdap.*;

 

public final class ContactsDemo extends BaseApp {

    private ContactScreen _contactScreen;

    public static void main(String[] args) {

       new ContactsDemo().enterEventDispatcher();

    }

    public ContactsDemo() {

       _contactScreen = new ContactScreen();

       pushScreen(_contactScreen);

    }

    protected void onExit() {

    }

   

// Inner class. Creates a Screen to add a contact.

public static final class ContactScreen extends MainScreen {

    private EditField _first, _last, _email, _phone, _pin;

    private SaveMenuItem _saveMenuItem;

   

    private class SaveMenuItem extends MenuItem {

       private SaveMenuItem() {

           super(null, 0, 100000, 5);

           }

      

       public String toString() {

           return "Save";

           }

       public void run() {

           onSave();

           }

       }

   

    public ContactScreen() {

       _saveMenuItem = new SaveMenuItem();

       setTitle(new LabelField("Contacts Demo",

              LabelField.ELLIPSIS | LabelField.USE_ALL_WIDTH));

       _first = new EditField("First Name: ", "");

       add(_first);

       _last = new EditField("Last Name: ", "");

       add(_last);

       _email = new EditField("Email Address: ", "",

              BasicEditField.DEFAULT_MAXCHARS, BasicEditField.FILTER_EMAIL);

       add(_email);

       _phone = new EditField("Work Phone: ", "",

              BasicEditField.DEFAULT_MAXCHARS, BasicEditField.FILTER_PHONE);

       add(_phone);

       _pin = new EditField("PIN:", "", 8, BasicEditField.FILTER_HEXADECIMAL);

       add(_pin);

       }

   

    protected boolean onSave() {

       String firstName = _first.getText();

       String lastName = _last.getText();

       String email = _email.getText();

       String phone = _phone.getText();

       String pin = _pin.getText();

      

       // Verify that a first or last name and email has been entered.

       if ((firstName.equals("") && lastName.equals("")) || email.equals("")) {

           Dialog.inform("You must enter a name and an email address!");

           return false;

           }

       else {

           try {

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

                            openPIMList(PIM.CONTACT_LIST, PIM.WRITE_ONLY);

              Contact contact = contactList.createContact();

              String[] name = new String[contactList.stringArraySize(Contact.NAME)];

             

              // Add values to PIM item.

             

              if (!firstName.equals("")) {

                  name[Contact.NAME_GIVEN] = firstName;

                  }

              if (!lastName.equals("")) {

                  name[Contact.NAME_FAMILY] = lastName;

                  }

              contact.addStringArray(Contact.NAME, Contact.ATTR_NONE, name);

              contact.addString(Contact.EMAIL, Contact.ATTR_HOME, email);

              contact.addString(Contact.TEL, Contact.ATTR_WORK, phone);

              if (contactList.isSupportedField(BlackBerryContact.PIN)) {

                  contact.addString(BlackBerryContact.PIN, Contact.ATTR_NONE, pin);

                  }

             

              // Save data to address book.

              contact.commit();

              // Reset UI fields.

              _first.setText("");

              _last.setText("");

              _email.setText("");

              _phone.setText("");

              _pin.setText("");

              return true;

              }

           catch (PIMException e) {

              return false;

              }

           }

       }

   

    protected void makeMenu(Menu menu, int instance) {

       menu.add(_saveMenuItem);

       super.makeMenu(menu, instance);

       }

    }

}


<!--[if !vml]--><!--[endif]-->

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

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

用户名: 查看更多评论

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

内 容:

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