モバイルクライアントから Web アプリケーションへの接続ウィザード: クライアントサーバーアプリケーションの作成

NetBeans IDE では、ミドルウェア Web アプリケーションを介して Web サービスに接続できるクライアント MIDlet を作成できます。

このチュートリアルでは、Java ME プラットフォーム用の JSR-172 仕様をデバイスがサポートしない場合に、モバイルクライアントから Web アプリケーションへの接続ウィザードを使用して、Web サービスへの接続を作成する方法を示します。このウィザードは、Web サービスクライアントを含み、指定された数値を合計するメソッドを含む Web アプリケーションに接続する、2 つの数値を計算するサーブレットを生成します。

NetBeans Mobility または J2EE に習熟していない場合、次に進む前に「NetBeans Java ME MIDP 開発のクイックスタートガイド」から始めることをお勧めします。

目次

このページの内容は NetBeans IDE 7.0 が対象です

このチュートリアルに従うには、次に示すソフトウェアとリソースが必要です。

ソフトウェアまたはリソース 必須バージョン
NetBeans IDE と Java ME version 7.0 以降
Java Development Kit (JDK) version 6
GlassFish または Tomcat IDE の「Java EE」および「すべて」のインストールに含まれています

Web プロジェクトの作成

「モバイルクライアントから Web アプリケーションへの接続」ウィザードを使用する場合は、Web サービスクライアントを含む Web プロジェクトが必要です。

ここで、 Java サーブレット用の新規 Web アプリケーションプロジェクトを一から作成します。Java Web アプリケーションを IDE で作成するには、次を実行します。

  1. Web アプリケーションプロジェクトの準備と作成
  2. ビジネスロジックの追加
  3. プロジェクトのコンパイル

Web アプリケーションプロジェクトの準備と作成

  1. ファイル」>「新規プロジェクト」(Ctrl-Shift-N) を選択します。「カテゴリ」から「Java Web」を選択します。「プロジェクト」で「Web アプリケーション」を選択して、「次へ」をクリックします。
  2. 「プロジェクト名」フィールドに「WebApplication」と入力します。「プロジェクトの場所」を使用コンピュータ上の任意のディレクトリにします。このチュートリアルでは、このディレクトリを NetBeansProjects と表します。
  3. (任意) 「ライブラリの格納用に専用フォルダを使用」チェックボックスを選択し、ライブラリフォルダの場所を指定します。
  4. 「主プロジェクトとして設定」チェックボックスをオフにし、「次へ」をクリックします。
  5. 「サーバーと設定」パネルで、モバイルアプリケーションをあとで配備するサーバーは「GlassFish Server 3.1」のままとし、アプリケーションで使用するバージョンは「J2EE 1.4」のままとします。
  6. 「ソースレベルを 1.4 に設定」を選択したままにします。

    注: 「コンテキストパス」(サーバー上など) は /WebApplication になります。これは、前の手順でプロジェクトに付けた名前に基づいています。

  7. 「次へ」をクリックします。「フレームワーク」パネルで「完了」をクリックしてプロジェクトを作成します。
    IDE によって、NetBeansProjects/WebApplication プロジェクトフォルダが作成されます。このプロジェクトフォルダには、ソースおよび、プロジェクトの Ant 構築スクリプトなどのプロジェクトメタデータのすべてが含まれます。IDE で WebApplication プロジェクトが開きます。開始ページである index.jsp が、メインウィンドウ内のソースエディタで開きます。

WebApplication プロジェクトおよび index.jsp

ビジネスロジックの追加

アプリケーションのビジネスロジックを表現する public メソッドを持つ Java クラスを Web プロジェクト内に作成するには、次の手順を実行します。

  1. 「プロジェクト」ウィンドウで「ソースパッケージ」ノードを右クリックし、「新規」>「Java パッケージ」を選択します。「パッケージ名」テキストボックスに「MyPackage」と入力し、「完了」をクリックします。
  2. 作成された「MyPackage」ノードを右クリックし、「新規」>「Java クラス」を選択します。「クラス名」テキストボックスに「Calculator」と入力し、「完了」をクリックします。
  3. 「ソースエディタ」ウィンドウで開いた Calculator.java ファイルに、次のメソッドを挿入します。
     public int calcSum(int a, int b) {
            return a + b;
        } 
  4. Ctrl+S キーを押して編集を保存します。

プロジェクトの構築

「プロジェクト」ウィンドウで「WebApplication」プロジェクトノードを右クリックし、「構築」(F11) を選択します。
数値を合計するための Web アプリケーションの準備ができました。

注: プロジェクトはデフォルトで「保存時にコンパイル」機能が有効になっている状態で構築されているので、先にコードをコンパイルする必要はありません。

Calculator.java

モバイルプロジェクトの作成

IDE では、今作成した Web アプリケーションに接続し、2 つの数値をそれに提供し、それらの合計を表示できるクライアント MIDlet を作成できます。

