ビジュアルモバイルデザイナのカスタムコンポーネント: SMS コンポーザ
執筆: Karol Harezlak
ビジュアルモバイルデザイナ(VMD) は NetBeans Mobility Pack に含まれるグラフィカルインタフェースです。コンポーネントをドラッグ&ドロップすることでモバイルアプリケーションをデザインできます。VMD を使用すると、Mobility Pack に含まれるコンポーネントまたは独自にデザインしたコンポーネントを使用してアプリケーションフローを定義し、GUI をデザインできます。VMD には、リスト、警告、フォーム、画像など、アプリケーションの作成に使用できる標準のユーザーインタフェース (UI) コンポーネントが多数含まれます。また、待機画面、スプラッシュ画面、表項目など、より複雑な機能を簡単に作成できるカスタムコンポーネントも含まれます。
SMS コンポーザは、ショートメッセージサービス (SMS) を使用してショートメッセージを送信するメカニズムとユーザーインタフェースを備えたカスタムコンポーネントです。
このコンポーネントでは、JSR-120 の Wireless Messaging API が使用されます。この API は MIDP 2.0 仕様の一部ではないので、このカスタムコンポーネントは、JSR-120 のサポートが組み込まれているデバイスだけに配備できます。
アプリケーションの概要
この例では、Wireless Messaging API (WMA) 対応デバイス用モバイルアプリケーションで SMS コンポーザコンポーネントを使用する方法を示します。このコンポーネントの基本機能と、ショートメッセージサービスを使用してメッセージを送信する方法を学びます。
「SMS コンポーザ」カスタムコンポーネントのほかに、スプラッシュ画面と警告の 2 つの MIDP コンポーネントを使用します。
要件
開始する前に、コンピュータに次のソフトウェアをインストールしておく必要があります。
- NetBeans IDE 6.0 と Mobility Pack (ダウンロード)
- Java Standard Development Kit (JDK) version 6.0 (ダウンロード)
NetBeans Mobility Pack をはじめて使用する場合は、先に NetBeans 6.0 CLDC/MIDP 開発のクイックスタートガイドをご覧ください。
サンプルアプリケーションのインストールと実行
始める前に、チュートリアルの最終結果を確認します。
次の手順で SMSComposerExample アプリケーションをインストールします。
- SMSComposerExample.zip をダウンロードします。
- ファイルを展開します。
- IDE で、「ファイル」>「プロジェクトを開く」を選択し、展開したファイルがあるフォルダを選択します。
- 「プロジェクト」ウィンドウと「ナビゲータ」ウィンドウを開きます。画面は次のようになります。
- 「プロジェクト」ウィンドウでプロジェクトノードを右クリックし、「プロジェクトを実行」を選択するか、F6 キーを押します。アプリケーションが実行されると、エミュレータウィンドウが開き、デフォルトのデバイスエミュレータでアプリケーションが実行されるところが表示されます。
「エミュレータ」ウィンドウで「起動」の下のボタンをクリックします。エミュレータにスプラッシュ画面コンポーネントが表示されてから、次に示す SMS コンポーザが表示されます。
- 電話番号やメッセージなどのオプション間を移動するには、カーソルを上下に移動します。
- 電話番号やメッセージテキストを変更するか、「Send」をクリックしてメッセージを送信します。
- アプリケーションを終了するには、「Exit」の下のボタンをクリックします。
「SMS コンポーザ」カスタムコンポーネントを使用したアプリケーションの作成
SMS コンポーザコンポーネントが実際に動作するところを確認できたので、最初に戻ってこのアプリケーションを作成します。アプリケーションを作成するには、次の手順を実行します。
- SMSComposerExample プロジェクトを作成する
- SMSComposerExample プロジェクトにパッケージとビジュアル MIDlet を追加する
- SMSComposerExample にコンポーネントを追加する
- SMS コンポーザにコマンドを追加する
- コンポーネントを接続してアプリケーションフローを作成する
- 待機画面のタスクを変更する
プロジェクトを実行する
SMSComposerExample プロジェクトの作成
- 「ファイル」>「新規プロジェクト」(Ctrl-Shift-N) を選択します。「カテゴリ」で「Mobility」を選択します。「プロジェクト」で「MIDP アプリケーション」を選択して、「次へ」をクリックします。
- 「プロジェクト名」フィールドに
SMSComposerExample と入力します。「プロジェクトの場所」をシステム上の任意のディレクトリに変更します。以降、この例では、このディレクトリを $PROJECTHOME とします。
- 「Hello MIDlet を作成」チェックボックスの選択を解除します。「次へ」をクリックします。
- 「ターゲットプラットフォーム」は、「Java ME Wireless Toolkit」を選択したままにしておきます。「次へ」をクリックします。
「完了」をクリックします。このプロジェクトフォルダには、ソースおよび、プロジェクトの Ant スクリプトなどのプロジェクトメタデータのすべてが含まれます。アプリケーション自体はビジュアルモバイルデザイナの「フローデザイン」ウィンドウに表示されます。
SMSComposerExample プロジェクトへのパッケージとビジュアル MIDlet の追加
- 「プロジェクト」ウィンドウで
SMSComposerExample プロジェクトを選択し、「ファイル」>「新規ファイル」(Ctrl-N) を選択します。「カテゴリ」から「Java クラス」を選択します。「ファイルの種類」として「Java パッケージ」を選択します。「次へ」をクリックします。
- 「パッケージ名」フィールドに
smscomposerexample と入力します。「完了」をクリックします。
- 「プロジェクト」ウィンドウで
smscomposerexample パッケージを選択し、「ファイル」>「新規ファイル」(Ctrl-N) を選択します。「カテゴリ」にある「MIDP」を選択します。「ファイルの種類」として「ビジュアル MIDIlet」を選択します。「次へ」をクリックします。
「MIDlet 名」フィールドと「MIDP クラス名」フィールドに SMSComposerExample と入力します。「完了」をクリックします。
SMSComposerExample へのコンポーネントの追加
- ビジュアル MIDlet を「フローデザイナ」ウィンドウに切り替えます。次のコンポーネントをコンポーネントパレットからドラッグし、フローデザイナにドロップします。
- スプラッシュ画面
- SMS コンポーザ
- 待機画面
- 警告 (2 回)
- splashScreen をクリックし、「プロパティー」ウィンドウで「テキスト」プロパティーの値を「null」から「SMS Composer Example」に変更します。
-
alert1 をクリックし、「プロパティー」ウィンドウで「インスタンス名」プロパティーの値を「alert1」から「alertSent」に変更します。同様に、alert2 の「インスタンス名」プロパティーの値を「alert2」から「alertError」に変更します。
-
alertSent をクリックし、「プロパティー」ウィンドウで「文字列」プロパティーの値を「Message Sent」に変更します。同様に、alertError コンポーネントの「文字列」プロパティーの値を「Error」に変更します。
- smsComposer をクリックし、「プロパティー」ウィンドウで「自動的に送信」プロパティー (「SMS Properties」カテゴリ) の選択を解除します。
SMSComposerExample へのコマンドの追加
- 「フローデザイナ」ウィンドウを開きます。
- コンポーネントパレットの「コマンド」セクションで終了コマンドを選択します。このコマンドをドラッグし、「フローデザイナ」ウィンドウ (smsComposer コンポーネント) にドロップします。
コンポーネントの接続
- 「フロー」デザインウィンドウで、モバイルデバイスの「起動」をクリックし、splashScreen コンポーネントまでドラッグします。同様に、次の図に示すようにコンポーネントを接続します。

- 「ナビゲータ」ウィンドウで task コンポーネント (「リソース」カテゴリ) を探し、このコンポーネントを右クリックして「ソースへ移動」オプションを選択します。ソースウィンドウで
// write task-execution user code here というセクションを探し、smsComposer.sendSMS(); に置き換えます。
プロジェクトの実行
- F6 キーを押して主プロジェクトを実行します。「実行」>「主プロジェクトを実行」を選択する方法もあります。
SMS コンポーザコンポーネントの詳細情報
NetBeans IDE には、SMS コンポーザコンポーネントや、VMD で使用できるその他のコンポーネントに関する API Javadoc が用意されています。SMS コンポーザコンポーネントの Javadoc を表示するには、次の手順を実行します。
- 「ヘルプ」>「Javadoc 参照」>「org.netbeans.microediton.lcdui.wma」を選択します。
org.netbeans.microedition.lcdui.wma をクリックすると、コンポーネント情報へのリンクが表示されます。
関連するチュートリアル