MTK系統(tǒng)下的J2ME運行平臺設(shè)計
摘要 在目前手機移動開發(fā)上,Java技術(shù)提供給用戶多種應(yīng)用服務(wù),發(fā)展空間比較大。本文描述了J2ME運行平臺在MTK系統(tǒng)下的設(shè)計和實現(xiàn)。首先,簡要介紹了J2ME運行環(huán)境和MTK平臺。然后,在分析此系統(tǒng)需要實現(xiàn)的功能基礎(chǔ)上,根據(jù)現(xiàn)有資源和平臺特性,提出了整個平臺的框架,并且詳細(xì)描述平臺各個子功能模塊的設(shè)計。最后,詳細(xì)介紹了系統(tǒng)各個模塊的實現(xiàn)。
關(guān)鍵詞 嵌入式系統(tǒng) J2ME MTK Java虛擬機 移植接口
引 言
現(xiàn)在Java技術(shù)十分流行,發(fā)展勢頭強勁,而且在SUN公司推出了J2ME平臺后,眾多移動式系統(tǒng)都紛紛支持Java應(yīng)用程序。由于Java已經(jīng)成為了業(yè)界公認(rèn)的通用網(wǎng)絡(luò)語言,具有超強的跨平臺性,所以Java這種Write once,Run anywhere的特性被目前幾乎所有的手機系統(tǒng)開發(fā)商所承認(rèn)并運用。無一例外,當(dāng)今的智能手機操作系統(tǒng)都支持KJava技術(shù)。為了保證手機操作系統(tǒng)支持運行Java程序,需要將Java虛擬機移植到手機操作系統(tǒng)上。由于手機這種移動式信息設(shè)備都采用小容量的Flash和RAM,所以就要求虛擬機體積更小,實時效率更高,故這種Java虛擬機被稱為KVM(K Virtual Machine)。
由于J2ME是以消費性產(chǎn)品為目標(biāo)而設(shè)計的Java運行環(huán)境,專門針對移動電話、數(shù)字機頂盒和汽車導(dǎo)航系統(tǒng),因而影響力巨大。本文將研究在MTK手機操作系統(tǒng)上實現(xiàn)嵌入式Java。整個J2ME運行平臺包括Java應(yīng)用的下載、安裝、運行及觸摸屏支持等一系列功能。
1 相關(guān)技術(shù)研究
1.1 J2ME平臺
現(xiàn)在的Java系統(tǒng)是一個全方位的開發(fā)、運行平臺,可以在任何計算環(huán)境中實現(xiàn)。在嵌入式系統(tǒng),SUN公司推出了J2 ME(Java 2 platform Micro Edition)。
J2ME是Java 2標(biāo)準(zhǔn)版本的微型版本,支持各種各樣的消費類產(chǎn)品和嵌入式設(shè)備,如移動電話、PDA、互聯(lián)網(wǎng)可視電話、數(shù)字機頂盒、車載娛樂和導(dǎo)航系統(tǒng)、網(wǎng)絡(luò)交換設(shè)備以及信息家電等。J2ME是為了那些使用有限的能源、有限的網(wǎng)絡(luò)連接(通常是無線連接)以及有限圖形用戶界面能力的設(shè)備開發(fā)的。
J2ME體系結(jié)構(gòu)如圖1所示。其中簡表層、配置層和Java虛擬機是J2ME的組成部分。J2ME是一個簡化的Java,是針對各種不同的低端設(shè)備而設(shè)計的。為了滿足各種環(huán)境,J2ME設(shè)計了簡表一配置規(guī)范。配置是一個語言特性和核心類的配置規(guī)范,針對不同的環(huán)境(內(nèi)存、顯示、網(wǎng)絡(luò)連接和處理能力)給定不同的配置。也就是定義了該環(huán)境的Java語言子集和核心類庫,虛擬機開發(fā)者遵照此配置來開發(fā)虛擬機。最著名的兩個配置是連接設(shè)備配置(CDC)和連接有限設(shè)備配置(CLDC)。
CLDC包括K虛擬機(KVM)和一組核心類庫,主要是針對用戶接口簡單、內(nèi)存較小、網(wǎng)絡(luò)運行時連時斷以及帶寬較窄的小型無線設(shè)備。其中KVM是JVM的一個實現(xiàn),特別用于移動電話、PDA等設(shè)備。
簡表是針對相同配置的不同特性而開發(fā)的擴展類庫,它提供給開發(fā)者在特定類型設(shè)備上開發(fā)的類庫。例如,移動信息設(shè)備子集MIDP(Mobile Information Device Pro―file)綜合考慮了移動設(shè)備的屏幕和內(nèi)存限制,定義了J2ME適用的硬件和軟件框架,并提供了這個框架要實現(xiàn)的基本功能及標(biāo)準(zhǔn)接口;應(yīng)用開發(fā)者可以基于這個框架開發(fā)出各種應(yīng)用。MIDP 2.0定義了一系列軟件接口,包括基本輸入輸出、圖形用戶接口、網(wǎng)絡(luò)、事件機制、文件系統(tǒng)、應(yīng)用管理系統(tǒng)、游戲接口、聲音輸出接口和安全機制。
由于CLDC的設(shè)備資源受到限制,所以SUN公司專門開發(fā)了一個新的虛擬機KVM。Sun公司于2000年公布了KVM的參考實現(xiàn),采用解釋執(zhí)行字節(jié)碼的Java虛擬機。與編譯執(zhí)行相比,解釋執(zhí)行的Java虛擬機在移動通信設(shè)備上具有顯著的優(yōu)點:虛擬機占用移動通信設(shè)備非易失性存儲空間比較??;虛擬機運行時占用RAM空間比較小;解釋執(zhí)行核心代碼量小;字節(jié)碼占用RAM空間比較??;實現(xiàn)難度低,可移植性好?,F(xiàn)有的具有KVM支持的移動通信設(shè)備大多是基于該參考實現(xiàn)的。
評論