J2ME(Java 2 Platform Micro Edition)

J2ME
(Java 2 Platform Micro Edition)
ディジタルメディア学科4年D組
n02k1110 金丸 知世
目次
・J2MEの位置付け・・・・・・・スライド3~5
・ Javaの3つのEdition
・J2ME開発キットは提供されない
・ Java2プラットフォーム
・J2MEの基本仕様・・・・・・・スライド6~10
・コンフィグレーション
・バーチャルマシン
・プロファイル
・J2MEプログラミング・・・・・・・スライド11~12
・MIDP/CLDCを用いた、携帯用アプリケーションの開発環境
・実行
・開発例
・参考文献・・・・・・・スライド13
Javaの3つのEdition
・J2EE(Java 2 Platform Enterprise Edition)
→サーバサイドで実行されるビジネスユースのアプリケーション対象
・J2SE(Java 2 Platform Standard Edition)
→PC上で動作するアプリケーション対象
・J2ME(Java 2 Platform Micro Edition)
→小型情報端末、家電などが対象
J2ME開発キットは提供されない
(*6)
• 理由
対象端末ごとにメモリ容量や入出力方法が異な
るので、J2SEやJ2EEに比べて対象機器が多い。
• 解決手段
コンフィグレーション + プロファイル
Java2プラットフォーム
(*5)
J2MEと呼ばれる部分
プロファイル
コンフィグレーション
J2MEのコンフィグレーション
・CLDC(Connected Limited Device Configuration)
規模の小さいデバイス向け
対象:携帯電話、PDAなど
・CDC(Connected Device Configuration)
通信機能をある程度保有する機器向け
CLCDの機能を含む。より対象が幅広い。
次世代携帯への機能提供に期待。
対象:カーナビゲーション、セットトップボックスなど
CLDC、CDCのクラスライブラリ
(*3)
Javax.microedition.*
J2SE
CDC
CLDC
参
考
CDC : http://java.sun.com/products/cdc/api.html
CLCD:http://java.sun.com/j2me/docs/pdf/cldc11api.pdf
J2MEのバーチャルマシン
• KVM(K Virtual Machine)
CLDC用のVM
KB規模
• CVM(Compact Virtual Machine)
CDC用のVM
J2MEのプロファイル
・CLDC用
MIDP(Mobile Information Device Profile) :JSR37
→携帯電話
PDAP(Personal Digital Assistant Profile) : JSR75
→個人情報管理 (PIM) 用のローエンドPDA
・CDC用
FP(Foundation Profile) : JSR219
→ネットワーク系の機能
PP(Personal Profile)・・・CDCとFP上で利用 :JSR216
→GUIとアプレット機能を提供
PBP(Personal Basis Profile)・・・CDCとFP上で利用 :JSR217
→PPのサブセット
RMIP(RMI Profile)・・・CDCとFP上で利用 : JSR66
→RMIを利用できる
MIDPアプリケーションの開発
・MIDP+CLDC+KVM
・開発時に必要な環境
Java2SDKのバージョン1.3以上
(DL先:http://java.sun.com/j2se/1.4.2/)
*バージョンの確認の方法
・WTK(J2ME Wireless Toolkit)のインストール
(DL先:http://java.sun.com/products/j2mewtoolkit/ja_download-1_0_4.html)
*WTK1.0.4・・・CLDC1.0/MIDP1.0に対応
WTK2.0・・・CLDC1.1/MIDP2.0に対応
*インストールは指示に従って進めるだけでできます
*デモプログラム実行方法+WTK使用方法
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class HelloMIDP extends MIDlet
implements CommandListener {
private Form form = new Form("Hello MIDP");
//コンストラクタ
public HelloMIDP() {
//cmdStart = new Command("Start", Command.SCREEN, 2);
//cmdExit = new Command("Exit", Command.SCREEN, 3);
form.append("Hello,MIDP!");
form.addCommand(new Command("Exit",Command.EXIT,1));
form.setCommandListener(this);
}
//アプリケーションの開始
public void startApp() {
Display.getDisplay(this).setCurrent(form);
}
//アプリケーションの一時停止
public void pauseApp() {
}
//アプリケーションの終了
public void destroyApp(boolean unconditional) {
}
//コマンドアクション
public void commandAction(Command c, Displayable d) {
destroyApp(false);
notifyDestroyed();
}
}
実行
J2ME環境で実現
・モバイルFelicaサービス
→iモードに電子マネーアプリケーションEdyがプレインストールされているものがある。
・バーコード読み取り
・赤外線通信
参考文献
*1 「月刊ジャバワールド2004.4」、IDGジャパン、p.177~p.190、
(2004.4.1)
*2 「JAVA PRESS vol30」、技術評論社、p.202-p.213、(2003.6.15)
*3 「Javaモバイルアプリケーション~J2MEで実現するユビキタスコンピューティング~」、
ソフト・リサーチ・センター、(2004.12.25)
*4 「J2ME ワイヤレスJavaプログラミング」、ASCII、(2002.5.11)
*5 「Java2 Micro Edition」、http://akimoto-jp.com/java/Mobile/J2ME.html
*6 「モバイルフレンド」、http://www.nec-mfriend.com/jp/index.php
*7 「Javaの概説」、
http://webclub.kcom.ne.jp/ma/maknakat/Tech_Info3/html/2_1(Java).html
*8 「モバイル・ワイヤレス・アプリケーションの作成」、
http://www.intel.co.jp/jp/developer/update/contents/mo11031.htm
*9 「J2ME関連ニュース」、
http://e-words.jp/n/J2ME.html