■ MIDP用のアプリケーション
|
M1000でもMIDletが利用できる
|
「MIDlet」は、MIDP用に作られるプログラムです。
「MIDP」とは、ケータイ用語の第41回で解説しているように、モバイル情報機器プロファイルを意味する「Mobile Information Device Profile」の略で、携帯電話や携帯機器のプログラム実行環境である、Java2 Micro Editon(現在の名称はJava ME)のプロファイルです。
つまり、MIDletとは、携帯情報機器の中でも「MIDPに準拠したJava環境で使えるプログラム」ということになります。
MIDPは、auのEZアプリ(Java)や、ボーダフォンのVアプリで利用されています。また、NTTドコモの機種では、「FOMA M1000」がMIDPに対応しており、メモリに読み込まれるとM1000搭載のマイクロプロセッサが直接実行することができるネイティブアプリと、Java環境で動くMIDletの両方を利用することができます。
■ Java標準として定められているアプリケーションの形式
MIDPは、Javaの標準化を行っているコミュニティである「Java Community Process(JCP)」によって、MIDP 1.0がJSR 37として、MIDP 2.0がJSR 118として規格化されています。MIDletも、これらの規格によって、定められています。
この規格では、MIDletが必ず「javax.microedition.midlet.MIDlet」というクラスを継承して作られること、全てのクラスファイル(プログラム本体のファイル)が1つの圧縮ファイルの中にあることなども定められています。
MIDletは、携帯機器がアクセスできるメモリやネットワーク上に、JAR形式のファイル(Java Archive・Javaの標準的な圧縮形式)として置かれます。携帯機器は、JARファイルをを読み込んで、機器内で展開し、実行します。こうすることでメモリやネットワークの速度といった、モバイル機器では制約を受けるリソースを節約するようになっています。
また、javax.microedition.midlet.MIDletクラスでは、携帯機器に読み込まれて実行される場合、アプリを終了してリソースを破棄する手順なども定められています。こうすることで、どのアプリケーションも、プロセッサのパワーなど携帯機器のリソースを浪費することなく、協調して動作できるように工夫されているのです。
このほか、MIDP 2.0の規格を定めたJSR 118では、セキュリティのために、電子署名をMIDletに行なう方法なども定められています。
MIDletは、その仕様も開発用のツールも公開されているので、誰でも作成可能であり、他のユーザーに公開・提供することができます。
Javaの開発元であるサンマイクロシステムズからは、Java2 SE SDK、J2ME Wireless Toolkitといった開発ツールが、インターネット上で無料配布されています。これらの開発キットには、コンパイラのほか、アプリケーションの開発に必要なエミュレーション環境、マニュアル、およびサンプルアプリケーションが含まれているので、WindowsやLinuxでプログラムを書き、エミュレーターでMIDletの動作を確認してから、携帯電話向けにリリースできます。
なお、MIDletでは、MIDPの標準のみに従ったアプリケーションではなく、機種固有の機能を利用したアプリケーションを作成することも可能となっています。たとえば、ドコモの「M1000」であれば、MIDletからカメラなどのハードウエアや、Symbian OSの機能を利用することなども可能です。
そのようなMIDletを作成する場合には、一般的に、サンマイクロシステムズから提供されているSDKのほかに、携帯機器メーカーが提供しているSDKが別途必要となり、M1000の場合は、開発元であるモトローラから「FOMA M1000 SDK」が提供されています。「FOMA M1000 SDK」には、M1000用のエミュレーターなども用意されており、Wireless Toolkitに含まれるエミュレーターよりも、より実機に近い動作をするエミュレーターで、開発したプログラムのテストを行なうことが可能です。
■ URL
Java Technologies for WIRELESS(サンマイクロシステムズ)
http://sdc.sun.co.jp/java/wireless/
■ 関連記事
・ 第41回:MIDP(Mobile Information Device Profile)とは
・ ドコモ、M1000向けアドインアプリの開発資料を公開
(大和 哲)
2005/08/23 12:38
|