ビジュアルモバイルデザイナのカスタムコンポーネント: ログイン画面の作成
ビジュアルモバイルデザイナ (VMD) は NetBeans Mobility に含まれるグラフィカルインタフェースです。コンポーネントをドラッグ&ドロップすることでモバイルアプリケーションをデザインできます。VMD を使用すると、IDE に含まれるコンポーネントまたは独自にデザインしたコンポーネントを使用して、アプリケーションフローを定義し、GUI をデザインできます。VMD には、リスト、警告、フォーム、画像など、アプリケーションの作成に使用できる標準のユーザーインタフェース (UI) コンポーネントが多数含まれます。また、待機画面、スプラッシュ画面、表項目など、より複雑な機能を簡単に作成できるカスタムコンポーネントも含まれます。
ログイン画面カスタムコンポーネントは、「Username」フィールド、「Password」フィールド、「Login」ボタンなどの標準要素を備えた、有用なユーザーインタフェースを提供します。このカスタムコンポーネントを使用して、GSM による銀行業務などの保護された機能にアクセスするためのログインインタフェースを作成できます。
NetBeans Mobility または J2EE に習熟していない場合、次に進む前に「NetBeans Java ME MIDP 開発のクイックスタートガイド」から始めることをお勧めします。
注: NetBeans IDE 6.8 を使用している場合は、「ログイン画面の作成」チュートリアル (NetBeans IDE 6.8 ドキュメント) を参照してください。
目次
このチュートリアルに従うには、次のソフトウェアとリソースが必要です。
サンプルアプリケーションのインストールと実行
始める前に、チュートリアルの最終結果を確認します。
この例では、クライアントアプリケーション内で「ログイン画面」カスタムコンポーネントを使用する方法と、認証アクセスを使用してコンポーネントをサーバーリソースに接続する方法を示します。NetBeans Mobility プロジェクトのほかに、NetBeans Web プロジェクトを使用する必要があります。このチュートリアルの手順を実行するには、NetBeans Web プロジェクトの操作方法を理解していて、また GlassFish や Tomcat などの Web アプリケーションサーバーにローカルまたはリモートでアクセスできる必要があります。
次の手順で LoginScreenExample アプリケーションをインストールします。
- LoginScreenExample.zip をダウンロードします。このダウンロードには、完成した NetBeans Mobility プロジェクトが含まれます。
- LoginScreenServletExample.zip をダウンロードします。このダウンロードには、完成した NetBeans Web プロジェクトが含まれます。
- ファイルを展開します。
- IDE で、「ファイル」>「プロジェクトを開く」を選択し、LoginScreenExample プロジェクトのファイルを展開したフォルダを選択します。
- 「プロジェクトを開く」をクリックします。
- 手順 4 と 5 を繰り返して LoginScreenServletExample プロジェクトを開きます。
- 「プロジェクト」ビューは次のようになります。
- 「プロジェクト」ウィンドウで LoginScreenServletExample プロジェクトのノードを右クリックし、「プロジェクトを実行」を選択するか、F6 キーを押します。
- LoginScreenExample プロジェクトのノードを右クリックし、「プロジェクトを実行」を選択します。アプリケーションが実行されると、エミュレータウィンドウが開き、デフォルトのデバイスエミュレータでアプリケーションが実行されるところが表示されます。
- 「エミュレータ」ウィンドウで「起動」の下のボタンをクリックします。
エミュレータにスプラッシュ画面コンポーネントが表示されてから、次に示すログイン画面が表示されます。
- カーソルを上下に移動すると、ログインフィールドとパスワードフィールドの間を移動できます。
- 中央のボタンをクリックすると、選択したテキストフィールドが編集可能になります。
- エミュレータで「Username」フィールドをクリックして「john」と入力し、「OK」ボタンをクリックします。
- エミュレータで「Password」フィールドをクリックして「peanuts」と入力し、「OK」ボタンをクリックします。
- 終了するには、「Login」の下のボタンをクリックします。
- アプリケーションがサーバーに接続したら、「Login Successful」というメッセージを示す
alert1 コンポーネントが画面に表示されます。
ページの先頭へ
ログイン画面カスタムコンポーネントを備えたアプリケーションの作成
ログイン画面コンポーネントが実際に動作するところを確認できたので、最初に戻ってこのアプリケーションを新規に作成します。このチュートリアルでは、NetBeans Mobility Pack を使用して単に Java ME クライアントを作成します。このアプリケーションのサーバー側の処理については、LoginScreenServletExample プロジェクトのソースを参照してください。Java ME クライアントアプリケーションを作成するには、次の手順を実行します。
- LoginScreenExample プロジェクトを作成する
- パッケージとビジュアル MIDlet を LoginScreenExample プロジェクトに追加する
- コンポーネントを LoginScreenExample に追加する
- コマンドをログイン画面コンポーネントに追加する
- コンポーネントを接続してアプリケーションフローを作成
- ソースコードを追加する
- プロジェクトを実行する
LoginScreenExample プロジェクトの作成
- 「ファイル」>「新規プロジェクト」(Ctrl-Shift-N) を選択します。「カテゴリ」から「Java ME」を選択します。「プロジェクト」で「モバイルアプリケーション」を選択して、「次へ」をクリックします。
- 「プロジェクト名」フィールドに
LoginScreenExample と入力します。「プロジェクトの場所」をシステム上の任意のディレクトリに変更します。このディレクトリを $PROJECTHOME とします。
- 「Hello MIDlet を作成」チェックボックスの選択を解除します。「次へ」をクリックします。
- 「エミュレータプラットフォーム」は、「Sun Java Wireless Toolkit 」を選択したままにしておきます。「次へ」をクリックし、「完了」をクリックします。
注: このプロジェクトフォルダには、ソースおよび、プロジェクトの Ant スクリプトなどのプロジェクトメタデータのすべてが含まれます。アプリケーションはビジュアルモバイルデザイナの「フローデザイン」ウィンドウに表示されます。
LoginScreenExample プロジェクトへのパッケージとビジュアル MIDlet の追加
- 「プロジェクト」ウィンドウで
LoginScreenExample プロジェクトを選択し、「ファイル」>「新規ファイル」(Ctrl-N) を選択します。「カテゴリ」から「Java」を選択します。「ファイルの種類」として「Java パッケージ」を選択します。「次へ」をクリックします。
- 「パッケージ名」フィールドに
loginscreenexample と入力します。「完了」をクリックします。
- 「プロジェクト」ウィンドウで
loginscreenexample パッケージを選択し、「ファイル」>「新規ファイル」(Ctrl-N) を選択します。「カテゴリ」にある「MIDP」を選択します。「ファイルの種類」として「ビジュアル MIDIlet」を選択します。「次へ」をクリックします。
- 「MIDlet 名」フィールドと「MIDP クラス名」フィールドに
LoginScreenExample と入力します。「完了」をクリックします。
LoginScreenExample へのコンポーネントの追加
- ビジュアル MIDlet を「フローデザイナ」ウィンドウに切り替えます。次のコンポーネントをコンポーネントパレットからドラッグし、フローデザイナにドロップします。
- スプラッシュ画面
- 待機画面
- ログイン画面
- 警告 (2 個)
- splashScreen をクリックし、「プロパティー」ウィンドウで「テキスト」プロパティーの値を「null」から「Login Screen Example」に変更します。
- 警告コンポーネントを右クリックし、ポップアップメニューから「名前を変更」を選択します。
- 「名前を変更」ダイアログボックスで「alertFailure」と入力して「了解」をクリックします。
- alert1 コンポーネントについて手順 3 と 4 を繰り返し、名前を「alertSuccess」に変更します。
- alertFailure コンポーネントに戻り、「プロパティー」ウィンドウで「文字列」プロパティーの値を「Error」に変更します。
- waitScreen コンポーネントをクリックし、「プロパティー」ウィンドウで「テキスト」プロパティーの値を「Please Wait...」に変更します。
- waitScreen コンポーネントの「プロパティー」ウィンドウで、「タスク」プロパティーの省略符号ボタン (
) をクリックします。
- 「タスク」ダイアログボックスで「追加」をクリックします。
task1 コンポーネントが追加されます。
- 「ソースへ移動」をクリックします。
ソースビューに getTask () メソッドのコードが表示されます。
- 「了解」をクリックして「タスク」ダイアログボックスを閉じます。
- ソースビューで // write task-execution user code here というセクションを探し、login(); に置き換えます。
- Ctrl+S キーを押して編集内容を保存します。
LoginScreenExample へのコマンドの追加
- 「フロー」ビューを開きます。
- コンポーネントパレットの「コマンド」セクションで終了コマンドを選択します。終了コマンドコンポーネントをフロービューの loginScreen コンポーネントにドラッグ&ドロップします。
コンポーネントの接続
フロービューで、モバイルデバイスの「起動」テキストをクリックし、splashScreen コンポーネントまでドラッグします。同様に、次の図に示すようにコンポーネントを接続します。
ソースコードの追加
- LoginScreenExample.java ソースコードの宣言セクションに
private boolean login = false; というコードを追加します。
- ソースコードの末尾に次のコードをペーストします。
private void login() throws IOException {
//URL
String url = "http://localhost:8084/LoginScreenExample/"
+ "?username=" + getLoginScreen().getUsername()
+ "&password=" + getLoginScreen().getPassword();
//alertSuccess をクリーンアップ
getAlert1().setString("");
//サーバーに接続
HttpConnection hc = (HttpConnection) Connector.open(url);
//認証
if (hc.getResponseCode() == HttpConnection.HTTP_OK) {
login = true;
}
//終了時...
hc.close();
//ログイン値に基づいて処理を実行
if (login) {
getAlert1().setString("Login Succesfull");
} else {
getAlert1().setString("Wrong Username or Password");
}
login = false;
}
このコードは、ユーザー名とパスワードに関する情報とともに要求をサーバーに送信し、ログイン処理に成功した場合に回答を受信します。Ctrl+Shift+I を押してソースコードのインポート文を修正できます。
プロジェクトの実行
クライアントアプリケーションを実行する前に、サーバー側アプリケーションが配備され、実行中であることを確認します。
モバイルクライアントアプリケーションを実行するには、「実行」>「主プロジェクトを実行」を選択するか、F6 キーを押して主プロジェクトを実行します。
ページの先頭へ
ログイン画面コンポーネントの Javadoc
NetBeans IDE には、ログイン画面コンポーネントや、VMD で使用できるその他のコンポーネントに関する API Javadoc が用意されています。ログイン画面コンポーネントの Javadoc を表示するには、次の手順を実行します。
- ソースコード内で LoginScreen コンポーネントにカーソルを合わせて Ctrl-Shift-スペースキーを押します (または、「ソース」>「ドキュメントを表示」を選択します)。
この要素の Javadoc がポップアップウィンドウに表示されます。
- ポップアップウィンドウで「外部 Web ブラウザにドキュメントを表示」アイコン (
) をクリックすると、LoginScreen コンポーネントの詳細情報がブラウザに表示されます。
ページの先頭へ
関連項目
ページの先頭へ