特集
» 2007年12月28日 14時38分 公開

Embedded Programing Bible:LinuxでのJ2MEアプリケーション構築法 (2/4)

[Simos-Xenitellis,Open Tech Press]
SourceForge.JP Magazine

HelloWorldミッドレットの作成

 ミッドレットの構築作業は、WTKを起動して新規プロジェクトを作成することから始まる。ここではProject NameとMIDlet Class NameをともにHelloWorldと入力してプロジェクトを作成する。その際に表示されるダイアログでは、ターゲットとなるプラットフォームを選択しておかなければならない。デフォルトオプションであるMSAを選択するとプロファイルにはMIDP 2.1が適用されるが、これは最新の携帯電話で使用することを前提にした設定である。この設定下で作られるミッドレットはMIDP 2.1をサポートしていない携帯電話では実行できないので、そうした携帯電話の場合は、Customを選択してターゲットとなるプラットフォームを指定し、そこでサポートされているプロファイルを選び直さなくてはならない。

 わたしの場合も、所有する携帯電話の仕様を先のGSMArenaページで確認したところ、MIDP 2.0のプロファイルを適用しなければならなかった。仮に間違ったプロファイル設定のままミッドレットを作成したとすると、携帯電話での実行時には無効なミッドレットであるという旨の簡単なメッセージが出されるだけで、そのほかの詳細情報は提示されないケースが多いため、この段階でこうした確認作業を行っておくことは非常に重要である。そのほかのオプションについてはデフォルト設定のままで問題ないはずだ。

 この場合のWTKによるプロジェクトスケルトンの作成先は~/j2mewtk/2.5.2/apps/HelloWorld/となる。プロジェクトをビルドするにはsrc/サブディレクトリにソースコードのファイルを用意しておかなくてはならない。ここではsrc/HelloWorld.java ファイルを作成し、その中には後記のコードを記述しておく。


        // Sample adapted from http://developers.sun.com/mobility/midp/articles/wtoolkit/
        import javax.microedition.lcdui.*;
        import javax.microedition.midlet.*;
        public class HelloWorld
        extends MIDlet
        implements CommandListener
        {
        private Form mMainForm;
        public HelloWorld()
        {
        mMainForm = new Form("HelloWorld");
        mMainForm.append(new StringItem(null, "Hello, World!"));
        mMainForm.addCommand(new Command("Exit", Command.EXIT, 0));
        mMainForm.setCommandListener(this);
        }
        public void startApp()
        { Display.getDisplay(this).setCurrent(mMainForm); }
        public void pauseApp() {}
        public void destroyApp(boolean unconditional) {}
        public void commandAction(Command c, Displayable s)
        { notifyDestroyed(); }
        }

 次にWTKに戻り、BuildおよびRunの順番でボタンをクリックする。そしてエミュレータ上でミッドレットの起動ボタンをクリックすると、携帯電話エミュレータの画面にHello, World!という文字列が表示されるはずだ。

関連キーワード

Java | Linux | Bluetooth | オープンソース | 組み込み


Copyright © 2010 OSDN Corporation, All Rights Reserved.

注目のテーマ

マーケット解説

- PR -