iアプリからデータベースへの接続を
検証する(中編)
―iアプリ作成に必要なDoCoMo UIの使用法―
古賀一平
ゼンテック・テクノロジー・ジャパン
2001/5/19
前回(iアプリからデータベースへの接続を検証する(前編))は、iアプリを作成するために必要な環境の構築を行いました。今回は、iアプリを作成するにあたっての必要となる、DoCoMo
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アプリを作成していけばいいのかを解説します
|