Princípios Básicos de PIM
Antes de nos aprofundarmos na instalação do BlackBerry JDE e de construirmos o aplicativo, vamos falar sobre alguns
princípios básicos de PIM.
Elementos de Dados de PIM
Os elementos de dados universais e mais comuns em um dispositivo remoto, incluindo a plataforma BlackBerry, incluem:
- Endereços ou contatos
- Como o número do telefone comercial de seu primo
- Eventos de calendário/livro de datas
- Como uma reunião de almoço com um possível cliente na próxima quinta-feira
- Itens de tarefas
- Por exemplo, comprar leite e ovos na mercearia para levar para casa
Esses elementos de dado sempre estiveram conosco, ou pelo menos desde que o Palm Pilot revolucionou o mercado de Personal
Digital Assistant (PDA) alguns anos atrás. Coletivamente, os elementos de dados são conhecidos como itens de PIM.
Cada uma das principais plataformas remotas suportam estes elementos de dados e suportam softwares desktops comuns como o Microsoft® Outlook, Lotus Notes®, e muitos outros conjuntos de aplicativos de produtividade. Um segmento de mercado de software de
sincronização inteiro cresceu em torno da aparentemente simples, embora difícil, tarefa de sincronização de dados de PIM entre
várias origens de dados. A sincronização de dados entre o dispositivo BlackBerry e o desktop (ou ambientes de servidor) é um tópico
vasto e não é o foco deste tutorial.
Este tutorial se concentra na interação com os dados de PIM diretamente no dispositivo por duas razões:
- Muitos usuários não sincronizam de fato seus dados com um aplicativo de desktop.
Se eles sincronizarem, será com um aplicativo de redes de relacionamentos baseado na Web.
- E o mais importante, no núcleo de seu aplicativo de redes de relacionamentos estão seus dados de PIM. Rede de
relacionamentos significa conectar-se, compartilhar e, discutivelmente, descobrir o que seus amigos e associados estão
fazendo — agora.
Em seguida, você vai conhecer alguns dos pacotes e classes disponíveis no BlackBerry SDK para a interação com o banco de dados
de PIM.
APIs de Dados de PIM
Dados de PIM são utilizados principalmente por três aplicativos no BlackBerry: o catálogo de endereços, o aplicativo de calendário
e o aplicativo de tarefas. Com esses aplicativos, dados são inseridos, armazenados, recuperados e manipulados. A Figura 1 mostra um
evento simples registrado para um jantar às 17h.
Figura 1. Evento no Aplicativo de Calendário do BlackBerry
Este evento é mostrado no aplicativo de calendário. O resumo do evento é "Jantar com Parentes" e o local é Taco Bell. Uma
pesquisa detalhada sobre o evento mostra mais informações.
Figura 2. Detalhes de um Evento
Você pode definir os horários de início e de encerramento do evento, especificar um lembrete para o evento e até marcar o evento
como recorrente, entre outras coisas. Tudo isso é muito bom, mas este tutorial está mais interessado em como você pode interagir com
dados programaticamente, então, vamos dar uma olhada na classe de dados Evento com mais detalhes.
Quando trabalha com SDK/APIs do BlackBerry para dados de PIM, você precisa estar ciente de dois níveis de classes:
javax.microedition.pim
- Um pacote contendo os dados de PIM genéricos. As classes neste pacote podem ser localizadas em dispositivos além do BlackBerry e
representam os principais
PIMItems.
net.rim.blackberry.api.pdap
- Um pacote contendo extensões específicas do BlackBerry para as classes
javax.microedition.pim.
A classe Event no evento javax.microedition.pim estende
PIMItem, uma superclasse mais básica. O PIMItem é um elemento de dados de PIM genérico que contém
uma coleta de campos de dados. PIMItems podem ser organizados em uma PIMList, que
é uma coleta de PIMItems. Os campos específicos suportados por uma determinada plataforma podem variar e são
determinados pela PIMList na qual o PIMItem está armazenado.
Campos de dados em um PIMItem podem ter vários tipos de
dados. Os tipos de dados mais comuns são:
- String
- Stringarray
- Date
- Integer
- Boolean
- Binary
A classe PIMItem inclui, como você deve imaginar, vários getters e setters para
a manipulação de dados. Campo campo de dados inclui:
- Um rótulo para descrevê-lo, como um número do telefone.
- Zero ou mais valores de dados, que é uma lista de valores sem índice. Os métodos
get e
set têm um parâmetro index para ajudar no gerenciamento desses
dados.
- Atributos para valores de dados.
- Um tipo de dado específico.
Nomes de campos são identificados por valores inteiros definidos nas classes Contato,
Evento e Tarefas. A Tabela 1 é uma amostra de nomes de campos
e dos tipos de dados localizados na classe Evento.
Tabela 1. Campos de Dados de Eventos de Amostra
| Nome do Campo | Tipo de Dado |
|---|
| Resumo, Local | String | | Início, Encerramento | Date | | Alarme | Integer |
O valor de data é de fato armazenado como um número inteiro longo, que é compatível com a classe java.util.Date. Ele
será utilizado no código do aplicativo de amostra.
Recuperando Dados de PIM
Conforme mencionado, PIMItems, como Eventos, Contatos
e Tarefas, são armazenados em PIMLists. Elas podem ser várias
PIMLists disponíveis em um dispositivo, embora normalmente sejam encontradas em uma única lista padrão de dados de PIM. Para obter
acesso às listas de dados de PIM, primeiro você deve obter uma referência ao banco de dados de PIM através da classe javax.microedition.pim.PIM: PIM pim = PIM.getInstance();.
O método estático getInstance() recupera uma instância do banco de dados de PIM, que é necessário para
operações subsequentes. Essa classe também inclui métodos para a abertura de PIMLists existentes e para a
serialização de um PIMItem para um fluxo de entrada/saída. Esses métodos, toSerialFormat
e fromSerialFormat, normalmente são utilizados para fins de backup ou sincronização. Eles não são utilizados
no aplicativo de amostra deste tutorial.
O aplicativo de amostra emprega o método openPIMList para obter uma PIMList contendo
PIMItems. Existem dois métodos openPIMList: um abre a PIMList padrão e o
outro usa um argumento String para uma PIMList específica nomeada.
Você pode utilizar o método listPIMLists para obter uma lista de nomes de PIMList
disponíveis.
Este método retorna uma array de strings contendo um nome de PIMList em cada elemento de array.
A proliferação de classes e métodos incluindo a palavra "listas" pode ser um pouco confusa. Tome cuidado e anote os tipos
de dados na documentação da API Java do nota. O aplicativo de amostra apenas acessa a PIMList padrão. Independentemente do método openPIMList empregado, existem
dois argumentos necessários:
pimListType
- Pode ser
CONTACT_LIST, EVENT_LIST ou TODO_LIST
mode
- Pode ser READ_ONLY, WRITE_ONLY ou READ_WRITE
Após uma PIMList ser aberta, o aplicativo pode acessar os elementos empregando uma enumeração. Para examinar
todos os contatos em uma determinada CONTACT_LIST ou PIMList, você pode utilizar o
código na Listagem 1.
Listagem 1. Acessando Contatos do Banco de Dados de PIM
BlackBerryPIMList contactList = (BlackBerryPIMList)
pim.openPIMList(PIM.CONTACT_LIST,PIM.READ_ONLY);
For (Enumeration eContacts = contactList.items();eContacts.hasMoreElements();)
{
Contact contact = (Contact) eContacts.nextElement();
// faça algo com contato
}
|
Para acessar um campo em um determinado PIMItem, utilize o método getString()
na Listagem 2.
Listagem 2. Método getString() para Acessar um Campo em um PIMItem Específico
String emailAddress = c.getString(Contact.EMAIL,0);
|
O banco de dados de PIM também permite a categorização para facilitar o gerenciamento de dados de PIM. As categorias de PIM não
são discutidas neste tutorial, mas são diretas para implementação.
Neste ponto, você sabe com o que o PIM se parece, onde localizá-lo e como acessá-lo.
Na próxima seção, você vai construir um aplicativo de redes de relacionamentos para o BlackBerry.
|