Namespaces

Variants
Actions

Please note that as of October 24, 2014, the Nokia Developer Wiki will no longer be accepting user contributions, including new entries, edits and comments, as we begin transitioning to our new home, in the Windows Phone Development Wiki. We plan to move over the majority of the existing entries over the next few weeks. Thanks for all your past and future contributions.

Revision as of 06:32, 15 August 2013 by hamishwillee (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Como listar os campos estendidos da lista de contatos

From Wiki
Jump to: navigation, search
Article Metadata

Artigo
Tradução:
Por maiconherverton
Última alteração feita por hamishwillee em 15 Aug 2013

Resumo

Ao usar a API PIM e sua classe ContactList, é importante saber primeiro o que os campos suportam para implementação. Isto pode ser feito utilizando as instruções apresentadas aqui: How to list the supported fields in a PIMList.

É possível também, que as implementações tenham os chamados "campos estendidos". Eles são campos adicionais que não estão listados como campos padrão da classe Contato. Algumas das implementações mais recentes S60 (S60 3ª Edição FP1 e posteriores) suportam uma grande variedade destes campos. Segue um método para criar um contato, que tem um nome "Teste Contato" e todos os atributos estendidos, que estão disponíveis. Este método foi testado em S60 3ª Edição e dispositivos FP1 como N95.

public void testExtendedFields() {
ContactList list = null;
Contact contact = null;
try {
list = (ContactList)PIM.getInstance().openPIMList(PIM.CONTACT_LIST, PIM.READ_WRITE);
contact = list.createContact();
String[] name = new String[list.stringArraySize(Contact.NAME)];
if (list.isSupportedArrayElement(Contact.NAME, Contact.NAME_FAMILY)) name[Contact.NAME_FAMILY] = "Contact";
if (list.isSupportedArrayElement(Contact.NAME, Contact.NAME_GIVEN)) name[Contact.NAME_GIVEN] = "Test";
contact.addStringArray(Contact.NAME, PIMItem.ATTR_NONE, name);
int fields[] = list.getSupportedFields();
for (int i = 0; i < fields.length; i++) {
if (fields[i] > 256) { // campos extendidos
if (fields[i] == 16797704) { // Campo aniversário
contact.addDate(fields[i], Contact.ATTR_NONE, new java.util.Date().getTime());
}
else contact.addString(fields[i], Contact.ATTR_NONE, "field: " + fields[i]);
}
}
contact.commit();
list.close();
} catch (PIMException pe) {
System.out.println("PIMException: " + pe.getMessage());
} catch (IllegalArgumentException iae) {
System.out.println("IllegalArgumentException: " + iae.getMessage());
}

Nota: A existência de campos estendidos é testada através da verificação, se o valor inteiro de um campo é mais do que 256.

Nota: O campo tendo onde tem o valor de 16797704 (campo de aniversário) aceita somente um objeto Date como seu conteúdo, outros aceitam Strings.

Veja também:

This page was last modified on 15 August 2013, at 06:32.
185 page views in the last 30 days.

Was this page helpful?

Your feedback about this content is important. Let us know what you think.

 

Thank you!

We appreciate your feedback.

×