Tuesday, April 8, 2008

Reading contacts from Mobile using JSR 75

The below Midlet explains how to read the contact names and numbers from the Phonebook using JSR 75
PIMMidelt.java
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;

public class PIMMidelt extends MIDlet
{
ReadPIM readPim;
Display display;

public void startApp()
{
display = Display.getDisplay(this);
readPim = new ReadPIM(this);
display.setCurrent(readPim);
}
public void pauseApp()
{
}
public void destroyApp(boolean uc)
{
}
}
ReadPIM.java
import javax.microedition.lcdui.*;
import javax.microedition.pim.*;
import java.util.*;
import java.io.*;
public class ReadPIM extends Form implements Runnable,CommandListener
{
PIM pim;
PIMList pimlist;
Contact contact=null;
Enumeration enumeration;
PIMMidelt midlet;

String contactName="";
String contactNo="";


StringItem name;
StringItem telno;
Thread thread=null;
Command exitCmd = new Command("Exit",Command.EXIT,1);

public ReadPIM(PIMMidelt midlet)
{
super("Reading contacts");
this.midlet = midlet;

pim = PIM.getInstance();

thread = new Thread(this);
thread.start();
addCommand(exitCmd);
setCommandListener(this);

}

public void run()
{
readContacts();
}

public void readContacts()
{
String[] lists = pim.listPIMLists(pim.CONTACT_LIST);
for (int i = 0; i < style="color: rgb(0, 102, 0);">length; i++)
{
try{
pimlist = pim.openPIMList(pim.CONTACT_LIST,pim.READ_WRITE);
}catch(Exception e){}


try{
enumeration = pimlist.items();
}catch(Exception e){}

while (enumeration.hasMoreElements())
{
contact = (Contact)enumeration.nextElement();

try{
if(pimlist.isSupportedField(Contact.FORMATTED_NAME)&& (contact.countValues(Contact.FORMATTED_NAME) >0))
{
contactName += contact.getString(Contact.FORMATTED_NAME,0) +"\r\n";;
System.out.println("COntact name:"+contactName);
}
}catch( Exception e){}

int phoneNos = contact.countValues(Contact.TEL);
try{
if(pimlist.isSupportedField(Contact.TEL) &&(contact.countValues(Contact.TEL) >0))
contactNo += contact.getString(contact.TEL,0) +"\r\n";
System.out.println("contact No :"+contactNo);
}catch( Exception e){}

}

name = new StringItem("Name",contactName);
telno = new StringItem("No",contactNo);
append(name);
append(telno);

}
}

public void commandAction(Command c , Displayable d) {
if(c == exitCmd) {
midlet.destroyApp(true);
midlet.notifyDestroyed();
}
}
}

1 comment:

Sirena said...

Thanks for this wonderful article. M Sirena Alexander working with BBREW Application Development and it is very descriptive & informative to all.