×
Namespaces

Variants
Actions
Revision as of 09: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 Nokia Developer 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 09:32.
49 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.

×