接続された限定デバイス構成

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 ]

注目すべき制限

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)は、携帯電話向けに設計されたプロファイルです。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 MobileNokiaがこの仕様をJCPに提出しました。

DoJaプロフィール

DoJaプロファイルは、 NTT ドコモがi モード携帯電話用に設計しました。

デジタルセットトップボックスプロファイル

JSR 242 [ 12 ]で規定されているデジタルセットトップボックスプロファイルは、ケーブル市場向けに設計されています。OnRampとも呼ばれるこのプロファイルは、セットトップボックスなどのデバイス向けアプリケーション開発用のAPIセットを定義するOpenCable Application PlatformOCAP )のサブセットに基づいています。このプロファイルは、 AWTXlet 、ファイルアクセス、ネットワークAPIのサポートを含むCDC Personal Basis Profileのサブセットに加え、OCAPのメディア関連インターフェースもいくつか含まれています。プロファイル全体では、31個のJavaパッケージと約1500個のAPIが含まれています。[ 5 ]

オプションパッケージ

PDAオプションパッケージはJSR-75 [ 13 ]で規定されており、 PalmWindows CEなどのPDA向けに設計されています。この仕様では多くのPDAやその他のモバイルデバイスに搭載されている重要な機能を表現する2つの独立したパッケージが定義されています。これらのパッケージは以下のとおりです。

  • 個人情報管理(PIM) は、アドレス帳、カレンダー、ToDo リストに含まれる個人情報管理データにデバイスがアクセスできるようにします。
  • ファイル システムや外部メモリ カードなどのリムーバブル ストレージ デバイスへのアクセスを可能にするFileConnection (FC)。

一般的なAPI

java.io
入出力操作を行うための標準エディションに含まれる java.io パッケージの簡素化されたバージョンです。
java.lang
Java言語に不可欠なクラスが含まれています。このパッケージには、整数や文字列などの標準的なJava型に加え、基本的な例外、数学関数、システム関数、スレッド関数、セキュリティ関数が含まれています。
java.util
コレクションライブラリの簡素化されたバージョンです。このパッケージには、 VectorHashtablejava.utilなどのコレクションクラスが含まれています。また、カレンダーと日付のクラスも含まれています。

参照

参考文献

  1. ^ a b CLDC の概要http://java.sun.com/javame/technology/cldc/overview.jsp
  2. ^ JSR 30、CLDC 1.0 http://www.jcp.org/en/jsr/detail?id=30
  3. ^ JSR 139、CLDC 1.1 http://www.jcp.org/en/jsr/detail?id=139
  4. ^ J2ME API: どの API が J2SE プラットフォームから来ているのでしょうか? http://developers.sun.com/mobility/midp/articles/api/
  5. ^ a b CLDC ベース プロファイルの概要http://developers.sun.com/mobility/midp/ttips/cldc/
  6. ^ JSR 37、MIDP 1.0 http://www.jcp.org/en/jsr/detail?id=37
  7. ^ MIDP 1.0 API http://java.sun.com/javame/reference/apis/jsr037/
  8. ^ JSR 118、MIDP 2.0 http://www.jcp.org/en/jsr/detail?id=118
  9. ^ MIDP 2.0 API http://java.sun.com/javame/reference/apis/jsr118/
  10. ^ pocketgamer.co.uk モバイルプラットフォーム機能http://www.pocketgamer.co.uk/r/Mobile/feature.asp?c=1266
  11. ^ JSR 195、情報モジュールプロファイルhttp://www.jcp.org/en/jsr/detail?id=195
  12. ^ JSR 242、デジタルセットトップボックスプロファイルhttp://www.jcp.org/en/jsr/detail?id=242
  13. ^ JSR 75、PDA オプション パッケージhttp://www.jcp.org/en/jsr/detail?id=75