au by KDDI 開発者向け技術情報はこちら EZfactory

ヘルプ | サイトマップ

EZfactoryサイト内検索

WEBページ マルチメディア・コンテンツ 技術情報 ダウンロード
技術情報
機種別情報一覧

JPEGコンバータ

GIF画像

ランチャーアイコン

バーコード

絵文字

ダウンロードCGI

EZムービー

EZアプリ (J)

オープンアプリ

簡易位置情報

IPアドレス帯域

デコレーションメール

マルチメディアデータ

auケータイクーポン

地図リンクサービス



オープンアプリ


はじめに


オープンアプリプレイヤーとは

「オープンアプリプレイヤー」とは、J2ME™ Connected Limited Device Configuration (CLDC) 1.1 (JSR 139)上のMobile Information Device Profile (MIDP) 2.0 (JSR 118) の仕様に基づき作成されたJava™アプリを実行する環境です。

KDDIでは便宜的に、オープンアプリ再生環境を「オープンアプリプレイヤー」、オープンアプリプレイヤーで動作するプログラムを「オープンアプリ」、オープンアプリプレイヤーを搭載した端末を「オープンアプリプレイヤー搭載端末」と表現しています。

CLDC1.1、MIDP2.0の仕様は The Java Community Process (SM) より閲覧できます。

基本仕様


オープンアプリプレイヤーはCLDC1.1/MIDP2.0仕様で作成されたJava™アプレットが動作します。Mobile Media API (JSR135)、Mobile 3D Graphics API for J2ME (JSR184) など、その他の拡張APIには対応していません。

オープンアプリを対応端末にダウンロードするには、JadファイルとJarファイルに2つのファイルが必要です。JadファイルとJarファイルの作成方法については、Java™に関するウェブ、書籍などを参照してください。

以下にオープンアプリプレイヤー特有の仕様に関して説明します。

Jadファイル仕様

Jadファイルはオープンアプリの内容や振る舞いなどの情報がテキスト表現で記載されたファイルです。Jadは、Java Application Descriptorの略です。

オープンアプリプレイヤーで対応している項目は以下の通りです (必須項目がない場合、インストールエラーとなります)。

属性名

内容
MIDlet-Name
表記名を記載します。3〜32バイトの文字列である必要があります。
MIDlet-Version
オープンアプリのバージョンを記載します。数値3桁でn.n.nの書式である必要があります。
MIDlet-Vendor
開発元を記載します。3〜32バイトの文字列である必要があります。
MIDlet-Jar-URL
Jarファイルのダウンロード先URLを記載します。5〜256バイトの文字列である必要があります。
MIDlet-Jar-Size
Jarファイルのサイズをバイト単位で記載します。実際のサイズと一致している必要があります。
MIDlet-Icon
 
オープンアプリのアイコンを指定します。アイコンを指定する事ができます (注1)
MIDlet-Description
 
オープンアプリの説明を記載できますが、利用されません。1024バイト以内の文字列である必要があります。
MIDlet-Data-Size
 
必要とするRMSのサイズを記載します。記載しない場合は0キロバイトとみなされます。
MIDlet-Info-URL
 
オープンアプリの情報が得られるサイトのURLを記載します。記載があった場合、オープンアプリ詳細の画面からサイトへ移動する事が可能になります。256バイト以下の文字列である必要があります。
MIDlet-1
Jarファイル内のオープンアプリを指定します。オープンアプリプレイヤーはひとつのJar内部に複数のオープンアプリを格納できません。必ずひとつである必要があります。アイコンを指定する事ができます (注1)

注1)  16×16ドット、20×20ドット、24×24ドットのPNG画像に対応しています。

Jadファイルは必ずUTF-8で記載されている必要があります。

Jarファイル仕様

オープンアプリを含むクラスファイルや、オープンアプリで利用する画像や音声などのリソースファイルをまとめたファイルです。JarはJava ARchive の略です。
複数のMIDletには対応しておりません。

Jad、Jarファイルのサイズ上限

オープンアプリプレイヤーは、6キロバイトまでのJadファイル、300キロバイトまでのJarファイルをダウンロードすることができます。300キロバイトを超えた場合は、インストールエラーとなります。

ディスプレイ

ディスプレイサイズは240×268ドットとなります。
MIDP2.0のフルスクリーン仕様 (Canvas.setFullScreenMode()) に対応しており、利用の際のサイズは240×296ドットが利用可能です。

図: ディスプレイ

オフスクリーンイメージ

作成できるオフスクリーンイメージ (Canvas.setFullScreenMode()) の最大サイズは272×328 (描画可能サイズ + 32ドット) です。

ソフトキー

