Java Platform, Micro Edition

Javaのエディション

Javaカード
Java ME (Micro)
Java SE (Standard)
Jakarta EE
JavaFX
テンプレートを表示

Java Platform, Micro Edition (Java ME) は携帯電話、PDA、テレビのようなリソースが制限されたデバイスにおけるJavaの小型セット。JSR 68 で規定されている。当初は、Java 2 Platform, Micro Edition (J2ME) という名称だった。

## コンフィギュレーションとプロファイル

[編集]

様々なデバイスに対応するため、コンフィギュレーションとプロファイルと呼ばれるものでAPIを定義している。コンフィギュレーションには次の2つがある。

* Connected Limited Device Configuration (CLDC)
* Connected Device Configuration (CDC)

## Connected Limited Device Configuration (CLDC)

[編集]

→「Connected Limited Device Configuration」も参照

携帯電話のような非力なCPUを対象とする。 Java VMから新たにKVM (Kilobyte Virtual Machine) を開発し、Java Platform, Standard Edition (Java SE) とは一部互換性がないものの最小限の機能で動作するようにしたもの。 次のようなプロファイルがある。

### Mobile Information Device Profile (MIDP)

[編集]

→「Mobile Information Device Profile」も参照

携帯電話で最も広く普及しているプロファイル。最新の仕様はJSR 271: Mobile Information Device Profile 3、3世代目のMobile Information Device Profile (MIDP3)。そのなかで、全体的な機能拡張の他、デバイス間の相互接続性も拡張されている。MIDP3では、MIDP2の後方互換性も保たれている。

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

### DoJaプロファイル、Starプロファイル

[編集]

→「DoJaプロファイル」も参照

NTTドコモ社の携帯電話上で実行するJavaアプリケーションのためのプロファイル。

### Information Module Profile

[編集]

Information Module Profile (IMP) は、自動販売機や組み込み向け産業機器、セキュリティシステム、シンプルでディスプレイを持たず、ネットワークへの接続が限定されているような組み込みデバイスのためのプロファイルである。もともとは、Siemens MobileとNokiaによって、JSR-195として導入され、IMP 1.0は、MIDP 1.0からユーザインターフェースAPIを除いたサブセットである。

## Connected Device Configuration (CDC)

[編集]

→「Connected Device Configuration」も参照

Connected Device Configurationは、Java SEのサブセットで、その中には、GUI関係を除く、ほとんど全てのライブラリが入っている。CLDCよりもリッチな仕様である。 カーナビやセットトップボックスなどの中程度の能力をもったCPUを対象にする。

### Foundation Profile

[編集]

Foundation Profileは、Java ME Connected Device Configuration (CDC) プロファイルのひとつである。 このプロファイルは、Java Platform, Standard Edition API全てが実行できるJava仮想マシンを必要とするデバイスで使用することを目的としている。 典型的な実装では、追加のプロファイルのサポートに応じて、そのAPIのサブセットを使用する。 この仕様は、Java Community Processのもので開発されている。

### Personal Basis Profile

[編集]

Personal Basis Profileは、Foundation Profileを拡張したもので、軽量なGUI (AWTのサブセット) が含まれている。

### Personal Profile

[編集]

Personal Profileは、Personal Basis Profileをさらに拡張したもので、より完全なAWTのサブセットとJavaアプレットサポートが含まれている。

## 携帯電話でのアプリの互換性

[編集]

日本の携帯電話ではau（KDDI・沖縄セルラー電話連合）のEZアプリ (Java)、SoftBank(ソフトバンク)のS!アプリ、WILLCOMのJavaアプリがMIDPを採用しており、NTTドコモのiアプリは同社が独自に作成したDoJaプロファイルやStarプロファイルを使っている。各社の機能が少しずつ違うため、現状では互換性は少ない。

## 開発方法

[編集]

開発は Java SE 上でMicro Edition用の開発ツールを組み合わせて行う。 APIも必要なものに限って実装する。

### 開発ツールの例

[編集]

* Java ME SDK
* Sun ONE Studio 4 Mobile Edition
* SophiaCompress(Java)：携帯Javaアプリ圧縮ツール

Java MEアプリケーションのサイズを実行形式 (JAR形式) のまま軽量化するJavaアプリ圧縮ツール。

* NetBeans IDE開発環境 60MBぐらいの本体を入れた後にnetbeans_mobilityをインストールするだけで開発環境が整う

## JSR (Java Specification Requests)

[編集]

### 基礎

[編集]

JSR 番号 | 名称 | 備考

|
|

68 | J2ME Platform Specification |
30 | CLDC 1.0 |
37 | MIDP 1.0 |
118 | MIDP 2.0 |
139 | CLDC 1.1 |
271 | MIDP 3.0 |
360 | CLDC 8 |
361 | Java ME Embedded Profile 8 |

### 主要な拡張

[編集]

JSR 番号 | 名称 | 備考 | MSA

|
|
|

