Create a contact and assign it to a contact list

You can create a contact and assign it to either the default contact list or another contact list on a BlackBerry® device.

  1. Import the required classes and interfaces.
    import net.rim.blackberry.api.pdap.BlackBerryContact; 
    import net.rim.blackberry.api.pdap.BlackBerryContactList;
    import net.rim.blackberry.api.pdap.BlackBerryPIMList;
    import net.rim.device.api.system.ControlledAccessException;
    import javax.microedition.pim.PIM;
    import javax.microedition.pim.PIMList;
    import javax.microedition.pim.PIMException;
    import javax.microedition.pim.ContactList;
  2. To add the new contact to the default contact list, invoke PIM.openPIMList(int, int) to open the default contact list instance, passing in as parameters the type of list to open (PIM.CONTACT_LIST) and the PIM.READ_WRITE access mode. Proceed to step 4.
    BlackBerryContactList contactList = (BlackBerryContactList) 
        PIM.getInstance().openPIMList(PIM.CONTACT_LIST, PIM.READ_WRITE);
  3. To add the new contact to a contact list that is not the default contact list, perform the following actions:
    1. Invoke PIM.listPIMLists(int), passing in as the parameter the type of list (PIM.CONTACT_LIST), to return an array of String objects. The returned array provides the system-assigned names for each contact list. The default contact list is returned at index 0 of the array.
      String[] lists = PIM.listPIMLists(PIM.CONTACT_LIST);
    2. Iterate over the array that PIM.listPIMLists() returns to search for the system-assigned name for the contact list that you want to open.
    3. Invoke PIM.openPIMList(int, int, String) to open the contact list instance, passing in as parameters the type of list to open (PIM.CONTACT_LIST), the PIM.READ_WRITE access mode, and the contact list name.
      BlackBerryContactList contactList = (BlackBerryContactList) 
          PIM.getInstance().openPIMList(PIM.CONTACT_LIST, PIM.READ_WRITE, name);
  4. Invoke ContactList.createContact() to add the new contact to the contact list.
    BlackBerryContact contact = contactList.createContact();
  5. Invoke one or more of the following methods to add information for the new contact. For more information about PIMItem methods, see the API reference for the BlackBerry® Java® Development Environment.
    • addString()
    • addStringArray()
    • addDate()
    • addInt()
    • addBoolean()
    • addBinary()
  6. Invoke the following methods to verify that the information meets the size requirements and type requirements for the specified contact field.
    • Invoke ContactList.isSupportedField(int) to verify that the item supports the field type.
    • Invoke ContactList.isSupportedAttribute(int, int) to verify that the field supports the specified attribute.
    • Invoke PIMList.maxValues(int field) to verify the number of values that the field supports.
  7. Invoke Contact.commit() to commit the changes.
    if(contact.isModified())
    {
        contact.commit();
    }
  8. Check for PIMException, and check for ControlledAccessException if your application does not have permission to access the application that it invokes.

Was this information helpful? Send us your comments.