6バイトまでの文字列が表示可能です。優先順位が高い物が左側 (SOFT1) に表示されます。3つ以上指定された場合、右側 (SOFT2) に「menu」と表示され、選択式になります。

フォント

フォントは固定ピッチフォントとして、SMALL、MIDEUM、LARGEがそれぞれ12×12、16×16、20×20ドットのフォントに対応しています。

フォントスタイルはPLAINとUNDERLINEのみ対応しています。

キーイベントの対応

キーイベントはCanvasクラス、GameCanvasクラスにて以下のものが取得できます。

図: キーイベントの対応

端末入力
x=Canvas.keyPressed
(code)
getGameAction(x) の
変換結果
Canvas.getKeyState() の
ビット
0キー
KEY_NUM0(48)
0
0
1キー
KEY_NUM1(49)
GAME_A(9)
GAME_A_PRESSED(512)
2キー
KEY_NUM2(50)
UP(1)
UP_PRESSED(2)
3キー
KEY_NUM3(51)
GAME_B(10)
GAME_B_PRESSED(1024)
4キー
KEY_NUM4(52)
LEFT(2)
LEFT_PRESSED(4)
5キー
KEY_NUM5(53)
FIRE(8)
FIRE_PRESSED(256)
6キー
KEY_NUM6(54)
RIGHT(5)
RIGHT_PRESSED(32)
7キー
KEY_NUM7(55)
GAME_C(11)
GAME_C_PRESSED(2048)
8キー
KEY_NUM8(56)
DOWN(6)
DOWN_PRESSED(64)
9キー
KEY_NUM9(57)
GAME_D(12)
GAME_D_PRESSED(4096)
*キー
KEY_STAR(42)
0
0
#キー
KEY_STAR(35)
0
0
上キー
-1
UP(1)
UP_PRESSED(2)
下キー
-2
DOWN(6)
DOWN_PRESSED(64)
右キー
-4
RIGHT(5)
RIGHT_PRESSED(32)
左キー
-3
LEFT(2)
LEFT_PRESSED(4)
選択キー
-5
FIRE(8)
FIRE_PRESSED(256)
SOFT1キー
-6
GAME_A(9)
GAME_A_PRESSED(512)
SOFT2キー
-7
GAME_B(10)
GAME_B_PRESSED(1024)
SOFT3キー
-20
GAME_C(11)
GAME_C_PRESSED(2048)
SOFT4キー
-21
GAME_D(12)
GAME_D_PRESSED(4096)
CLRキー
-8
0
0
発信キー
-10
0
0

SOFT3キー、SOFT4キーに対応しない端末も存在します。

getKeyCode(x)

x
getKeyCode(x) の変換結果
UP(1)
-1
LEFT(2)
-3
RIGHT(5)
-4
DOWN(6)
-2
FIRE(8)
-5
GAME_A(9)
KEY_NUM1(49)
GAME_B(10)
KEY_NUM3(51)
GAME_C(11)
KEY_NUM7(55)
GAME_D(12)
KEY_NUM9(57)
そのほか
exception

通信仕様

HTTP/HTTPS通信が可能です。
そのほか、TCPソケット、UDPソケットは利用できません。また、同時接続は1接続のみです。

項目
メソッド
説明
送信
GET
最大1キロバイトまでのリクエストライン、5キロバイトまでのヘッダ、を送出可能です。
POST
最大1キロバイトまでのリクエストライン、5キロバイトまでのヘッダ、および5キロバイトまでのボディを送出可能です。
受信
 
レスポンスヘッダからレスポンスボディまで全てを含め、最大32キロバイトまでを受信可能です。

オープンアプリプレイヤーは、ユーザー保護のため一日3メガバイトの通信量規制を行っています。通信規制は午前1時にリセットされ、次の午前1時になるまでの間、再度3メガバイト利用できるようになります。通信量のカウントにはJadファイル、Jarファイルのダウンロードも含まれます (そのほかの要因により3メガバイト以下の利用となる場合があります)。

また、必ずユーザーに対し接続前確認を行います。

音源について

MIDIファイル (audio/midi)、WAVEファイル (audio/x-wav)、Tone Sequence (audio/x-tone-seq) の再生が可能です。
MIDIファイルとTone Sequenceを合計して最大4本 (ToneSequenceは同時再生最大1本)、WAVEファイルは4本の同時再生が可能です。
MIDIファイルはSMFフォーマット0、また16チャンネルのMIDIイベント、音色拡張などのExclusiveメッセージに対応しています。最大同時発音数は4本合計して64音です。
Playerの遷移状態としては、Prefetched、Play状態に遷移可能なものが4オブジェクトまでになります。従って5本目のPlayerをPerfected状態にする為には、すでにPrefetched、Play状態にあるPlayerをRealized状態へ遷移させる必要があります。

