パッケージ com.j_phone.phonedata

ネイティブシステムに保持される電話関連情報を操作するためのクラスおよびインタフェースを提供しています。

参照:
          説明

インタフェースの概要
AddressBook アドレス帳を扱うためのインタフェースです。
AddressData アドレスデータを扱うためのインタフェースです。
DataElement ネイティブシステムに保持される電話関連情報リストの1要素であるデータオブジェクトを扱うためのインタフェースです。
DataEnumeration DataElement オブジェクトの列挙用インタフェースです。
MailData メールデータを扱うためのインタフェースです。
PhoneData ネイティブシステムに保持される電話関連情報リストを扱うためのインタフェースです。
ReceivedMailBox 受信メールボックスを扱うためのインタフェースです。
SentMailBox 送信メールボックスリストを扱うためのインタフェースです。
 

クラスの概要
CallInfo 通話情報を扱うためのクラスです。
DataElementFactory 電話関連情報の1要素を扱うデータオブジェクトを新規に生成するためのクラスです。
PhoneDataConnector ネイティブシステムに保持される電話関連情報リストを扱うためのクラスです。
 

パッケージ com.j_phone.phonedata の説明

ネイティブシステムに保持される電話関連情報を操作するためのクラスおよびインタフェースを提供しています。

電話関連情報には、アドレスデータやメールデータなどの個人に関する情報と通話情報などの電話に関する情報があります。


1. アドレスデータとメールデータの取得

アドレスデータとメールデータを取得する方法について説明します。

アドレスデータとメールデータのデータ構造

データ取得基本操作

アドレスデータとメールデータをリストから取得する基本操作を以下に示します。

  1. 電話関連情報のリストオブジェクトを取得します。 PhoneDataConnectorクラスのopenPhoneData()メソッドの引数nameに取得するリストオブジェクトを指定して呼び出します。 openPhoneData()は、戻り値としてAddressBookReceivedMailBox、またはSentMailBoxインタフェースを実装したリストオブジェクトを返します。

  2. 取得したリストオブジェクトからelements()メソッドを呼び出して、DataEnumerationインタフェースを実装した要素を列挙するオブジェクトを取得します。

  3. DataEnumerationのnextElement()メソッドによって電話関連情報リストの要素を列挙します。nextElement()メソッドは、戻り値としてAddressData、またはMailDataインタフェースを実装したデータオブジェクトを返します。

    データオブジェクトの種別は、電話関連情報リストによって決まります。 openPhoneData()メソッドに"AddressBook"を指定して取得した場合、列挙されるデータオブジェクトはAddressDataインタフェースを実装したオブジェクトとなります。 openPhoneData()メソッドに"ReceivedMailBox"または"SentMailBox"を指定して取得した場合、列挙されるデータオブジェクトはMailDataインタフェースを実装したオブジェクトとなります。

  4. 取得したデータオブジェクトのメソッドによって個々のデータオブジェクトが保持しているデータ項目を取得、設定します。

  5. データオブジェクトを削除するには、リストオブジェクトのdelete()メソッドに削除するデータオブジェクトを指定して呼び出します。ただし、アドレスデータは削除できません。

  6. 電話関連情報リストに対する処理が終了したら、リストオブジェクトのclose()メソッドによってリストを閉じます。

以下にアドレスデータを取得する例を示します。

  // アドレス帳オープン
  AddressBook ab = (AddressBook)PhoneDataConnector.openPhoneData("AddressBook", 0);

  // アドレスデータを取得
  DataEnumeration de = ab.elements(0, 10, 0);
  AddressData ad = de.nextElement();

  // 名前を取得
  String name = ad.getString(NAME_INFO, 0);

以下にメールデータを取得する例を示します。

  // 受信メールリストオープン
  ReceivedMailBox rb = (ReceivedMailBox)PhoneDataConnector.openPhoneData("ReceivedMailBox", 0);

  // メールデータを1件取得
  DataEnumeration de = rb.elements(0, 1, SORT_ASCENDING);
  MailData md = de.nextElement();

  // メール本文を取得
  String body = md.getString(BODY_INFO, 0);

2. アドレスデータの操作

アドレス帳の設定

AddressBookインタフェースは、ネイティブシステムのアドレス帳の設定を取得するメソッドを提供します。

ネイティブのアドレス帳は、アドレスデータを分類するグループを登録することができます。グループは番号によって管理されますが、それぞれのグループに名称をつけることもできます。 getGroupNoList()メソッドによって、アドレス帳に設定されているすべてのグループ番号を取得することができます。取得したグループ番号を引数に指定してgetGroupName()メソッドを呼び出すとグループ名を取得することができます。

1件のアドレスデータには、複数の電話番号とメールアドレスを登録することができます。登録できる件数はネイティブシステムに依存します。登録できる電話番号の件数はgetPhoneNumberMaxCount()メソッドによって、登録できるメールアドレスの件数はgetMailAddressMaxCount()メソッドによって取得することができます。

アドレスデータの新規作成

アドレスデータを新規に作成する場合、DataElementFactoryクラスのcreateAddressData()メソッドを呼び出してAddressDataオブジェクトを生成します。その後AddressDataインタフェースのメソッドにより各項目の値を設定します。

作成したアドレスデータをアドレス帳に登録する場合は、openPhoneData()メソッドによって追加するアドレス帳を開き、AddressBookオブジェクトのcreateElement()メソッドによってリストに登録します。

以下に例を示します。

  // アドレスデータ新規作成
  AddressData ad = DataElementFactory.createAddressData();

  // アドレスデータに情報設定
  ad.setInt(MEMORYDIAL_NO_INFO, 0, 0);
  ad.setString(NAME_INFO, 0, "sample data 1");
  ad.setString(PHONE_NUMBER_INFO, 0, "012-345-6789");

  // アドレス帳オープン
  AddressBook ab = (AddressBook)PhoneDataConnector.openPhoneData("AddressBook", 0);
  // アドレスデータをアドレス帳に登録
  ab.createElement(ad);

3. メールデータの送信

Javaアプリケーションは、メールデータを新規に作成して送信できます。

メールデータを新規に作成する場合、DataElementFactoryクラスのcreateMailData()メソッドを呼び出して、MailDataインタフェースを実装したオブジェクトを生成します。その後MailDataインタフェースのメソッドにより各項目の値を設定します。

作成したメールデータを送信する場合は、MailAgentインスタンスを取得し、メール送信処理を待ち受けるためのメールリスナーを設定してsend()メソッドを呼び出します。

以下に例を示します。

  // メールデータ新規作成
  MailData md = DataElementFactory.createMailData();

  // メールデータに情報設定
  md.setString(TO_ADDRESS_INFO, 0, "to_address@sample.ne.jp");
  md.setString(SUBJECT_INFO, 0, "sample mail");
  md.setString(BODY_INFO, 0, "sample mail infomation");
  md.setInt(MAIL_TYPE_INFO, 0, MAIL_TYPE_SUPER);

  // MailAgentインスタンスを取得
  MailAgent ma = MailAgent.getInstance();
  // メールリスナー設定
  ma.setMailTransportListner(this);
  // メール送信
  ma.send(md);

4. 通話情報の取得

Javaアプリケーションは、CallInfoクラスにより以下の通話情報を取得することができます。