▼MIDP2.0メモ▼
MIDP2.0とは


MIDP 2.0とは

「MIDP(Mobile Information Device Profile) 2.0」は、ソフトバンクやウィルコムをはじめとする多くの携帯端末(ドコモは一部の端末、auは2007年春移行の端末から)で採用されているJavaのAPI仕様。

このページでは「MIDP 2.0」および「MIDP 1.0+ 256Kアプリ ver.2(現役なので)」の説明を記述します。「MIDP 1.0」の「Vアプリ」「EZアプリ(Java)」に関しては、「EZアプリ・Vアプリ機種依存情報」を参照。
S!アプリ独自仕様にかんしては「S!アプリメモ」へ。


情報源


共通 キャリア別


関連リンク
ActionScript 2.0メモFlashでの開発方法
.Net Compact Framework 2.0メモ
Visual C#での開発方法
Windows Mobile 5.0 ネイティブアプリ開発メモVisual C++での開発方法



入門




MIDP2.0の対応端末


サイズ制限
JARファイル レコードストア 合計制限 通信
au 300KB 32KB - 32KB
ウィルコム 1024KB 512KB - ?KB
ソフトバンク(3GC) 1024KB 512KB 1024KB ?KB
ソフトバンク(256K) 200KB 200KB 256KB 50KB
※合計制限はJADファイル+JARファイル+レコードストアの制限


au
オープンアプリ対応端末
SMAF対応携帯電話端末情報
画面サイズ
(幅x高さ)
フォントサイズ
(幅x高さ)
オーディオ形式 CLDC/MIDP その他
W53SA
W52CA
EXILMケータイ W53CA
ウォークマンケータイ W52S
W52P
W54T
W52H
W53T
W52SA
240x268
240x296
12x12,16x16,20x20 audio/x-wav
audio/x-tone-seq
audio/midi
1.1/2.0 20077年夏モデルで
非対応はW52SHのみ
W51CA
W51H

W51SA
W51S

240x268
240x296
12x12,16x16,20x20 audio/x-wav
audio/x-tone-seq
audio/midi
1.1/2.0 -


ウィルコム
画面サイズ
(幅x高さ)
フォントサイズ
(幅x高さ)
オーディオ形式 CLDC/MIDP その他
WX320K 240x276 12x12,16x16,20x20 audio/midi 1.1/2.0 com.mascotcapsule Package
ソケット(TCP/UDP)
WX321J 240x276 12x12,16x16,20x20 audio/midi 1.1/2.0 カメラ制御
GPS情報取得
W-ZERO3[es](WS007SH)
W-ZERO3(WS004SH)

W-ZERO3(WS003SH)
640x376
480x536
12x16 audio/x-wav
audio/x-tone-seq
audio/midi
application/x-smaf
audio/amr
1.1/2.0

com.mascotcapsule Package
JPEG利用不可

WX310SA(WX310SA)
WX310J(WX310J)
240x276 12x12,16x16,20x20 audio/midi 1.1/2.0 FileConnection Optional Package


ソフトバンク 3GC
端末情報
SMAF対応携帯電話端末情報
画面サイズ
(幅x高さ)
フォントサイズ
(幅x高さ)
CLDC/MIDP オーディオ形式 MEXA
(JSCL)
その他
913SH ? ? 1.1/2.0 MA-7 MEXA -
912SH ? ? 1.1/2.0 MA-7 MEXA -
912T ? ? 1.1/2.0 MA-7 MEXA -
911SH 120x130
120x147
240x260
240x294
240x320
240x354
400x224
12x12,12x12,20x20
12x12,20x20,20x20
1.1/2.0 MA-7 MEXA -
911T ? ? 1.1/2.0 MA-7 MEXA -
910SH 120x130
120x147
240x260
240x294
480x520
480x588
12x12,12x12,20x20
12x12,20x20,20x20
20x20,40x40,40x40
1.1/2.0 MA-7 MEXA -
910T 120x130
120x145
240x260
240x290
12x12,12x12,18x18
12x12,18x18,26x29
1.1/2.0 MA-7 MEXA -
905SH 120x130
120x147
240x260
240x294
240x320
240x354
400x224
12x12,12x12,20x20
12x12,20x20,20x20
1.1/2.0 MA-7 MEXA -
904SH 120x130
120x147
240x260
240x294
480x520
480x588
12x12,12x12,20x20
12x12,20x20,20x20
1.1/2.0 MA-7 MEXA -
902SH
903SH
120x130
120x147
240x260
240x294
12x12,12x12,20x19
12x12,20x19,20x19
1.1/2.0 MA-5 1.2.2 -
902T
903T
904T
120x130
120x146
240x261
240x293
12x12,12x12,20x26
12x12,20x26,26x29
1.1/2.0 MA-5 1.2.2 -
816SH
815SH
812SHs
? ? 1.1/2.0 ? MEXA -
815T
814T
? ? 1.1/2.0 ? MEXA -
813SH
812SH
? ? 1.1/2.0 MA-3 MEXA -
812T ? ? 1.1/2.0 MA-7 MEXA -
811SH
810SH
120x130
120x147
240x260
240x294
480x520
480x588
12x12,12x12,20x20
12x12,20x20,20x20
20x20,40x40,40x40
1.1/2.0 MA-7 MEXA -
813T
811T

