なんでもそうなのですが、触ったことのないプラットフォームのアプリを作成する場合、いつも僕はHelloWorldアプリを作ります。まずはとっつきやすいHelloWorldアプリで感触を掴んでいきたいと思います。
プロジェクトの作成
新規プロジェクトを選択します。DoJa-5.1アプリを作成したいので、一覧から「DoJa-5.1 プロジェクト」を選択します。
プロジェクト名は、適当にHelloDoJaとでもして終わりです。
画面を描画するViewクラス
Windows Mobileアプリの様にFormをペタペタというわけにはいきません。「Hello World」を描画するのにCanvasクラスを継承してpaintメソッド内で、ガリガリ文字列描画を行います。
ソースの中身は、以下の様にしました。
package jp.softbuild; import com.nttdocomo.ui.Canvas; import com.nttdocomo.ui.Graphics; public class MainCanvas extends Canvas { public void paint(Graphics arg0) { arg0.drawString("Hello DoJa!", 0, 0); } }
Windows Mobileで言えば、コントロールクラスを継承してOnPaintメソッドの中でガリガリ描画するのに近い印象。これを全部のViewで行うと考えたら辛いですね・・・。Labelクラスとかがあったので、もしかしたらペタペタに近い感覚で描画させる事は可能かもしれません。あとで調べる。
エントリポイントとなるクラスを生成
まずはiアプリを起動出来る様に、エントリポイントとなるクラス(C#とかでいうところのMain)を作成します。
ソースの中身は、以下の様にしました。
package jp.softbuild; import com.nttdocomo.ui.IApplication; // for Display import com.nttdocomo.ui.Display; // for Frame import com.nttdocomo.ui.Frame; public class Main extends IApplication { public void start() { Frame frame = new MainCanvas(); Display.setCurrent(frame); } }
エントリポイントを設定する
パッケージ・エクスプローラーからプロジェクトを指定して、Eclipseの[プロジェクト]→[DoJa5.1]→[プロジェクト設定]で、プロジェクト設定ダイアログを表示させます。
ADF/トラステッド動作設定から以下の項目を設定します。
AppName | HelloDoJa |
AppClass | jp.softbuild.Main |
こんな感じになったかと思います。
それぞれの意味は、以下の通りです。
- AppName: 必須キー
- iアプリ名(最大16 バイト)。携帯電話でiアプリ一覧を表示させた際に、ここに指定された名前が表示されます。SJIS で日本語名を指定することができます。
- AppClass: 必須キー
- iアプリの起動に使われるメインクラス名(フルパッケージ名付き・最大255 バイト)。ASCII 文字のみ指定可能です。