import javax.microedition.lcdui.*;
import javax.microedition.pim.*;
import java.util.*;
//端末内のPIMデータにアクセスする(フォーム)
class PIMForm extends Form
implements ItemCommandListener {
//コンストラクタ
public PIMForm(){
super("PIMEx");
//ボタン
addButton("アドレス帳に情報を追加",0);
addButton("アドレス帳から情報を取得",1);
}
//ボタンの追加
void addButton(String label,int priority) {
StringItem button=new StringItem("",label,Item.BUTTON);
button.setLayout(Item.LAYOUT_2|Item.LAYOUT_RIGHT);
button.setDefaultCommand(new Command("",Command.SCREEN,priority));
button.setItemCommandListener(this);
append(button);
}
//アイテムイベント
public void commandAction(Command c,Item item) {
//アドレス帳に情報を追加
if (c.getPriority()==0) {
Thread thread=new Thread() {
public void run() {addAddress();}
};
thread.start();
}
//アドレス帳から情報を取得
if (c.getPriority()==1) {
Thread thread=new Thread() {
public void run() {getAddress();}
};
thread.start();
}
}
//アドレスの追加
void addAddress() {
try {
//コンタクトの取得
PIM pim=PIM.getInstance();
ContactList list=(ContactList)pim.openPIMList(
PIM.CONTACT_LIST,PIM.READ_WRITE);
Contact contact=list.createContact();
//名前の設定
String[] name=new String[list.stringArraySize(Contact.NAME)];
name[Contact.NAME_GIVEN] ="うのみ";
name[Contact.NAME_FAMILY]="伊佐坂";
contact.addStringArray(Contact.NAME,Contact.ATTR_NONE,name);
//アドレスの設定
String[] addr=new String[list.stringArraySize(Contact.ADDR)];
addr[Contact.ADDR_STREET] ="1-1-1";
addr[Contact.ADDR_LOCALITY] ="東京都千代田区";
addr[Contact.ADDR_COUNTRY] ="日本";
addr[Contact.ADDR_POSTALCODE]="111-1111";
contact.addStringArray(Contact.ADDR,Contact.ATTR_NONE,addr);
//設定を反映
contact.commit();
} catch (Exception e) {
}
}
//アドレスの取得
void getAddress() {
try {
//コンタクト郡の取得
PIM pim=PIM.getInstance();
ContactList list=(ContactList)pim.openPIMList(
PIM.CONTACT_LIST,PIM.READ_ONLY);
Enumeration enm=list.items();
if (enm==null) return;
//文字列アイテムの削除
while (size()>2) delete(2);
//コンタクトから情報の取得
Contact contact;
String[] name;
String firstName;
String lastName;
StringItem item;
while (enm.hasMoreElements()) {
contact=(Contact)enm.nextElement();
//名前の取得
name=contact.getStringArray(Contact.NAME,0);
firstName=name[Contact.NAME_GIVEN];
lastName =name[Contact.NAME_FAMILY];
//文字列アイテムの追加
item=new StringItem("",lastName+" "+firstName);
item.setLayout(Item.LAYOUT_2|Item.LAYOUT_NEWLINE_AFTER);
append(item);
}
} catch (Exception e) {
}
}
}
|