810T
120x130
120x145
240x260
240x290
12x12,12x12,18x18
12x12,18x18,26x29
1.1/2.0 MA-7 MEXA -
810P ? ? 1.1/2.0 ? MEXA -
805SC ? ? ? ? ? -
804SH 120x130
120x147
240x260
256x310
12x12,12x12,20x20
12x12,20x20,20x20
1.1/2.0 MA-7 1.3.2 -
804SS 120x130
120x145
240x260
240x290
12x12,12x12,20x20
12x12,20x20,28x28
1.1/2.0 MA-5 MEXA Core -
804N 120x130
120x145
240x260
240x290
12x12,12x12,21x21
12x12,21x21,24x24
1.1/2.0 MA-5 MEXA Core -
803T 120x130
120x146
240x261
240x293
12x12,12x12,20x26
12x12,20x26,20x26
1.1/2.0 MA-5 1.2.2 -
802SH 120x130
120x147
240x260
240x294
12x12,12x12,20x19
12x12,20x19,20x19
1.1/2.0 MA-5 1.2.2 -
802N 120x130
240x295
240x269
240x295
12x12,12x12,20x20
12x12,20x20,20x20
1.1/2.0 MA-5 1.2.2 -
802SE 176x182
176x220
14x15,16x18,16x18 1.1/2.0 MA-3 - -
709SC
707SC
706SC
705SC

120x130
120x145
240x260
240x290
12x12,12x12,20x20
12x12,20x20,28x28
1.1/2.0 MA-5 MEXA -
706P
705P
120x130
120x145
240x260
240x290
12x12,12x12,20x20
12x12,20x20,24x24
1.1/2.0 MA-3 MEXA Core -
705N 120x130
120x130
240x260
240x290
12x12,12x12,20x21
12x12,20x21,24x24
1.1/2.0 MA-5 MEXA Core -
705NK 240x234
240x320
18x22,24x30,27x33 1.1/2.0 audio/midi - -
705SH 120x130
120x146
240x261
240x293
12x12,12x12,26x29
12x12,20x26,26x29
1.1/2.0 MA-3 MEXA -
705T 120x130
120x147
240x260
240x294
12x12,12x12,20x20
12x12,20x20,20x20
1.1/2.0 MA-5 1.2.2 -
703SHf
703SH
120x130
120x147
240x260
240x294
12x12,12x12,20x20
12x12,20x20,20x20
1.1/2.0 MA-3 1.2.2 -
703N 120x130
240x295
240x269
240x295
12x12,12x12,20x20
12x12,20x20,20x20
1.1/2.0 MA-5 1.2.2 -
702NKII
702NK
176x144
176x208
12x15,16x20,16x20 1.1/2.0 audio/midi - Nokia UI API
Bluetooth API(OBEX以外)
FileConnection and PIM API
702sMO
702MO
176x182
176x204
12x13,17x18,19x20 1.1/2.0 audio/midi - -


ソフトバンク P型
画面サイズ
(幅x高さ)
フォントサイズ
(幅x高さ)
CLDC/MIDP JSCL その他
V604T
V603T
120x130
240x260
12x12,12x12,20x26
12x12,20x26,26x29
1.0/1.0 1.3.2 -
V604SH
V603SH
120x130
240x260
12x12,12x12,19x20
12x12,19x20,19x20
1.0/1.0 1.3.2 -
V602T
V601T
120x130
240x260
12x12,12x12,20x26
12x12,20x26,26x29
1.0/1.0 1.2.2 -
V602SH 120x130
240x260
12x12,12x12,20x19
12x12,20x19,20x19
1.0/1.0 1.2.2 -
V502T
V501T
120x130
240x260
12x12,12x12,20x26
12x12,20x26,26x29
1.0/1.0 1.3.2 -
V501SH 120x130
240x260
12x12,12x12,19x20
12x12,19x20,19x20
1.0/1.0 1.3.2 -