75 | File Connection and PIM | ファイルシステム・アドレス帳・カレンダー・TODO |
82 | Bluetooth |  |
120 | Wireless Messaging API (WMA) |  |
135 | Mobile Media API (MMAPI) | 音声・動画 |
172 | Web Services |  |
177 | Security and Trust Services |  |
179 | Location API |  |
180 | SIP API |  |
184 | Mobile 3D Graphics API | 高レベル3Dグラフィックス |
185 | Java Technology for the Wireless Industry (JTWI) |  |
205 | Wireless Messaging 2.0 (WMA) |  |
211 | Content Handler API |  |
226 | Scalable 2D Vector Graphics API for J2ME |  |
228 | Information Module Profile - Next Generation |  |
229 | Payment API |  |
234 | Advanced Multimedia Supplements (AMMS) | MMAPI 拡張 |
238 | Mobile Internationalization API |  |
239 | Java Bindings for the OpenGL ES API |  |
248 | Mobile Service Architecture |  |
253 | Mobile Telephony API |  |
256 | Mobile Sensor API |  |
257 | Contactless Communication API |  |
258 | Mobile User Interface Customization API |  |
272 | Mobile Broadcast Service API for Handheld Terminals |  |
280 | XML API for Java ME |  |
281 | IMS Services API |  |
287 | Scalable 2D Vector Graphics API 2.0 for Java ME |  |
293 | Location API 2.0 |  |
298 | Telematics API for Java ME |  |
300 | DRM API for Java ME |  |
325 | IMS Communication Enablers |  |

### 未完成の規格

[編集]

JSR 番号 | 名称 | 備考

|
|

297 | Mobile 3D Graphics API (M3G) 2.0 |

## 外部リンク

[編集]

ウィキブックスにJava関連の解説書・教科書があります。

* Java ME
* JSR 68: J2ME Platform Specification

* 表
* 話
* 編
* 歴

Java

プラットフォーム|

* Java言語
* JVM
* Java ME (Micro)
* Java SE (Standard)
* Jakarta EE
* Javaカード
* Android SDK

オラクルのテクノロジー|

* Java開発キット
* OpenJDK
* JVM
* JavaFX
* Maxine VM
* Squawk

プラットフォーム技術|

* アプレット
* サーブレット
* JSP
* JSF
* Web Start (JNLP)
* MIDlet

主なサードパーティ技術|

* Eclipse
* Spring
* GNU Classpath
* Hibernate
* GWT
* IcedTea
* Struts
* WildFly
* TopLink
* harmony
* Jazelle
* blackdown

歴史|

* Javaバージョン履歴
* Java Community Process
* サンマイクロシステムズ
* 自由なJavaの実装

主要なJVM言語|

* BeanShell
* Clojure
* Groovy
* JRuby
* Jython
* Kotlin
* Processing
* Rhino
* Scala

コミュニティ|

| カンファレンス|

* JavaOne
* Devoxx

|

組織|

* Apache Software Foundation
* Java Community Process
* オラクル
* サン・マイクロシステムズ

人物|

* ジェームズ・ゴスリン
* アーサー・ヴァン・ホフ
* ウルス・ヘルツレ
* パトリック・ノートン

* カテゴリ
* コモンズ
* Portal:コンピュータ

* 表
* 話
* 編
* 歴

モバイルオペレーティングシステム

Unix系|

| Linux型|

| Android|

* AOKP
* AliOS
* /e/
* Baidu Yi（英語版）
* ColorOS
* CyanogenMod
* EMUI
* GrapheneOS
* LineageOS
* MIUI
* OmniROM
* OPhone（英語版）
* Paranoid Android
* Replicant
* Xiaomi HyperOS
* Ubuntu for Android

|

SHR|

* OpenEmbedded
* Familiar Linux
* OpenZaurus
* KaeilOS（英語版）
* Openmoko Linux
* Qt Extended Improved（英語版）
* Ångström Linux-based（英語版）

Maemo-Moblin|

* MeeGo
* Mer（英語版）
* Moblin
* Maemo
* LiMo Platform（英語版）
* Qt Extended
* Tizen
* Sailfish OS（Jolla）

* Access Linux
* bada
* Firefox OS
* KaiOS
* postmarketOS
* Ubuntu Touch
* WebOS

その他|

* BlackBerry Tablet OS
* iOS
* MOAP（L）
* iPadOS
* Nintendo Switch

その他|

| Windows|

* Windows CE(5.0)
* Windows Mobile
* Windows Phone
* Windows 8
* Windows RT
* Windows Phone 8
* Windows 10
* Mobile
* IoT

|

Nokia|

* Nokia OS
* S30（英語版）
* S40
* Symbian
* MOAP（S）
* OPP
* UIQ
* Series 60
* S80（英語版）
* S90（英語版）

ゲーム機|

* ニンテンドーDSi
* ニンテンドー3DS
* PSP
* PS Vita

その他|

* BlackBerry OS
* GEOS
* Palm OS

関連プラットフォーム|

* REX OS/BREW/Brew MP
* Java ME/JavaFX Mobile（英語版）

関連項目|

* Open Handset Alliance
* Open Mobile Alliance
* モバイルアプリケーション開発（英語版）

この項目は、コンピュータに関連した書きかけの項目です。この項目を加筆・訂正などしてくださる協力者を求めています（PJ:コンピュータ/P:コンピュータ）。

|

* 表示
* 編集