Recuperar informações de contato

Você pode recuperar informações de uma lista de contatos em um aparelho BlackBerry executando um dos métodos PIMList.items(). Esses métodos retornam uma enumeração de todos os contatos em uma lista de contatos específica. Você pode executar os métodos BlackBerryContactList.items() para retornar grupos de contato.

  1. Importe as classes e interfaces necessárias.
    import net.rim.blackberry.api.pdap.BlackBerryContact;
    import net.rim.blackberry.api.pdap.BlackBerryContactList;
    import net.rim.blackberry.api.pdap.BlackBerryPIMList;
    import java.util.Enumeration;
    import javax.microedition.pim.PIM;
    import javax.microedition.pim.PIMException;
    import javax.microedition.pim.PIMItem;
  2. Invoque PIM.getInstance() para recuperar uma instância PIM e execute PIM.openPIMList() para abrir uma instância da lista de contatos, passando o tipo de lista a ser aberta como parâmetro (PIM.CONTACT_LIST), o modo de acesso pelo qual a lista é aberta (PIM.READ_WRITE, PIM.READ_ONLY ou PIM.WRITE_ONLY) e o nome se não estiver abrindo a lista de contatos padrão.
    BlackBerryContactList contactList = (BlackBerryContactList) 
        PIM.getInstance().openPIMList(PIM.CONTACT_LIST, PIM.READ_WRITE);
  3. Invoque PIMList.items() para recuperar uma enumeração de itens em uma lista de contatos.
    Enumeration _enum = contactList.items();
  4. Invoque um dos métodos de obtenção PIMItem para recuperar informações de contato.
    • Para recuperar uma matriz de campos que contenha os dados de um contato especificado, execute PIMItem.getFields().
    • Para recuperar um String que representa o valor para um campo de contato especificado, execute PIMItem.getString(int field, int index).
    • Para recuperar uma data que representa o valor para um campo de contato especificado, execute PIMItem.getDate(int field, int index).
    while (_enum.hasMoreElements())
    {
         BlackBerryContact c = (BlackBerryContact)_enum.nextElement();
         int[] fieldIds = c.getFields();
         int id;
         for(int index = 0; index < fieldIds.length; ++index)
         {
              id = fieldIds[index];
              if(c.getPIMList().getFieldDataType(id) == BlackBerryContact.STRING)
              {
                   for(int j=0; j < c.countValues(id); ++j)
                   {
                        String value = c.getString(id, j);
                        System.out.println(c.getPIMList().getFieldLabel(id) + "=" 
                          + value);
                   }
              }
         }
    }

Estas informações foram úteis? Gostaríamos de receber seus comentários.