Java ME クライアントアプリケーションを作成するには、次を実行します。

  1. プロジェクトの作成
  2. プロジェクトへのパッケージとビジュアル MIDlet の追加
  3. プロジェクトにコンポーネントを追加する
  4. プロジェクトにコマンドを追加する
  5. コンポーネントを接続してアプリケーションフローを作成する
  6. Java ME クライアントから Web アプリケーションへの接続ウィザード

プロジェクトの作成

NetBeans IDE には、MIDP プロジェクトを簡単に作成できるウィザードがあります。

  1. ファイル」>「新規プロジェクト」(Ctrl-Shift-N) を選択します。「カテゴリ」から「Java ME」を選択します。「プロジェクト」で「モバイルアプリケーション」を選択して、「次へ」をクリックします。
  2. 「プロジェクト名」フィールドに「MobileApplication」と入力します。「プロジェクトの場所」をシステム上の任意のディレクトリに変更します。このチュートリアルでは、このディレクトリを NetBeansProjects とします。
  3. 「Hello MIDlet を作成」チェックボックスをオフにします (デフォルトでオンになっています)。「次へ」をクリックします。
  4. 「エミュレータプラットフォーム」は、「Java (TM) Platform Micro Edition SDK 3.0」を選択したままにしておきます。「次へ」をクリックして、「完了」をクリックします。
    IDE によって、NetBeansProjects/MobileApplication プロジェクトフォルダが作成されます。
    このプロジェクトフォルダには、ソースおよび、プロジェクトの Ant スクリプトなどのプロジェクトメタデータのすべてが含まれます。

    作成された MobileApplication プロジェクト

プロジェクトへのパッケージとビジュアル MIDlet の追加

  1. 「プロジェクト」ウィンドウで MobileApplication プロジェクトを選択し、「ファイル」>「新規ファイル」(Ctrl-N) を選択します。「カテゴリ」にある「MIDP」を選択します。「ファイルの種類」として「ビジュアル MIDIlet」を選択します。「次へ」をクリックします。
  2. 「MIDlet 名」フィールドと「MIDP クラス名」フィールドに「Calculator」と入力し、「パッケージ」テキストフィールドに「CalculatorPackage」と入力します。「完了」をクリックします。
    アプリケーションはビジュアルモバイルデザイナの「フローデザイン」ウィンドウに表示されます。

    追加されたパッケージおよびビジュアル MIDlet

プロジェクトへのコンポーネントの追加

  1. 「フロー」ビューで、パレットの「表示可能項目」セクションから次のコンポーネントをドラッグ&ドロップします。
    • 待機画面
    • フォーム (x2)
    • 警告

      追加されたコンポーネント

  2. 「画面」をクリックして「画面」ビューに切り替え、「アナライザ」ボタンの右側にあるドロップダウンリストから form を選択します。
  3. form コンポーネントを右クリックし、ポップアップメニューから「新規または追加」>「テキストフィールド」を選択します。
  4. 手順 3 を繰り返し、別のテキストフィールドをフォームに追加します。
  5. textField コンポーネントを選択し、「プロパティー」ウィンドウ (パレットの下) で「ラベル」値として「A」と入力します。
  6. A コンポーネントを右クリックし、ポップアップメニューから「名前を変更」を選択します。
  7. 「名前を変更」ダイアログボックスで、「新しい名前」フィールドに「fieldA」と入力して「了解」をクリックします。
  8. textField1 コンポーネントを選択し、「プロパティー」ウィンドウで「ラベル」値として「B」と入力します。
  9. B コンポーネントを右クリックし、ポップアップメニューから「名前を変更」を選択します。
  10. 「名前を変更」ダイアログボックスで、「新しい名前」フィールドに「fieldB」と入力して「了解」をクリックします。
    名前を変更したフィールドは、calcSum メソッド引数を表します。

    フィールド A と B

  11. 「アナライザ」ボタンの右側にあるドロップダウンリストから「form1」を選択します。
  12. form1 コンポーネントを右クリックし、ポップアップメニューから「新規または追加」>「テキストフィールド」を選択します。
  13. textField コンポーネントを選択し、「プロパティー」ウィンドウで「ラベル」値として「Result」と入力します。
  14. Result コンポーネントを右クリックし、ポップアップメニューから「名前を変更」を選択します。
  15. 「名前を変更」ダイアログボックスで、「新しい名前」フィールドに「resultField」と入力して「了解」をクリックします。
    名前を変更したフィールドは、calcSum メソッドの出力を表示するためのものです。

    Result フィールド

  16. 「アナライザ」ボタンの右側にあるドロップダウンリストから「alert」を選択します。
  17. 「プロパティー」ウィンドウで、「タイトル」プロパティーを「Alert」に変更し、「文字列」プロパティーを「Error while getting results from the web application」に変更します。
    Web アプリケーションが結果を何も返さない場合、警告が表示されます。

    Alert フィールド

