計算機畢業(yè)論文:J2ME技術(shù)開發(fā)信息終端
時間:2022-10-08 03:53:00
導(dǎo)語:計算機畢業(yè)論文:J2ME技術(shù)開發(fā)信息終端一文來源于網(wǎng)友上傳,不代表本站觀點,若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。
摘要:j2me是SUN公司最新推出的面向嵌入式產(chǎn)品的JAVA,目前市場上剛剛推出采用J2ME工具開發(fā)的手機和PDA產(chǎn)品,本文介紹了J2ME的特點和技術(shù),分析了J2ME將來的應(yīng)用以及當(dāng)前J2ME開發(fā)未來信息終端的技術(shù)。
關(guān)鍵詞:JAVA;虛擬機;J2ME;信息終端
1引言
Java語言是由美國SUN公司在1995年設(shè)計的,原是為機頂盒這種嵌入式系統(tǒng)設(shè)計的,但并沒有在嵌入式領(lǐng)域得到發(fā)展,隨著Internet的普及JAVA占領(lǐng)了PC端和Server端,現(xiàn)在Java又回到了嵌入式領(lǐng)域。為了和PC端、Server端的Java相區(qū)別,用于嵌入式系統(tǒng)的Java被稱為Java2MicroEdition,簡稱J2ME。
以嵌入式產(chǎn)品的典型——手機來說,我們可以看到,手機軟件經(jīng)歷了三個階段,最早只有基本的語音通話服務(wù),其后手機上增加了電話本、短消息和游戲等簡單的應(yīng)用功能,去年又增加了通過WAP方式訪問Internet的功能。
現(xiàn)在手機廠商還存在兩個普遍的問題:一個是缺乏開放的編程平臺,另一個是只能通過WAP方式訪問Internet,沒有其他方式實現(xiàn)。
通過應(yīng)用J2ME技術(shù)開發(fā)手機的應(yīng)用軟件,我們就可以解決這兩個問題:
首先,Java語言是跨平臺運行的,軟件開發(fā)商可以很容易地開發(fā)應(yīng)用程序,也可以方便地安裝到手機中;
其次,J2ME提供了HTTP、TCP等高級Internet協(xié)議,Java程序可以自由的訪問Internet。
2J2ME結(jié)構(gòu)分析
圖1J2ME應(yīng)用示意圖
Java內(nèi)部分三層,從下到上分別是VM(虛擬機)、Configration(配置層)和Profile(框架層)。
VM負責(zé)建立Java虛擬機,解釋Java字節(jié)碼;Configration建立了核心類庫,功能少(比如沒有UI),主要面向水平市場;Profile建立了高級類庫,功能豐富,面向垂直市場。
針對手機內(nèi)存少、速度慢和IO差的特點,J2ME針對VM、Configration和Profile3層做了特殊的實現(xiàn):
在虛擬機層,在手機上移植KVM,只需要幾百K內(nèi)存就可以運行;
在配置層,J2ME規(guī)定了連接有限設(shè)備配置(Connected,LimitedDeviceConfigration),簡稱CLDC。它適用于有雙向網(wǎng)絡(luò)連接,但是硬件資源有限的設(shè)備;
在框架層,J2ME規(guī)定了移動信息設(shè)備框架(MobileInformationDeviceProfile),簡稱MIDP。它適用于手機或雙向?qū)ず魴C。
3J2ME與WAP的關(guān)系
圖2WAP與手機(J2ME)的關(guān)系
J2ME與WAP并沒有直接競爭關(guān)系,而是共存互助。
WAP包括2層內(nèi)容:一層是無線Internet傳輸層,針對無線的特點制定了WDP、WTP等等協(xié)議;另一層是應(yīng)用層,也就是WAPBrowser,WAP為了適應(yīng)低速網(wǎng)絡(luò)的限制,簡化了Internet標(biāo)準(zhǔn)的HTML,制定了WML標(biāo)準(zhǔn)。
那么J2ME在傳輸層和應(yīng)用層又是什么呢?在傳輸層,J2ME提供了一組面向應(yīng)用程序的高層協(xié)議,包括HTTP和TCP(或UDP等),實際的傳輸可以基于WAP實現(xiàn),也可以基于其他方式(比如CSD或GPRS等)。在應(yīng)用層,J2ME提供了全功能的Java開發(fā)環(huán)境,可以用Client/Server方式來訪問Internet上的所有數(shù)據(jù)。如果需要的話,軟件開發(fā)商甚至可以開發(fā)出HTMLBrowser。
所以J2ME與WAP并沒有競爭關(guān)系,而是面向不同領(lǐng)域的兩套解決方案。如果是面向瀏覽的應(yīng)用,比如新聞、天氣預(yù)報等,可以繼續(xù)使用WAP方案;如果是需要智能處理的應(yīng)用,比如email、股票等,就更適合用J2ME實現(xiàn)。
4J2ME中虛擬機KVM
KVM是Java虛擬機;是一個想象中的機器,在實際的計算機上通過軟件模擬來實現(xiàn)。Java虛擬機有自己想象中的硬件,如處理器、堆棧、寄存器等,還具有相應(yīng)的指令系統(tǒng)。引入Java語言虛擬機后Java語言在不同平臺上運行時不需要重新編譯。Java虛擬機在執(zhí)行字節(jié)碼時,把字節(jié)碼解釋成具體平臺上的機器指令執(zhí)行。
KVM由五部分組成:一組指令集、一組寄存器、一個棧、一個無用單元收集堆(Garbage-collected-heap)、一個方法區(qū)域。這五部分是Java虛擬機的邏輯成份,不依賴任何實現(xiàn)技術(shù)或組織方式,但它們的功能必須在真實機器上以某種方式實現(xiàn)。
5J2ME未來應(yīng)用
Motorola是J2ME的主要支持者,第一個在手機上移植了KVM,又領(lǐng)導(dǎo)全球手機廠家制定了MIDP規(guī)范。日本已經(jīng)將J2ME開發(fā)的手機投入到商業(yè)應(yīng)用,主要是游戲、聊天、證券等交互信息應(yīng)用領(lǐng)域。
成都華好網(wǎng)景公司最近推出采用J2ME開發(fā)的手機地圖瀏覽器,首家實現(xiàn)以J2MEMIDP方式支持Java手機,在OkMap地圖服務(wù)器的支持下,可對多個城市進行地圖瀏覽、單位查找、街道查找、按類型進行最近目標(biāo)查找、公交換乘咨詢、兩點間距離估算等操作。
北京科銀京成公司與SUN公司合作推出了基于他們自己開發(fā)的操作系統(tǒng)平臺的JAVA虛擬機,并可以實現(xiàn)面向手機和PDA的應(yīng)用。
美國硅谷一些公司也在國內(nèi)成立了分公司,專門推廣JAVA在手機和PDA等終端產(chǎn)品上的應(yīng)用。
目前在手機市場上已經(jīng)出現(xiàn)的應(yīng)用JAVA的產(chǎn)品有:
(1)2001年4月,美國Nextel通信公司宣布推出兩款由摩托羅拉公司生產(chǎn)的JAVA手機,i85s售價為200美元,i50sx售價為150美元。這是美國市場上首先推出的JAVA手機。同時支持WAP功能;
(2)2001年6月底,摩托羅拉公司推出天拓A6288,支持J2ME開發(fā)程序;
(3)日本J-Phone公司從2001年7月中旬開始上市兩種內(nèi)置對應(yīng)“Java”應(yīng)用軟件和3D的數(shù)碼相機的手機;
(4)西門子公司2001年6月推出一款6688I的手機是世界上首部KJAVA手機,可以下載任何用KJAVA計算機語言編寫的應(yīng)用程序,包括各種游戲軟件;
我們預(yù)計在未來的兩至五年內(nèi),大多數(shù)新的信息設(shè)備將與Internet連接,這將導(dǎo)致用戶使用這些設(shè)備的方式產(chǎn)生根本性的變化。用戶無論何時、何地和使用何種設(shè)備均可方便地傳遞網(wǎng)頁內(nèi)容、企業(yè)數(shù)據(jù)和個人數(shù)據(jù)。
這些新信息設(shè)備上網(wǎng)的一個顯著后果是比現(xiàn)今的設(shè)備更加趨向于可自定制化和個人化。過去的設(shè)備有與硬件相關(guān)的程序代碼。與此不同,現(xiàn)在新的信息設(shè)備將允許用戶從Internet下載新的服務(wù)和應(yīng)用程序來定制設(shè)備。
現(xiàn)在已經(jīng)有一些無線設(shè)備廠商正在制造新的蜂窩手機,可使用戶下載諸如交互游戲、網(wǎng)上銀行、訂票系統(tǒng)和無線協(xié)作等等的應(yīng)用程序。
6J2ME開發(fā)信息終端技術(shù)
目前,信息終端的產(chǎn)品代表就是手機和PDA,但是他們的功能都很有限,隨著J2ME的發(fā)展,未來的信息終端功能可以無限拓展。
按照J2ME的層次結(jié)構(gòu),我們分析采用J2ME開發(fā)信息終端的技術(shù)。
?J2ME中KVM軟件平臺的開發(fā);
目前,有很多信息終端產(chǎn)品開發(fā)商都開發(fā)了適用于自己產(chǎn)品的KVM軟件平臺,也有一些軟件供應(yīng)商采用開放的技術(shù)開發(fā)面向各類嵌入式產(chǎn)品的KVM平臺,結(jié)合具體的信息終端再進行二次開發(fā),完成針對具體產(chǎn)品的KVM。
關(guān)于KVM軟件平臺的開發(fā),我們認為需要注意兩個問題:
首先,為了支持用戶和信息終端提出的靈活性的和可定制性的要求,KVM應(yīng)用平臺必須設(shè)計成模塊化和可縮放化。
其次,隨著設(shè)備制造商開發(fā)新的設(shè)備家族,KVM軟件平臺技術(shù)應(yīng)該提供范圍廣泛的框架層、配置層和虛擬機,它們針對適應(yīng)不同的應(yīng)用程序、不同的需求、不同的內(nèi)存,進行過最優(yōu)化處理。
關(guān)于對Internet的訪問,在使用KVM應(yīng)用平臺后可以解決:
(1)瀏覽器方式訪問Internet的功能有限;
(2)不能直接訪問Internet,需要Gateway過濾;
(3)只顯示W(wǎng)ML,不能顯示復(fù)雜格式圖形;
(4)在線交易增加服務(wù)器負荷,速度慢;
(5)不能訪問本地存儲區(qū);
?J2ME配置層的應(yīng)用
在配置層,J2ME規(guī)定了連接有限設(shè)備配置CLDC,它適用于有雙向網(wǎng)絡(luò)連接,但是硬件資源有限的設(shè)備;該層軟件的開發(fā)主要實現(xiàn)硬件設(shè)備的標(biāo)準(zhǔn)配置,隨著設(shè)備的不同實現(xiàn)不同的配置。
這一層對于用戶可見度要低一些,但對框架層非常重要。它針對“水平”市場的需求,定義了Java虛擬機的最小功能集和Java類庫的最小集合。在某種意義上,配置層定義了開發(fā)者在所有設(shè)備上都可以使用的Java特性和類庫的“最小公分母”。
?在框架層按照MIDP規(guī)范開發(fā)的各種API;
框架層針對不同的設(shè)備,在配置層的基礎(chǔ)上規(guī)定了附加的API。為了滿足不斷更新的令人興奮的應(yīng)用程序,框架層可以擴充新的Java庫類。
?面向具體信息終端的應(yīng)用程序;
具有J2ME的KVM、配置層和框架層后的信息終端,可以實現(xiàn)各種功能的應(yīng)用程序,目前已經(jīng)實現(xiàn)的功能包括交互性游戲、聊天、電子郵件、證券交易等;根據(jù)我們的分析,未來的信息終端將會根據(jù)市場的需要具備客戶自由定制、功能專用、信息多樣等特點。
7結(jié)束語
J2ME是專門面向嵌入式并且對資源要求較少的產(chǎn)品的開發(fā)工具,尤其適合在無線通信產(chǎn)品上網(wǎng)絡(luò)應(yīng)用軟件的開發(fā)。相信隨著無線網(wǎng)絡(luò)速率的提高,J2ME工具的應(yīng)用和產(chǎn)品開發(fā)將進入一個高速發(fā)展的時期。
參考文獻
[1]王克宏,等。Java嵌入技術(shù)[M].北京:清華大學(xué)出版社,1998.
[2]SUNMicrosystems。KVM白皮書[EB/OL]/docs/kvm/kvmwp_o_contents.htm,2000-5-19.
[3]孫立,等。J2ME開發(fā)循序漸進[EB/OL]/docs/whatIsKjava-CN/frame.htm,9Nov.2000.
[4]段明輝,等。Java嵌入技術(shù)的現(xiàn)狀及應(yīng)用前景[EB/OL]/developerWorks/java/java_embeded/index.shtml,,2000年12月23日.
[5]ToddSundsted。J2MEgrowsup[EB/OL]/developerWorks/java/j-j2me/index_eng.shtml,,2001年5月.