Apcoordinator ユーザーズガイド
目次 前ページ次ページ

第7部 携帯端末対応アプリケーションの開発> 第39章 ブラウザアプリケーションの開発> 39.4 ブラウザアプリケーションのカスタマイズ

39.4.4 サーバへの通知内容を変更する

サーバへのデータ送信機能が割り当てられているボタンが押された場合、ブラウザアプリケーションは送信属性が設定されているすべてのコンポーネントの入力情報を収集し、コンポーネントの名前と入力されているデータとを組にしてサーバに送信します。標準では以下の内容が、入力されているデータとしてサーバに送られます。

コンポーネントサーバに送信される内容
ボタンラベル文字列
リストボックス選択中の項目の文字列
テキストボックス入力されている文字列

サーバに送信されるコンポーネントの内容は次の手順で変更します。

  1. ブラウザアプリケーションのvalueメソッドをオーバライドします。

    protected Vector value(Object item)
    ポイント
    valueメソッドは、サーバへアクセスする直前に呼び出されるメソッドです。
  2. valueメソッドのitemパラメタを判定して、内容を獲得するコンポーネントを識別します。

  3. サーバに送信したい内容をVectorオブジェクトに追加して返します。

ポイント
注意
VectorオブジェクトにStringオブジェクト以外のオブジェクトは追加しないでください。

import com.nttdocomo.ui.*;
import java.util.*;

public class MyBrowser extends IF {
  protected Vector value(Object item) {
    if( name(item).equals("subject") ) {
      // subjectリストボックスについては項目の文字列ではなく、
      // インデックスをサーバに送信します。
      Vector v = new Vector();
      ListBox lb = (ListBox)item;
      if( lb.getSelectedIndex() > -1 ) {
        for( int i = 0 ; i < lb.getItemCount() ; i++ ) {
          if( lb.isIndexSelected(i) ) {
            v.addElement(Integer.toString(i));
          }
        }
      }
      return v;
    }
    else {
      // ブラウザアプリケーション本体の処理を呼び出します。
      return super.value(item);
    }
  }
}

目次 前ページ次ページ

All Rights Reserved, Copyright © 富士通株式会社 2000-2005