モバイル情報デバイスプロファイル
Mobile Information Device Profile(MIDP )は、携帯電話やPDAなどの組み込みデバイスでJavaを使用するために公開された仕様です。MIDPはJava Platform, Micro Edition(Java ME)フレームワークの一部であり、低レベルプログラミングインターフェース群であるConnected Limited Device Configuration (CLDC)を基盤としています。MIDPはJava Community Processの下で開発されました。最初のMIDPデバイスは2001年4月に発売されました。
一般的なAPI
コアとなるアプリケーションプログラミングインターフェースは、基盤となる接続限定デバイス構成システム によって定義されます
javax.microedition.io
I/O操作に使用されるJava ME固有のクラスが含まれています
javax.microedition.lcdui
GUIに使用されるJava ME固有のクラスが含まれています
LCDUIはシンプルな画面ベースのアプローチを採用しており、アプリケーションのユーザーインターフェースでは、常に1つのDisplayableがアクティブになっています。LCDUI APIは、モバイルデバイスのユーザーインターフェースでよく使われる、List、Alert、TextBox、Form、Canvasといった、いくつかのDisplayableを提供しています。デバイスのMIDP実装では、すべてのDisplayableの表示とレイアウトを制御できます。Canvasは低レベルのグラフィックサーフェスであり、アプリケーションはそこに描画されるものを完全に制御できますが、通常は、モバイルデバイスのUIでよく使われる画面タイトルやインジケーターなどのシステム領域のために、いくらかのスペースが確保されています。MIDP 2.0以降、Canvasはフルスクリーンモードもサポートしており、フルスクリーングラフィックの使用が可能になっています。これは特にゲームに便利です。[ 1 ]
LCDUI には、コマンドと呼ばれる、抽象操作の非常にユニークなアプローチもあります。表示可能オブジェクトに追加されたコマンドの配置は、このツールキットのデバイス実装に完全に依存します。アプリケーション プログラマは、API で指定されたコマンド タイプを使用して、アプリケーション ユーザー インターフェイスでのコマンドの使用法または目的を示します。一般的なタイプはBACK、、、、です。コマンド抽象化の考え方は、さまざまなモバイル デバイス間でのアプリケーションの移植性を高めることです。アプリケーション開発者はEXIT、コマンド タイプを適切に使用して操作の目的を示す必要があり、デバイス実装では、デバイス固有のユーザー インターフェイス スタイルで、指定されたタイプに対して共通の場所に操作を配置します。これは、たとえば、BACK コマンドの「戻るナビゲーション キー」のような特定のキーや、画面上のボタンである場合があります。 ITEMSCREEN
LCDUIの頭字語
LCDUIという頭字語は、実はJCPエキスパートグループ内のジョークでした。MIDP仕様では定義されていませんが、Limited Capability Device User Interface (限定機能デバイス・ユーザー・インターフェース)を意味します。(このジョークは、他に誰もそれが何の略なのかを本当に知らなかったというものでした。)後に、 『Programming Wireless Devices with the Java 2 Platform, Micro Edition』という書籍で、この定義が示されました
他にも、よく使われる擬似的な定義が登場しています。「Liquid Crystal Display User Interface (液晶ディスプレイ・ユーザーインターフェース) 」は、携帯電話が通常LCDを使用しているという事実を反映していますが、APIはこの特定のディスプレイ技術に特化しているわけではありません。また、「LCD UI」は、この特定のUIが可能な限りシンプルなデザインになっていることから、「 lowest common denominator(最小公分母)」の略であると言われています。
javax.microedition.rms
レコード管理システムは、 Java ME用の永続ストレージ、つまりモバイルデバイス用のデータベース を提供します
javax.microedition.midlet
Java MEアプリケーションの基本クラスが含まれており、アプリケーションに状態の変化を通知できます
オプションJSR
以下のJava仕様要求は、MIDP実装に追加して機能を追加できるオプションのJSRの一部です。オプションのJSRであるため、MIDP端末がこれらのAPIを実装する保証はありません
javax.microedition.messaging
SMSおよびMMSメッセージを送信するためのワイヤレスメッセージングAPI(オプション)。
javax.microedition.pim
個人情報管理API(オプション)。デバイスのアドレス帳、ToDoリスト、カレンダーにアクセスします
javax.microedition.io.ファイル
ファイル接続オプションパッケージ(FCOP)は、Java Community Processを通じてJSR 75で定義された2つのオプションパッケージの1つです。JSR 75で規定されているFileConnection APIは、PDAなどのデバイスのローカルファイルシステムへのアクセスを提供します。セキュリティ上の問題を克服するために、MIDletはJADファイルのMIDLet-Permissionプロパティに、要求されたファイル権限を含める必要があります。
開発ツール
MIDPアプリケーションを作成するには、いくつかの方法があります。プレーンテキストエディタでコードを記述することも、 NetBeans、IntelliJ(Java MEプラグインがバンドルされています)、Eclipse ( EclipseMEなどのプラグインが付属)などのより高度なIDEを使用することもできます。これらのIDEは、作成したフォームをグラフィカルにレイアウトするためのユーザーインターフェースを備えているほか、単純なテキストエディタでは利用できない多くの高度な機能も提供しています
MIDP 1.0 の制限
- MIDP 1.0にはアクティブなレンダリングAPIがありません
- MIDP 1.0は画像ピクセル(RGBデータ)への直接アクセスをサポートしていません。
- MIDP 1.0はフルスクリーンモードをサポートしていません
- MIDP 1.0 ではオーディオはサポートされていません。
- MIDP 1.0 では HTTP サポートのみが必要です。
- MIDP 1.0 ではキーの状態を照会できません (キーイベントはサポートされていますが)
- 仕様が必ずしも明確ではないため、実装に違いが生じます。
ベンダー固有の API または MIDP 2.0 を使用すると、アプリケーションの移植性が低下するいくつかの制限を回避できます。
歴史
MIDPはJavaコミュニティプロセスの下で開発されまし た
- MIDP 1.0 (JSR 37) - 2000年9月19日承認[ 2 ]
- MIDP 2.0 (JSR 118) - 2002年11月20日承認[ 3 ]
- MIDP 3.0 (JSR 271) - 2009年12月9日に承認[ 4 ]
MIDPはJava ME 8以降ME Embedded Profileに引き継がれました。[ 5 ]
参照
参考文献
- ^ Virkus, Robert編 (2005)、「Dancing Around Device Limitations」、Pro J2ME Polish: Open Source Wireless Java Tools Suite、カリフォルニア州バークレー: Apress、pp. 283– 323、doi : 10.1007/978-1-4302-0045-1_15、ISBN 978-1-4302-0045-1、 2024年12月4日閲覧
{{citation}}: CS1 maint: ISBNによる作業パラメータ(リンク) - ^ 「JSR 37:J2ME™プラットフォーム向けモバイル情報デバイスプロファイル」 。 2023年12月6日時点のオリジナルよりアーカイブ
- ^ “JSR 118: Mobile Information Device Profile 2.0” . 2023年12月8日時点のオリジナルよりアーカイブ。
- ^ “JSR 271: Mobile Information Device Profile 3” . 2023年10月4日時点のオリジナルよりアーカイブ。
- ^ 「JSR 361: Java™ ME Embedded Profile」 。2023年6月2日時点のオリジナルよりアーカイブ。
参考文献
- Ortiz, C. Enrique; Giguere, Eric (2001年1月15日)、『Java 2 Micro Edition向けモバイル情報デバイスプロファイル(第1版)』、John Wiley & Sons 、 352ページ 、ISBN 0-471-03465-7
外部リンク
- モバイル情報デバイスプロファイル(MIDP)(MIDP 2.0)
- JSR 271 コラボレーション ページ(MIDP 3.0)
- MIDP 2.0の新機能