26
J2ME 組組 : 8942004 組組組 8942031 組組組 8942034 組組組

J2ME 組員 : 8942004 巫明遠 8942031 葉秀鑾 8942034 張馨文

  • View
    267

  • Download
    9

Embed Size (px)

Citation preview

J2ME

組員 : 8942004 巫明遠 8942031 葉秀鑾 8942034 張馨文

一 . 為何 JAVA 在行動通訊受歡迎 因為 Java 的“ Write once , run

anywhere” 特性,我們可以真正達到程式只要寫一次 , 拿到任何

平台上都可以執行 ( 當然前提是必須要該手機廠商提供符合規

格的 Java Virtual Machine 才行 ) 。

二 .J2ME 的簡介 J2ME 是一個精簡的 Java 應用程式

開發環境,有別於 Java 在 PC 主機架構上的應用。 J2ME 是 Sun Microsystems 針對較小型的電子設備特別是手持式設備發展的架構。 J2ME秉持 Java "write once run everywhere" 的精神,希望能提供一個優良環境給手持式裝置上的應用軟體開發。

J2ME的架構,如下:

為達到跨平台的功能, J2ME 提供一個嶄新但更小的 Virtual Machine 做為程式執行的基本環境,這個 Virtual Machine 稱為 KVM ,同時 J2ME 提供許多 Libraries 做為程式開發的基本套件。主要目的是為因應小型電子設備不同的規格及特色,又為達到 "write once run everywhere" 的功能,所以提出此套基準規格,讓設備製造商依循此基準來製造符合 J2ME 規範的設備。以手持式無線設備為例,其基準稱為 Connected Limited Device Configuration ( CLDC),是 Sun 邀集許多手機製造商和系統商如 Nokia 、 Motorola 、

等所制定的, NTT DoCoMo 的 3G 服務FOMA 便是採用相容於 J2ME 的手機。 J2ME 的應用大多以提供娛樂、多媒體應用為主,商業模式通常採以 " 次 " 計費的模式(因下載完該應用程式後,便須將該程式安裝於手機中,也就是該使用者買了這個應用程式的一次或多次使用權)。大部份的手機製造商將來都會推動 Java 手機,我們相信 J2ME 會是將來無線應用的主要開發環境之一。

三 .CDC & CLDC

a.CLDC 就是定義為「可以放在手掌上的裝置」,比方說 PALM 系列的 PDA 或是手機就是最好的例子

b.CDC 則是定義為「可以插在牆壁上的裝置」比方說冷氣機、電冰箱等等。

四 .工具的種類

a. J2ME WIRELESS TOOLKIT

(sun)

b. CODEWARRIOR FOR JAVA

(MOTOROLA A6288 手機 )

c.JBUILDER MOBILESET

五 .MIDlet

1.MIDlet的程式結構 a. 要撰寫手機上能執行的 Java MIDlet 必須要

繼 承 javax.microedition.midlet.MIDlet 的類別 .

  b. javax.microedition.midlet.MIDlet 類別中定義 了三個抽象方法,他們分別是:

   startApp(); 至運作狀態   pauseApp(); 至停止狀態   destoryApp(); 至消滅狀態

撰寫 MIDlet 都必須實作這三個方法,因此一個 Java MIDlet的程式外殼至少要如下 :

Import javax.microedition.midlet.*;

Public class HellowMIDlet extends MIDlet{

public HellowMIDlet()

{

//建構式 }

public void startApp()

{ }

public void pauseApp()

{ }

public void destoryApp(boolean unconditional)

{ }

注意 !!!

根據 MIDP 規格, MIDlet 中不應該有Public static void main(string[] args)

這個方法,如果有的話, Java application

Manager (jam) ,會忽略不管。

2.MIDlet 的生命週期

當 MIDlet 成功的初始化之後,就開始展開他的生命週期。 MIDlet 的生命週期完全由 Java application Manager 控制,也就是說當 MIDlet 要從一個狀態變成另外一個狀態時, Java application Manager 會呼叫對應的函式,如果狀態轉換時發生錯誤,那麼 JAM 會丟出 MIDletStaticChangeException 例外。

3.MIDlet 的事件處理

a.MIDP 中,使用者介面相關的事件處理函式的組合 :

(1)高階事件處理 藉由抽象命令來達成。 (2)低階事件處理 當實體機器上的按鈕 

  或是 LCD螢幕被觸動時就呼叫對應的事  件。

  (3)繪圖事件處理 Canvas 類別的 paint()方  法會在螢幕需要重繪時被呼叫,並傳入  一個 Graphic物件的參考。

  (4)呼叫 Display 類別的 callSerially() 方法時會  引發繼承 Runnable 介面之類別的 run()方  法被呼叫。

b. 分為高階事件處理和低階事件處 理高階事件處理機制的程式撰寫 起來比較輕鬆,而利用低階事件 處理機制所撰寫的程式比較複雜, 但是也可以混合兩者一起用。

  note: 若程式是使用高階事件處理機制,那麼此

程   式的 MIDlet 是可以移植的 ; 但若採用的是低階   事件處理機制,那麼將不保證此程式可以在   不同的機器上執行,也不保證會有相同的執   行結果。