×
Namespaces

Variants
Actions
Revision as of 05:05, 27 August 2012 by hamishwillee (Talk | contribs)

Listando Informações do PIM a Partir da JSR-75

From Nokia Developer Wiki
Jump to: navigation, search
Article Metadata

Contents

Introdução

A API do Gerenciador de Informações Pessoais (Personal Information Manager - PIM, JSR-75) permite que aplicações java leiam e escrevam do/a partir das informações pessoais salvas no dispositivo, tais como contatos telefônicos, eventos do calendário, etc. Existem 3 categorias de informações salvas no PIM: Contatos, Calendário e To-Do (lista de afazeres). O código abaixo mostra a lista dos banco de dados do PIM (também conhecido como lista do PIM) que existe no dispositivo.

Observação: É normal que o dispositivo realiza diversas perguntas para permissão de leitura dos dados do usuário. Isto acontece devido ao método javax.microedition.pim.PIM.listPIMLists() e o comportamento não confiável das MIDlets.

Código-fonte: PIMMIDlet.java

import javax.microedition.lcdui.Display;
import javax.microedition.midlet.MIDlet;
public class PIMMIDlet extends MIDlet {
private PIMDbForm pimDatabases;
 
/**
* Constructor. Constrói os objetos necessários
*/

public PIMMIDlet() {
pimDatabases = new PIMDbForm(this);
}
 
/**
* From MIDlet.
* Invocado quando a MIDlet é inicializada
*/

public void startApp() {
Display.getDisplay(this).setCurrent(pimDatabases);
}
 
/**
* From MIDlet.
* Invocado para colocar a MIDlet no estado Pause
*/

public void pauseApp() {
// Nenhuma implementação é necessária neste exemplo
}
 
/**
* From MIDlet.
* Invocado para finalizar a MIDlet.
* @param unconditional
* terminated
*/

public void destroyApp(boolean unconditional) {
// Nenhuma implementação é necessária neste exemplo
}
}

Código-fonte: PIMDbForm.java

import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Form;
import javax.microedition.lcdui.StringItem;
import javax.microedition.pim.PIM;
/**
* Lista de banco de dados do PIM
*/

public class PIMDbForm extends Form implements CommandListener {
private Command exitCommand;
private PIMMIDlet parent;
private int itemCounter = 0; // Número de itens listados
 
public PIMDbForm(PIMMIDlet parent) {
super("PIM databases");
 
this.parent = parent;
 
exitCommand = new Command("Sair", Command.EXIT, 0);
addCommand(exitCommand);
setCommandListener(this);
 
// Cria uma instância de PIM
PIM pim = PIM.getInstance();
// Adiciona cada tipo de dado PIM (PIM databases) no form
addList(PIM.CONTACT_LIST, pim);
addList(PIM.EVENT_LIST, pim);
addList(PIM.TODO_LIST, pim);
}
 
public void commandAction(Command command, Displayable displayable) {
if (command == exitCommand) {
// Finaliza a MIDlet
parent.notifyDestroyed();
}
}
 
/**
* Adiciona os nomes de cada tipo específico da lista de PIM no form
* @param listType o tipo da lista
*/

private void addList(int listType, PIM pim) {
String[] list = pim.listPIMLists(listType);
for (int i = 0; i < list.length; i++) {
itemCounter++;
StringItem item = new StringItem("Database " + itemCounter, list[i]);
append(item);
}
}
}

Pós-condições

A MIDlet mostra a partir de um objeto Form todos os banco de dados que existem no dispositivo

72 page views in the last 30 days.
×