携帯 Java とは
J2ME ( Java 2 Platform, Micro Edition ) は、組込みソフト開発ための Java プラットフォームです。
J2ME の中でも CLDC ( Connected Limited Device Configuration ) は、CPU やメモリなどハードウェア制約が厳しい携帯電話向け Java 実行環境です。
携帯 Java の仕様
NTT ドコモの J2ME / CLDC プロファイルは DoJa です。au や SoftBank、WILLCOM、海外キャリアが採用する J2ME / CLDC プロファイルは MIDP ( Mobile Information Device Profile ) です。
| キャリア | J2ME / CLDC プロファイル | サービスの名称 |
|---|---|---|
| NTT DoCoMo | DoJa | i アプリ |
| au | MIDP | EZアプリ ( Java ) / オープンアプリ ( Java ) |
| SoftBank | MIDP | S! アプリ |
| WILLCOM | MIDP | Java アプリ |
※ DoJa や MIDP のプロファイルにはバージョンの違いがあります。
携帯 Java 開発キット
携帯 Java 開発キットは下記 URL からダウンロードできます。
NTT DoCoMo
http://www.nttdocomo.co.jp/service/imode/make/content/iappli/index.html
au
EZ アプリ ( Java ) : http://www.au.kddi.com/ezfactory/tec/spec/ezplus.html
オープンアプリ ( Java ) : http://www.au.kddi.com/ezfactory/tec/spec/openappli.html
SoftBank
http://developers.softbankmobile.co.jp/dp/tool_dl/java/
WILLCOM
J2ME Wireless Toolkit 2.2 を利用します。
エミュレータ用スキン
- W-ZERO3 用 : http://www.saturn.dti.ne.jp/~npaka/kvm/midp2/
- WX310SA 用 : http://www.geocities.jp/willcomjavan/filesindex.html
携帯 Java アプリの構成
携帯 Java アプリは、プログラムをコンパイルしパッケージ化した JAR ファイルと、アプリ名やサイズなどのプロパティを記述した ADF ファイルから構成されます。
プロファイルの違い : DoJa と MIDP
アプリクラスと呼ばれるエントリポイントは異なりますが、メソッド定義は同じです。ADF ファイルの拡張子は、DoJa は JAM、MIDP は JAD です。
| プロファイル | アプリクラス | UI クラス | ADF ファイル拡張子 |
|---|---|---|---|
| DoJa | IApplication | Panel | JAM |
| MIDP | MIDlet | Form | JAD |
※ スレッド、ローカルリソースファイルへのアクセスなど、CLDC レベルの機能は、プロファイルが違っても共有できます。 メモリ保存やユーザインタフェースなど、プロファイルレベルの機能は、異なるプロファイル間で共有できません。
携帯 Java プログラム と ADF ファイルの例
// DoJa でのHelloWorld
import com.nttdocomo.ui.*;
public class HelloWorldApplication extends IApplication {
public HelloWorldApplication() {}
public void start() {
Panel panel = new Panel();
panel.add(new Label("HelloWorld"));
Display.setCurrent(panel);
}
}
// JAM ファイル LastModified = Mon, 30 May 2005 16:44:40 AppClass = HelloWorldApplication AppName = HelloWorldApplication PackageURL = HelloWorld.jar AppSize = 471
// MIDP での HelloWorld
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class HelloWorldApplication extends MIDlet {
public HelloWorldApplication() {}
protected void destroyApp(boolean unconditional) {}
protected void pauseApp() {}
public void startApp() {
Form form = new Form("");
form.append("HelloWorld");
Display.getDisplay(this).setCurrent(form);
}
}
// JAD ファイル MIDlet-Jar-Size: 951 MIDlet-Jar-URL: HelloWorld.jar MIDlet-Name: HelloWorld MIDlet-Vendor: Sophia Cradle, Inc. MIDlet-Version: 1.0 MicroEdition-Configuration: CLDC-1.0 MicroEdition-Profile: MIDP-1.0 MIDlet-1: HelloWorld,,HelloWorldApplication



