ソフトバンク スマートフォン
画面サイズ
(幅x高さ)
フォントサイズ
(幅x高さ)
CLDC/MIDP MMAPI/WMA/M3G その他
X02HT ? ? 1.1/2.0 ? -
X01T ? ? 1.1/2.0 ? -
X01HT ? ? 1.1/2.0 ? -


ドコモ スマートフォン
画面サイズ
(幅x高さ)
フォントサイズ
(幅x高さ)
CLDC/MIDP MMAPI/WMA/M3G その他
hTc Z ? ? 1.1/2.0 ? -
M1000 208x320
208x256

208x198
208x180
14x17,14x17,14x17 1.0/2.0 1.1/1.0/- Bluetooth API(OBEX以外)


イーアクセス スマートフォン
画面サイズ
(幅x高さ)
フォントサイズ
(幅x高さ)
CLDC/MIDP MMAPI/WMA/M3G その他
EM・ONE ? ? 1.1/2.0 ? -



開発ツール


J2SE Develoment Kit 5.0(JDK 5.0)
パソコン上で動くJavaアプリを作るための開発キット。サン・マイクロシステムズのサイトで入手できる。「J2ME Wireless Toolkit」を実行するのに必要なので、それより先にインストールする。

J2ME Wireless Toolkit 2.2(日本語版)
MIDP2.0のアプリを作るための開発キット。サン・マイクロシステムズのサイトで入手できる。APIリファレンスはdocsフォルダにある。

エミュレータのスキン
「J2ME Wireless Toolkit」のエミュレータのスキンの画面サイズとフォント幅を各種端末用に調整したものです。解凍してフォルダごと「C:\WTK22\wtklib\devices」にコピーすれば使えます。W-ZERO3はQwertyDeviceを流用してるので、右のボタンがソフトキー1、menuボタンがソフトキー2となります。
ProGuard
ProGuardはObfuscator(難読化ツール)のひとつ。Obfuscatorとは,Javaクラスファイルの逆コンパイルしてソースコードを盗み見ることを防ぐツール。その結果としてクラスファイルのサイズが小さくなるという利点もある。これを指定することにより、ビルド時に自動的にJARファイルの最適化を行われる。

サイトからProGuardをダウンロードし、libフォルダの「proguard.jar」をJ2ME Wireless Toolkitのbinフォルダにコピーすればインストール完了。KToolbarのメニュー「プロジェクト→パッケージ→難読化パッケージを作成」で最適化されたJARファイルが生成される。


その他の開発ツール

アプリのインストール方法


au端末へのアプリのインストール方法
アプリをダウンロードするにはサーバのMIMEタイプを次のように設定する必要がある。
jar application/Java-archive
jad text/vnd.sun.j2me.app-descriptor

test.jadをダウンロードするためのHTMLの書式は次の通り。
download.html
<a href="device:jam?http://npaka.net/test.jad">アプリをダウンロード</a>
端末からダウンロード用HTMLへアクセスし、リンクをクリックすることでダウンロードできる。


ウィルコム端末へのアプリのインストール方法
アプリをダウンロードするにはサーバのMIMEタイプを次のように設定する必要がある。
jar application/java-archive
jad text/vnd.sun.j2me.app-descriptor

test.jadをダウンロードするためのHTMLの書式は次の通り。
download.html
<a href="test.jad">アプリをダウンロード</a>
端末からダウンロード用HTMLへアクセスし、リンクをクリックすることでダウンロードできる。

また、SDカード経由でJADファイルを選択することにより、インストールすることも可能。


ソフトバンク端末へのアプリのインストール方法
ソフトバンク端末ではアプリがダウンロードできるサーバを「コンテンツアグリゲータ」のサーバに限定している。「コンテンツアグリゲータ」にユーザー登録することにより、サーバを利用できるようになる。アプリを一般公開するには、コンテンツアグリゲータの審査(数日かかる)を通す必要がある。コンテンツアグリゲータは次の2つ。

