Connected Limited Device Configuration ( CLDC ) は、Java MEアプリケーションのフレームワークの仕様であり、実装に必要なライブラリと仮想マシン機能の基本セットを記述しています。CLDC は 1 つ以上のプロファイルと組み合わされ、ポケットベルや携帯電話などのリソースが非常に限られた組み込みデバイス上でアプリケーションを構築するためのプラットフォームを開発者に提供します。[1] CLDC は、 Java Community Processの下でJSR 30 [2] (CLDC 1.0) および JSR 139 [3] (CLDC 1.1)として開発されました。
一般的な要件
CLDCは、処理能力、メモリ、グラフィック機能が制限されたデバイス向けに設計されています。デバイスには通常、次の機能があります。[1]
- クロック速度が16MHz以上の 16ビットまたは32ビットCPU
- CLDCライブラリと仮想マシン用に少なくとも 160KBの ROMが割り当てられている
- Java プラットフォームで使用可能なRAM の合計は少なくとも 8 KB
- 消費電力が低く、バッテリー電源で動作する場合が多い
- 何らかのネットワークへの接続(多くの場合、ワイヤレス、断続的な接続、限られた帯域幅)
注目すべき制限
Java SE環境と比較すると、いくつかの API は完全に存在せず、一部の API は変更されているため、CLDC をサポートするにはコードに明示的な変更が必要です。特に、特定の変更はクラスやインタフェースが存在しないだけでなく、実際に基本クラス ライブラリ内の既存のクラスのシグネチャを変更します。この例として、Serializableリフレクションの使用に関する制限により基本クラス ライブラリに表示されないインタフェースが存在しないことが挙げられます。したがって、java.lang.*通常実装するすべてのクラスは、このタグ付けインタフェースSerializableを実装しません。
その他の制限の例は、CLDCのバージョン1.1で一部の機能が再導入されたため、使用されているバージョンによって異なります。[4]
CLDC 1.0 および 1.1
- インターフェース
Serializableはサポートされていません。 - Java 標準エディションのリフレクション機能の一部:
- パッケージとそのクラスはサポートされていません
java.lang.reflect。 - コンストラクター、メソッド、またはフィールドを取得するメソッド
java.lang.Class。
- パッケージとそのクラスはサポートされていません
- ファイナライズなし。CLDC には
Object.finalize()メソッドが含まれていません。 - エラー処理は制限されています。ランタイム以外のエラーは、アプリケーションを終了するか、デバイスをリセットすることによって処理されます。
- ユーザー定義のクラスローダーはありません
- スレッド グループまたはデーモン スレッドはありません。
プロフィール
プロファイルとは、CLDCフレームワーク内でさまざまな機能とリソースを持つデバイスをサポートし、完全なJavaアプリケーション環境を提供するAPIのセットです。自動販売機からセットトップボックスまで、さまざまなデバイスに固有のプロファイルがあり、携帯電話のプロファイルMIDPが最も普及しています。[5]
モバイル情報デバイスプロファイル
モバイル情報デバイスプロファイルは、携帯電話用に設計されたプロファイルです。MIDPには、JSR 37 [6] [7] (MIDP 1.0) とJSR 118 [8] [9] (MIDP 2.0) で規定された2つのバージョンがあります。どちらのバージョンもLCD指向のGUI APIを提供し、MIDP 2.0には基本的な2DゲームAPIが含まれています。このプロファイルを使用するように書かれたアプリケーションはMIDletと呼ばれます。多くの携帯電話にはMIDP実装が付属しており、ダウンロード可能な携帯電話ゲームの人気のプラットフォームとなっています。[10]
情報モジュールプロファイル
情報モジュールプロファイルはJSR 195 [11]で規定されており、自動販売機、ネットワークカード、ルーター、電話ボックス、およびディスプレイが単純またはディスプレイがなく、何らかの形で制限された双方向ネットワークアクセスを備えたその他のシステム向けに設計されています。アプリケーションの作成、ストレージ、およびネットワークアクセス用のAPIのみが定義されています。これらは、MIDPのjavax.microedition.io、rms、およびmidletパッケージのサブセットです。Siemens MobileとNokiaは、この仕様をJCPに提案しました。
DoJaプロフィール
DoJaプロファイルは、NTT ドコモがi モード携帯電話用に設計しました。
デジタル セットトップ ボックス プロファイル
JSR 242 [12]で規定されているデジタルセットトップ ボックスプロファイルは、ケーブル市場向けに設計されています。OnRamp とも呼ばれるこのプロファイルは、セットトップ ボックスや類似のデバイス用のアプリケーション開発用の API セットを定義するOpenCable Application Platform ( OCAP )のサブセットに基づいています。このプロファイルは、 AWT、Xlet 、ファイル アクセス、ネットワーク APIのサポートを含むCDC Personal Basis Profileのサブセットと、OCAP のメディア関連インターフェイスで構成されています。プロファイル全体には、31 個の Java パッケージと約 1500 個の API が含まれていました。[5]
オプションパッケージ
PDAオプションパッケージはJSR-75 [13]で規定されており、 PalmやWindows CEデバイスなどのPDA向けに設計されています。この仕様では、多くのPDAやその他のモバイルデバイスに搭載されている重要な機能を表す2つの独立したパッケージが定義されています。これらのパッケージは次のとおりです。
- 個人情報管理(PIM) は、アドレス帳、カレンダー、ToDo リストに含まれる個人情報管理データにデバイスがアクセスできるようにします。
- ファイル システムや外部メモリ カードなどのリムーバブル ストレージ デバイスへのアクセスを可能にするFileConnection (FC)。
一般的なAPI
java.io- 入出力操作を行うための標準エディションに含まれる java.io パッケージの簡素化されたバージョンです。
java.lang- Java 言語に不可欠なクラスが含まれています。このパッケージには、整数や文字列などの標準 Java 型のほか、基本的な例外、数学関数、システム関数、スレッドおよびセキュリティ関数が含まれています。
java.util- コレクション ライブラリの簡素化されたバージョン。このパッケージには、 VectorやHashtable
java.utilなどのコレクション クラスが含まれています。また、カレンダー クラスと日付クラスも含まれています。
参照
- Connected Device Configuration(CDC)は、Java MEアプリケーションを構築するための別のフレームワークです。
参考文献
- ^ ab CLDC 概要 http://java.sun.com/javame/technology/cldc/overview.jsp
- ^ JSR 30、CLDC 1.0 http://www.jcp.org/en/jsr/detail?id=30
- ^ JSR 139、CLDC 1.1 http://www.jcp.org/en/jsr/detail?id=139
- ^ J2ME API: どの API が J2SE プラットフォームから来ているのでしょうか? http://developers.sun.com/mobility/midp/articles/api/
- ^ ab CLDC ベースのプロファイルの概要 http://developers.sun.com/mobility/midp/ttips/cldc/
- ^ JSR 37、MIDP 1.0 http://www.jcp.org/en/jsr/detail?id=37
- ^ MIDP 1.0 API http://java.sun.com/javame/reference/apis/jsr037/
- ^ JSR 118、MIDP 2.0 http://www.jcp.org/en/jsr/detail?id=118
- ^ MIDP 2.0 API http://java.sun.com/javame/reference/apis/jsr118/
- ^ Pocketgamer.co.uk モバイル プラットフォーム機能 http://www.pocketgamer.co.uk/r/Mobile/feature.asp?c=1266
- ^ JSR 195、情報モジュールプロファイル http://www.jcp.org/en/jsr/detail?id=195
- ^ JSR 242、デジタル セットトップ ボックス プロファイル http://www.jcp.org/en/jsr/detail?id=242
- ^ JSR 75、PDA オプション パッケージ http://www.jcp.org/en/jsr/detail?id=75
外部リンク
- CLDCホームページ
- ESRコンソーシアム
- OSGiベースのCLDCフレームワーク
