携帯 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 / Star | 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://creation.mb.softbank.jp/
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 リンク集
iアプリ開発Tips
NTT DoCoMo Star プロファイルに関するまとめ : http://www28.atwiki.jp/f-01a/pages/38.html
Java VM
Java VM Implementations リンク集 : http://www.ingrid.org/java/vm/
携帯 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