プロジェクトへのコマンドの追加

  1. 「画面」ビューで form1 が選択されているとき、「デバイス画面」の内側を右クリックし、ポップアップメニューから「新規または追加」>「終了コマンド」を選択します。

    Form1: exitCommand の追加

  2. 「画面」ビューで、「アナライザ」ボタンの右側にあるドロップダウンリストから「form」を選択します。
  3. 「デバイス画面」の内側を右クリックし、ポップアップメニューから「新規または追加」>「了解コマンド」を選択します。
  4. 手順 4 を繰り返し、ポップアップメニューから「取消しコマンド」を追加します。

    Form: okCommand および cancelCommand を追加

  5. Ctrl+S キーを押して編集を保存します。

コンポーネントを接続してアプリケーションフローを作成する

「フロー」ビューで、モバイルデバイスの「起動」テキストをクリックし、それを form コンポーネントまでドラッグします。同様に、次の図に示すようにコンポーネントを接続します。

アプリケーションフロー

Java ME クライアントから Web アプリケーションへの接続ウィザード

ここで「Java ME クライアントから Web アプリケーションへの接続」ウィザードを使用して、calcSum メソッド選択によって、モバイルプロジェクト内部にモバイルクライアントを作成します。

  1. MobileApplication を展開し、「ソースパッケージ」を右クリックして、「新規」>「Java ME クライアントから Web アプリケーションへの接続」を選択します。
  2. 「サーブレットとクライアントの種類」パネルで、MIDlet が対話する Web アプリケーションの種類を選択します。「サーブレット名」として「WebToMobileServlet」と入力し、「Web アプリケーション内のメソッド」オプションが選択されていることを確認して (モバイルクライアントは Web アプリケーションに直接接続するため)、「次へ」をクリックします。

    ウィザード

  3. 「Web プロジェクト内のメソッド」パネルで、int calcSum (int a, int b) をオンにして、「次へ」をクリックします。
  4. 「クライアントオプション」パネルで、生成されるクライアントクラスの名前とパッケージをそのままにし、「スタブを生成」と「浮動小数点を許可」オプションがオンになっていることを確認して、「完了」をクリックします。
    Java ME クライアントとマッピングファイルは、Java ME プロジェクトの下に生成されます。
    サーブレットとサポートするクラスは、Web プロジェクトの下に生成されます。

    生成された Java ME クライアント

Java ME クライアントへのソースコードの追加

  1. Calculator.java タブをクリックします。
  2. 「画面」ビューで、「アナライザ」ボタンの右側にあるドロップダウンリストから「waitScreen」を選択します。
  3. 「リソース」の下の task [SimpleCancellableTask] を右クリックし、ポップアップメニューで「ソースへ移動」を選択します。
  4. ソースエディタで、// write task-execution user code here というセクションを探し、次のコードに置き換えます。
        WebToMobileClient wc = new WebToMobileClient();
        int a = Integer.valueOf(getFieldA().getString()).intValue();
        int b = Integer.valueOf(getFieldB().getString()).intValue();
        int result = wc.calcSum(a, b);
        System.out.println(result);
        getResultField().setString(String.valueOf(result));
  5. Ctrl+S キーを押して編集を保存します。

Web プロジェクトの配備

Web アプリケーションを配備するには、「プロジェクト」ウィンドウで WebApplication ノードを右クリックし、ポップアップメニューから「配備」を選択します。
「出力」ウィンドウは次のように表示されます。

配備された WebApplication

ページの先頭へ

クライアントプロジェクトの実行

モバイルクライアントアプリケーションを実行するには、「実行」>「主プロジェクトを実行」を選択するか、F6 キーを押して主プロジェクトを実行します。

注: クライアントアプリケーションを実行する前に、サーバー側アプリケーションが配備され、実行中であることを確認します。

MobileApplication が実行されると、エミュレータウィンドウが開き、デフォルトのデバイスエミュレータでアプリケーションが実行されるところが表示されます。

エミュレータでのクライアントアプリケーション

機能の確認

  1. 「エミュレータ」ウィンドウで、A フィールドに任意の数値を入力し、中央のボタンの下矢印をクリックして B フィールドに切り替え、B フィールドに別の数値を入力します。

    A および B の設定

  2. 「Menu」の下にあるボタンをクリックして、ポップアップメニューで「OK」を選択し、エミュレータの中央のボタンをクリックして確認します。
    入力した数値の合計を WebApplication が計算したあと、結果を含む form1 が表示されます。

    計算された結果

    注: チュートリアルの最終結果を確認するには、MobileCientToWebApplicationSample.zip をダウンロードします。

ページの先頭へ


関連項目

ページの先頭へ

get support for the NetBeans

Support


By use of this website, you agree to the NetBeans Policies and Terms of Use. © 2013, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo