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