WAVEファイルは、8bit/16bit PCMとヤマハADPCMフォーマットに対応しています。
ファイルの詳細については、ヤマハ社のSMAF GLOBALなどを参照してください。


上記仕様は今後変更される可能性があります。

その他の仕様

そのほか、オープンアプリプレイヤーに関する特記事項を以下に纏めます。

項目
説明
画像ファイル
長辺640、短辺240まで、サイズが100キロバイトまでのPNGファイル、もしくはJPEGファイルを展開可能です。
ただしメモリ利用状況により展開が失敗する場合があります。
文字コード
デフォルトエンコードはSJISで、その他にUTF-8をサポートします。
Trusted対応
Trustedアプリには対応しておりません。
保存ファイル
32キロバイトまでのレコードストア容量に対応しています。

オープンアプリの公開方法について


オープンアプリを対応端末へダウンロードするためには、XHTML (HTMLでも可) 記述のWebページを作成する必要があります。

XHTMLの基本的な記載方法や、その他のタグはEZfactoryを参照してください。

アプリの作成

オープンアプリはサン・マイクロシステムズが提供するJ2ME Wireless Toolkit等で開発することが出来ます。開発ツールに関してはサン・マイクロシステムズのホームページなどをご参照ください。

サーバ設置からオープンアプリのダウンロードまで

まず、オープンアプリをダウンロードするためのリンクが埋め込まれたXHTMLファイルをウェブページへアップロードします。
次にオープンアプリ (JadファイルとJarファイル) を作成し、ウェブページへアップロードします。サーバ側のMIMEタイプ設定が必要となります。

あらかじめダウンロードページには、オープンアプリのダウンロードリンクタグ (.jadファイルへのリンク) を記載しておきます。
ユーザーがブラウザで当該ページを表示し、ダウンロードリンクタグをクリックすると、オープンアプリプレイヤーがJadファイルを取得し、次にJadファイル記載内容に従ってJarファイルを取得します。

Jarファイルを取得後、ユーザーはオープンアプリを再生することが可能となります。

図: サーバ設置からオープンアプリのダウンロードまで

サーバ設定

Webページを配置するサーバ側にていくつかのヘッダ情報を必須で返却する必要があります。返却されない場合、インストールエラーとなります。サーバ側の設定方法に関しましてはご利用のサーバ管理者へお問い合わせ下さい。

Content-Lengthヘッダに対応する必要があります。
Content-Typeとして以下のMIMEタイプに対応する必要があります。

拡張子
MIMEタイプ
.jad
text/vnd.sun.j2me.app-descriptor
.jar
application/Java-archive

タグ

<a href="device:jam? <URL>">タグで.jadファイルを記述します。<URL>にはhttp://から始まるJarファイルのURLを記載してください。

以下に例を示します。

<html><body>
 オープンアプリゲーム</br>
 以下のリンクをクリックしてください。
<a href="device:jam?http://www.au.kddi.com/marubatsu/marubatsu.jad">○×アプリで遊ぶ</a>
</body></html>

URL文字列の規定

非ASCIIコードのURLをサポートしません。 最大256バイト (終端\0除く) までの文字列長である必要があります。 以下の文字である必要があります。

"A" - "Z"、"a" - "z"、"0" - "9"、";"、"/"、":"、"@"、"&"、"="、"+"、"$"、","、"?"、"#"、"-"、
"_"、"."、"!"、"~"、"*"、"'"、"("、")"、"%"
(以上すべてシングルバイト文字)

