Mobile Information Device Profile
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だけサポートしている。仕様に実装の自由があるため、実装において違いが生じる。