アットマーク・アイティ @IT@IT情報マネジメント@IT自分戦略研究所QA@ITイベントカレンダー  
 @IT > Master of IP Network > Mobile Connection > iアプリからデータベースへの接続を検証する(中編)
 

 

iアプリからデータベースへの接続を
検証する(中編)

―iアプリ作成に必要なDoCoMo UIの使用法―

古賀一平
ゼンテック・テクノロジー・ジャパン
2001/5/19

  前回(iアプリからデータベースへの接続を検証する(前編))は、iアプリを作成するために必要な環境の構築を行いました。今回は、iアプリを作成するにあたっての必要となる、DoCoMo UIの主要なクラス、メソッドについて解説します。

  基本的なUIの実現

1.導入

 実際にiアプリを作成するには、DoCoMo UIの使用方法を知らなければ不可能です。ここでは、主要なクラスおよびメソッドの使用方法を解説します。

2.Panelクラス

 高レベルAPIであるPanelクラスでは、数多くのコンポーネント(クラス)が提供されており、初めてiアプリを作成する方でも容易に作成できます。提供されているコンポーネントには、iアプリ特有のLabel、Button、TestBox、ListBox、ImageLabelなどがあります。また、Panelクラスにおいては画面をスクロールすることができ、イベントリスナーについてもComponentListenerが提供されており、Button押下時の処理などが簡単に作成できる点もこのクラスの特徴です。

(1)Labelクラス
 文字列を定義するコンポーネントです。
 LabelクラスのsetBackground、setForegroundメソッドを使用することにより、背景色や文字色を指定しています。

Label lbe = new Label("Test"); Labelコンポーネントの定義
lbe.setBackground(Graphics.getColorOfName
(Graphics.BLUE));
背景色定義
lbe.setForeground(Graphics.getColorOfName
(Graphics.BLUE));
文字色定義

(2)Tickerクラス
 ティッカーテープを定義するコンポーネントです。文字は右から左に流れます。流れるスピードなどは機種依存になります。

Ticker tc = new Ticker("Test"); Tickerコンポーネントの定義。文字列「Test」が画面上で流れます。
tc1.setBackground(Graphics.getColorOfName
(Graphics.BLUE));
背景色定義
tc1.setForeground(Graphics.getColorOfName
(Graphics.BLUE));
文字色定義

(3)Buttonクラス
 ボタンを定義するコンポーネントです。

Button btn = new Button("Test"); Buttonコンポーネントの定義
btn.requestFocus'(); ボタンにフォーカスセットをします。
btn.Enabled(false); ボタンを操作不可能にします(trueにすると操作可能となります)。

(4)TextBoxクラス
 文字を入力するためのテキストボックスを定義するコンポーネントです。

TextBox txt = new TextBox(null, 5 ,1 ,TextBox.DISPLAY_ANY); 初期文字列がNULL、けた数が5文字、行数が1列、入力文字列を可視で表示、を意味します。DISPLAY_ANYの代わりにDISPLAY_PASSWORDを指定すると、パスワード入力モードとなります。
String str = new String();
str = txt.getText();
入力されている文字列をString型で取り出します。
txt.setEnabled(false); テキストボックスを入力不可能にします。
txt.setInputMode(TextBox.KANA); テキストボックスの初期入力モードを漢字入力モードにします。TextBox.NUMBERは数字入力モード、TextBox.ALPHAはアルファベット入力モードとなります。

(5)ListBoxクラス
 リストボックスを定義するコンポーネントです。

ListBox lst = new _lbx1 = new ListBox(ListBox.RADIO_BUTTON); 空のリストボックスで、ラジオボタン形式を意味します。ほかにも複数選択できるListBox.MULTIPLE_SELECT、項目それぞれを選択/非選択を指定できるListBox.CHECK_BOXなどを指定できます。
lst.append("Test1"); リストボックスの末尾に項目を追加します。
String str = new String();
str = lst.getItem
(lst.getSelectedIndex());
選択されている項目の位置を取得し項目を返します。

(6)ImageLabelクラス
 イメージを定義するコンポーネントです。このイメージラベルでは、静止画像を表示します。

MediaImage img = MediaManager.getImage
("resource:///pics/main.gif");
メディアイメージをリソースから読み取っています。
img.use(); メディアイメージを使用可能にしています。
ImageLabel label
= new ImageLabel(img.getImage())
イメージラベルのインスタンスを生成しています。このときにメディアイメージをイメージラベルに読み込んでいます。

(7)addメソッド
 パネルにコンポーネントを追加するメソッドです。コンポーネントの追加される位置は機種依存となります。

add(lbe); Labelをパネルに追加します。
add(tc); Tickerをパネルに追加します。
add(btn); Buttonをパネルに追加します。
add(txt); TextBoxをパネルに追加します。
add(lis); ListBoxをパネルに追加します。
add(label); ImageLabelをパネルに追加します。

3.Canvasクラス

 Canvasクラスは、グラフィックスを描画するための画面領域であり、主にゲームなどを開発する際に多く用いられているようです。このクラスを使うことにより、画面に線や図形を任意に表示することができます。しかし、Panelクラスと違いスクロールさせることができません。また、このクラスでは高レベルAPIを使用することはできません。

(1)Dialogクラス
 ダイアログを定義するコンポーネントです。このクラスはPanelクラスでも使用することができます。

Dialog dlg = new Dialog(Dialog.DIALOG_ERROR, "Error"); タイプをダイアログエラー、タイトルを「Error」と定義しています。
dlg.setText("サーバに接続できません!!!!!"); 表示するメッセージ文字列を定義しています。
dlg.show(); ダイアログを画面に表示しています。

(2)paintメソッド
 キャンバスに描画するために使用するメソッドです。このメソッドは、キャンバスが表示されるタイミングで呼び出されます。以下は簡単な描画例です。

public void paint(Graphics g)
{
  g.lock();→表示画面をロックしています。
  g.clearRect(0,0,getWidth(),getHeight());→画面を初期化しています。
  g.setColor(g.getColorOfName(Graphics.BLACK));→描画色を黒に設定します。
  g.fillRect(0,0,getWidth(),getHeight());→画面を黒で塗りつぶしています。
  g.drawImage(_images[_frame],0,0);→X軸0、Y軸0の位置からイメージを貼り付けています。
  g.unlock(true);→表示画面のロック解除しています。
}

(3)repaintメソッド
 キャンバスを再描画するメソッドです。このメソッドなどで使用することにより、再度paintメソッド内の処理が行われます。以下は、Timerイベント内で再描画する際の例です。

public void timerExpired(Timer source)
{
  _frame=(_frame+1)%_images.length;
  repaint();
}

 次回は、実際にデータベースへの接続を行い、またいかにして効率のよいiアプリを作成していけばいいのかを解説します

「iアプリからデータベースへの接続を検証する 前編」

 



 


 
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

   
@ITトップMobile Connectionフォーラム トップ会議室利用規約プライバシーポリシーサイトマップ