URL文字列は、大文字小文字を区別します。 プロトコルスキーマ文字列 (http://、https://) は大文字小文字を区別しません。
例えば、http://www.au.kddi.com/dir/ と http://www.au.kddi.com/DIR は区別されますが、 HTTPS://www.au.kddi.com/dir/ と https://www.au.kddi.com/dir/は区別されません。

ユーザーエージェント

オープンアプリプレイヤーからのHTTP/HTTPS通信時、ユーザーエージェントは以下の通りとなります。
KDDI-JVM/1.0<SP> (<端末名>;<SP>VM)
<端末名>は端末名、<SP>は空白です。

例: KDDI-JVM/1.0 (W51X; VM)

オープンアプリプレイヤーが再生しているオープンアプリが通信を行った場合、ユーザーエージェントは以下の通りとなります。
KDDI-JVM/1.0<SP>(<端末名>;<SP>MIDlet)
<端末名>は端末名、<SP>は空白です。

例: KDDI-JVM/1.0 (W51X; MIDlet)

システムプロパティ

システムプロパティにセットされる情報を以下に記します。

ID
格納値
microedition.platform
端末名を"au-"の背後に付与して返却します。 ex:"au-W51XX"
microedition.encoding
"SJIS"
microedition.configuration
"CLDC-1.1"
microedition.locale
"ja-JP"
microedition.profiles
"MIDP-2.0"
com.kddi.vmsetting.bgmusic
BGM設定の状態。"on"、もしくは"off"
com.kddi.vm.setting.bgmail
バックグラウンドメール受信設定の状態。"on"、もしくは"off"
com.kddi.vm.netuse.current
オープンアプリプレイヤーが利用している本日の通信量 (byte単位)
com.kddi.vm.netuse.max
オープンアプリプレイヤーが一日に利用できる通信量 (byte単位)

オープンアプリプレイヤーのバージョンアップに伴う変更点


2008年より一部の端末から1.0から1.1へ順次バージョンアップされます。バージョンアップ時の変更点は以下の通りです。

起動時のパラメータ

Webページからオープンアプリをダウンロードする際に、パラメータ指定が可能となりました。
JadファイルのURLの後ろに#から続くパラメータを記載します。例を以下に示します。

<a href="device:jam?http://www.au.kddi.com/marubatsu/marubatsu.jad#param=1">○×アプリで遊ぶ</a>

上記例の場合、オープンアプリ起動時に " param=1 " の起動引数がシステムプロパティ
" com.kddi.midlet.args " 経由で引き渡されます。
このパラメータはダウンロード済みのアプリに対しても有効となります。
起動パラメータはオープンアプリが起動している間のみ有効となります。オープンアプリ一覧から起動された場合の起動パラメータはNULLとなります。
パラメータの最大長はURLとあわせて1023バイトになります。したがって、パラメータの最大長は (1023-URL文字列長) になります。

上記例の場合、URL長が47文字 (http://www.au.kddi.com/marubatsu/marubatsu.jad#) となり、最大パラメータ長が976文字 (=1023-47) となります。

ユーザーエージェント

バージョン表記が1.0から1.1になり、画面サイズパラメータが付与されます。

オープンアプリプレイヤーが送出するユーザーエージェントは以下の書式になります。
KDDI-JVM/1.1<SP> (<端末名>;<SP>VM;<SP><画面サイズ>)

例: KDDI-JVM/1.1 (W5nXX; VM; WQVGA)
例: KDDI-JVM/1.1 (W5nXX; VM; QVGA)

オープンアプリが送出するユーザーエージェントは以下の書式になります。
KDDI-JVM/1.1<SP> (<端末名>;<SP>MIDlet;<SP><画面サイズ>)

例: KDDI-JVM/1.1 (W5nXX; MIDlet; WQVGA)
例: KDDI-JVM/1.1 (W5nXX; MIDlet; QVGA)

システムプロパティ

バージョン1.1からは以下のシステムプロパティが追加で取得できるようになりました。

ID
格納値
com.kddi.midlet.args
オープンアプリプレイヤー起動時のパラメータ
com.kddi.dev.intensity
電界強度0 (=圏外),1,2,3,4 (=アンテナ3本)
com.kddi.dev.powersupply
電池残量ピクト総数が3の場合、
電池残量768 (= 空), 769, 770, 771 (= 満),
896/897/898/899 (= 充電中)
com.kddi.dev.memcardstate
メモリカード有無情報 0 (無),1 (有),2 (非搭載)
com.kddi.midlet.jadurl
Jadファイル取得元URL (注2)

注2)  オープンアプリのJadファイルがダウンロードされたURLになります。

WQVGAの対応

WQVGAサイズ、もしくはそれ以上の画面サイズを持つ端末では横240ドット、縦376ドットの表示を行う事が可能となりました。以下にその方法を記載します。

 1.  Jadファイルに "OAP-SCREEN-SIZE: WQVGA" の一行を追加する。
 2.  オープンアプリからCanvas.setFullScreenMode()を呼び出す。

以上の手順により、オープンアプリが描画可能なサイズが伸張されます。この際、オフスクリーンの最大サイズは272×408 (描画可能サイズ+32ドット) になります。

一般的なJavaテクノロジに関する情報


Java™テクノロジーに関する情報は、以下のサイトから得る事ができます。


OracleとJavaは、Oracle Corporationおよびその子会社、関連会社の米国およびそのほかの国における登録商標です。文中の社名、商品名などは各社の商標または登録商標である場合があります。

このページの先頭へ




Designing The Future KDDI
au 電話・インターネット 法人サービス 会社情報
  ここから当ウェブサイトの情報についてのメニューです。
免責事項 リンクについて 推奨環境 プライバシーポリシー Copyright © KDDI CORPORATION. All Rights Reserved.