Mobile Information Device Profile(モバイル インフォメーション デバイス プロファイル、略称MIDP)は、携帯電話やPDAのような組み込み機器でのJavaの利用について記述した仕様である。MIDPは Java ME フレームワークの一部である。MIDPはCLDCと組み合わせて利用する。

歴史 MIDPは以下の三種類がJCPの下で開発された。 JSR 37(MIDP 1.0) - 2000年9月19日承認 JSR 118(MIDP 2.0, 2.1) - 2002年11月20日承認 JSR 271(MIDP 3.0) - 2009年12月9日承認

日本での採用 日本ではau(ezplus、EZアプリ (Java)、オープンアプリプレイヤー)、ソフトバンクモバイル(S!アプリ)、ウィルコムで採用されている。NTTドコモのiアプリはMIDPでは無く、DoJaプロファイルである。

Lightweight User Interface Toolkit MIDP上で動く、高レベルなUIライブラリとして、Lightweight User Interface Toolkit (LWUIT)も提供されている。Swing風のAPIと機能を提供している。

開発ツール SDK としては、Java ME 全体の SDK として、Java ME SDK 3.0 が配布されている。

MIDPアプリケーションを開発するにはいくつかの異なった方法がある。コードはメモ帳のようなテキストエディタで記述するか、またGUIを持ったNetBeansまたはEclipse(適切なプラグインを組み込む)のような高度な統合環境を利用できる。また、MotorolaによってEclipseベースの統合開発環境「MOTODEV」が無償配布されている。

MIDP 1.0から存在するAPI コアAPIはConnected Limited Device Configuration(CLDC)コンフュギレーションを基礎として定義されている。

javax.microedition.io I/O操作に関してJava ME仕様クラスを含む。 javax.microedition.lcdui GUIで使用されるJava ME仕様クラスを含む。通常、携帯電話は液晶ディスプレイ(LCD)を使用するためLCD UIと呼ばれる。 このAPIは固有のディスプレイ技術用に特化しているわけではない。 javax.microedition.rms Java ME用の永久ストレージの操作を含む。 javax.microedition.midlet Java MEアプリケーションの基本クラスを含む。

MIDP 2.0で追加されたAPI MIDP 2.0ではゲームおよびマルチメディアAPIの導入といくつかのオプションパッケージが追加された。

javax.microedition.media マルチメディア再生に関する基本クラスを含む。おそらくJSR 135であるJava Mobile Media APIのサブセットがある。 javax.microedition.lcdui.game 簡単な2Dスプライトをベースとしたゲームを支援するゲームAPI。 javax.microedition.pki セキュアな接続に関する証明API。

MIDP 1.0 の制約 MIDP 1.0はキー状態の取得ができない。MIDP 1.0はアクティブレンダリングAPIを持っていない。MIDP 1.0はオーディオをサポートしていない。MIDP 1.0はHTTPだけサポートしている。仕様に実装の自由があるため、実装において違いが生じる。

外部リンク

JSR 37 (MIDP 1.0) JSR 118 (MIDP 2.0) JSR 271 (MIDP 3.0)