実行しよう

そいでは、さっそく簡単なプログラムを作って実行してみましょう。


DoJa の起動

スタートメニューからKToolBarを起動します。

プロジェクト作成

メニューからファイル>新規を選択します。 プロジェクト名を入力し、プロジェクトの生成をクリックします。 ここではプロジェクト名をHelloWorldとします。 エクスプローラを開いて、以下のディレクトリをのぞいてみましょう。 C:\J2MEWSDK4DOJA\apps 先ほど作成したHelloWorldというプロジェクトのディレクトリが作成されてます。

ソースファイルの作成

さらにHelloWorldディレクトリの中を見てみましょう。 bin res src という3つのディレクトリが作成されています。 ソースファイルはsrcファイルの中に作成します javaファイルを新規作成します(右クリック>新規作成)。 ここではファイル名をHelloWorld.javaとします。 DOSと違って大文字小文字の区別があるので注意しましょう。 HelloWorld.java をテキストエディタ(メモ帳、秀丸など)で開き、 以下のプログラムを入力しましょう。 画面に"Hello World!"と表示するだけのプログラムです。 ソースはこちら
//パッケージのインポート import com.nttdocomo.ui.*; //テストiアプリケーション public class HelloWorld extends IApplication { TestCanvas testCanvas; //テストキャンバスクラス //iアプリ起動時に呼ばれる public void start() { testCanvas = new TestCanvas(); //インスタンス Display.setCurrent(testCanvas); //画面にセット } } //テストキャンバスクラス class TestCanvas extends Canvas { //描画時に呼ばれる public void paint(Graphics g) { g.drawString("Hello World!", 10,10); //"Hello World"とX=10 Y=10の位置に書け } }
このプログラムは、HelloWorldという名前のアプリケーションで、 TestCanvasというキャンバスを使って、文字を表示しています。 コードの意味は後回しにして、とりあえずプログラムを動かしてみましょう。

ビルド

プログラムの実行ファイルを作成します。 ビルドボタンを押します。 ビルド中 "HelloWorld" Wrote C:\J2MEWSDK4DOJA\apps\HelloWorld\bin\HelloWorld.jar Wrote C:\J2MEWSDK4DOJA\apps\HelloWorld\bin\HelloWorld.jam ビルドは完了しました というメッセージが表示されたら、正常にビルド成功です。 エラーが出た場合は、ソースをチェックしましょう。 めんどくさいときは、コピーしてください。

プロジェクトの設定

さあ、実行だ。ってちょっと待って。 一部設定が必要です。 メニュー>プロジェクト>アプリケーションの属性設定 を選択します。 真ん中あたりのAppClassの属性値にHelloWorldと入力します。 どのクラスからプログラムを開始するかを設定しています。 了解ボタンを押します。 プロジェクトの設定は保存されましたと表示されると設定完了です。

実行

さあ、実行です。 実行ボタンを押します。 新しいウィンドウが開き、携帯電話が表示されます。 画面に"Hello World!"と表示されましたね。 なんと簡単に実行できました! 便利な世の中になったものです。。。

コードの説明

動いたところで、コードの意味について簡単に見てみましょう。 import com.nttdocomo.ui.*; 使用するクラスのパッケージをインポートしています。 com.nttdocomo.ui.IApplication com.nttdocomo.ui.Display com.nttdocomo.ui.Canvas の3つのクラスを使っています。 public class HelloWorld extends IApplication HelloWorldクラスを宣言しています。 IApplicationクラスを継承しています。 iアプリのアプリケーションはこのIApplicationを継承して作成します。 TestCanvas testCanvas; TestCanvasクラス(自分で作ったクラス。下記)のインスタンスを宣言しています。 public void start() IApplication のアプリケーション開始時に呼ばれるメソッドです。 IApplication の abstract メソッドをオーバーライドしています。 とりあえず必ず書かなければいけません。 testCanvas = new TestCanvas(); TestCanvasオブジェクトのインスタンスを作成しています。 Display.setCurrent(testCanvas); DisplayクラスのstaticメソッドsetCurrentを使って、 testCanvasを画面に設定しています。 class TestCanvas extends Canvas 自作クラス TestCanvas を Canvasクラスを継承して宣言しています。 Canvasクラスは文字や絵を表示するためのクラスです。 public void paint(Graphics g) 描画時に呼ばれるメソッドです。 Canvasクラスのメソッドをオーバーライドしています。 g.drawString("Hello World!", 10,10); "Hello World!" という文字列を X=10、Y=10 の位置に表示してくれ。 という意味です。 Graphics クラスのメソッドを使用しています。 とりあえず、上の赤文字のところは憶えておきましょう。 もう一つ補足。 ビルドについてですが、 ビルドボタンを押すだけで以下の作業をDoJaが自動的にやってくれています(便利!) ●コンパイル ●preverify ●jarファイルの作成 ●jamファイルの作成 ●jamファイルの設定(AppSizeなどの自動設定)