702NKへのアプリのインストール方法
  1. JARファイルをMMCカードのOtherフォルダ等にコピー
  2. MMCカードを702NKに挿し、「メニュー→オーガナイザー→ファイル」を選択し、「ファイルマネージャ」を起動
  3. MMCカードを選択し、Otherフォルダにコピーした時は「その他」を選択
  4. 一覧に先ほどコピーしたJARファイルが表示されるので選択
  5. 「信頼できないMIDletだが良いか?」を聞かれるので「はい」を選択


M1000へのアプリのインストール方法
  1. デスクトップスイートをパソコンにインストール
  2. 通信設定ファイル(ドライバ)をパソコンにインストール
  3. USBケーブルでパソコンとM1000を接続する
  4. M1000側で「アプリケーションランチャー→コントロールパネル→接続→DesktopSuite」を開き、接続方法として「USB」選択
  5. M1000側で「アプリケーションランチャー→Desktop Suite」を選択し、「接続」ボタン押下
  6. PC側でデスクトップスイートを起動し、「インストール」ボタン押下
  7. 「同意します」「インストール」を選択後、ファイルダイアログで「HelloWorld.jad」または「HelloWorld.jar」を選択
  8. 「インストールするか?」「信頼できないMIDletだが良いか?」を聞かれるので「はい」を選択


コンフィギュレーション・プロファイル・オプションAPI


コンフィギュレーション
JSR 名前
30 Connected, Limited Device Configuration(CLDC) 1.0 カーナビ、セットトップ・ボックスなど
中程度の処理能力を持つ端末を対象としているコンフィギュレーション
139 Connected, Limited Device Configuration(CLDC) 1.1
36 Connected Device Configuration(CDC) 1.0.1 PDAや携帯電話など
処理能力やメモリに制限のある端末向けのコンフィギュレーション
218 Connected Device Configuration(CDC) 1.1


CLDCのプロファイル
JSR 名前 説明
37 Mobile Information Device Profile(MIDP) 1.0 携帯電話を対象としているプロファイル
118 Mobile Information Device Profile(MIDP) 2.0
- DoJa ドコモの携帯電話を対象としているプロファイル


CDCのプロファイル
JSR 名前 説明
46 Foundation Profile(FP) 1.0 CDCに含まれなかったJ2SEの基本的なAPIを補うプロファイル
219 Foundation Profile(FP) 1.1
62 Personal Profile(PP) 1.0 グラフィックス関連の機能を利用するためのプロファイル
129 Personal Basis Profile(PBP) 1.0 Personal Profileのサブセット
217 Personal Basis Profile(PBP) 1.1


オプションAPI
JSR 名前 含まれているAPI 説明
120 Wireless Messaging API (WMA) 1.0 - SMS(ショートメッセージサービス)などの
メッセージを送受信する機能を提供
205 Wireless Messaging API (WMA) 2.0
82 Java APIs for Bluetooth Java API for Bluetooth
Java API for OBEX
Bluetoothによる通信機能を提供
75 PDA Optional Package for J2ME FileConnection Optional Package
PIM Optional Package
端末に保存されているファイルや、アドレス帳などの
アドレス帳などのデータにアクセスする機能を提供
184 Mobile 3D Graphics(M3G) - 3Dグラフィックスの描画機能を提供
135 Mobile Media API(MMAPI) 1.1 - 音声やビデオ、マルチメディア機能を提供
179 Location API for J2ME - 位置情報に関する機能を提供
172 J2ME Web Service APIs - XMLパーサ(SAX)、JAX-RPC Subset、スタブ生成ツール
の機能を提供
66 RMI Optional Package - リモートメソッドの呼び出し機能を提供


メーカー独自のオプションAPI
JSR 名前 含まれているAPI 説明
- J-PHONE Specific Class Library(JSCL)   J-PHONEグループ共通仕様として規定されたオプションAPI
- Vodafone Specific Class Library(VSCL)/MEXA Additional APIs
Bar Code Recognition API
SVG API
ボーダフォングループ共通仕様として規定されたオプションAPI
MEXA等名前に変わりパッケージや基本とオプションの区分を
再構成したが機能的には同じ。
- Nokia UI API   ノキアグループ共通仕様として規定されたオプションAPI


サンプルプログラム


MIDP1.0 MIDP2.0 - キャンバス MIDP2.0 - フォーム MEXA/JSCL PDA Optional Package for J2ME M3G その他



−戻る−