已閱讀5頁,還剩2頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
基于J2ME技術(shù)的手機(jī)應(yīng)用軟件開發(fā)技術(shù)摘要本文主要就少了手機(jī)編程的發(fā)展及有關(guān)開發(fā)的技術(shù),重點(diǎn)闡述了J2ME技術(shù)的特點(diǎn)、整體架構(gòu)、開發(fā)過程及J2MEWirelessToolkit開發(fā)工具包。關(guān)鍵詞手機(jī)、J2ME、MIDP、J2MEWirelessToolkit一、引言隨著通訊技術(shù)的發(fā)展,手機(jī)越來越普及,現(xiàn)在的手機(jī)的數(shù)量已經(jīng)遠(yuǎn)遠(yuǎn)的超過電腦的用戶量,同時用戶不再滿足廠商固化在手機(jī)內(nèi)的幾個程序的功能,希望手機(jī)成為一個移動通信的終端,能下載程序并運(yùn)行,實(shí)現(xiàn)各種只有在PC機(jī)上才能實(shí)現(xiàn)的功能。手機(jī)游戲產(chǎn)業(yè)在全球已經(jīng)占有很大的市場,隨著無線互聯(lián)網(wǎng)時代的來臨,開發(fā)手機(jī)中的應(yīng)用程序已成為一種時尚,市場潛力十分巨大。二、常見的手機(jī)應(yīng)用軟件開發(fā)技術(shù)開發(fā)手機(jī)軟件的技術(shù)有多種,常見的有以下幾種:(1)WAP論壇創(chuàng)立的WAP(WirelessApplicationProtocol)技術(shù)。(2)日本NTTDoCoMo公司1999年2月推出的IMode技術(shù)。(3)韓國市場使用較廣GVM技術(shù)。(4)北美的Qualcomm(高通)公司和中國聯(lián)通共同推出的BREW(BinaryRuntlmeEnvironlnentforWireless)技術(shù)。(5)SUN公司推出了J2ME(Java2PlatformMicroEdition,Java2微型版)技術(shù)。其中J2ME一經(jīng)推出。得到了越來越多的廠商、開發(fā)人員和用戶的支持,正迅速成為最為流行的手機(jī)應(yīng)用軟件開發(fā)技術(shù)。J2ME開發(fā)平臺與其他技術(shù)相比,具有以下特點(diǎn):(1)平臺無關(guān)性。利用Java的“writeonce,runanywhere”特性,我們可以真正達(dá)到程序只要寫一次,拿到任何平臺上都可以執(zhí)行(當(dāng)然前提是必須要該手機(jī)廠商提供符合規(guī)格的JavaVirtualMachine才行)。(2)面向?qū)ο蟮木幊碳夹g(shù)。支持面向?qū)ο蟮木幊碳夹g(shù),提供豐富的類庫,在CLDC/MIDP中提供了與網(wǎng)絡(luò)相關(guān)API函數(shù)。(3)安全性。Java語言在原始設(shè)計(jì)上就將安全性的因考慮進(jìn)去,由于Java語言不支持指針的使用,在Java程序內(nèi)訪問某一塊內(nèi)存的數(shù)據(jù),不會因?yàn)橄螺d了一個錯誤的Java應(yīng)用程序而對設(shè)備或網(wǎng)絡(luò)造成危害。(4)動態(tài)下載應(yīng)用程序。手機(jī)與其他移動通訊設(shè)備擁有無線通訊能力。Java應(yīng)用程序可隨時通過無線網(wǎng)絡(luò)下載。(5)離線獲取。不用激活網(wǎng)絡(luò)鏈接,應(yīng)用就可以被使用。降低了傳輸費(fèi)用,減輕了可能的網(wǎng)絡(luò)故障帶來的影響。(6)龐大的開發(fā)者隊(duì)伍。據(jù)估計(jì)在全球有超過250萬的Java軟件開發(fā)者。Java也正快速地變成學(xué)院和大學(xué)里用教學(xué)的最流行的編程語言。三、J2ME技術(shù)架構(gòu)當(dāng)JAVA演化到JAVA2時,為了滿足市場對靈活性和個性的需求,SUN公司將JAVA技術(shù)發(fā)展為四個版本:針對開發(fā)企業(yè)服務(wù)應(yīng)用J2EE(Java2EnterpriseEdition)、針對普通PC應(yīng)用的J2SE(Java2standardEdition)、針對嵌入式設(shè)備及消費(fèi)類電子產(chǎn)品的J2ME(Java2MicroEdition)和針對智能卡開發(fā)的SmartCard。J2ME采用了模塊化的結(jié)構(gòu),底層是宿主機(jī)的操作系統(tǒng),內(nèi)部則分為3層:(1)Java虛擬機(jī)(JVM)層。專門針對特定設(shè)備的嵌入式操作系統(tǒng)定制的,并支持特定的J2MEconfiguration。J2ME支持的Java虛擬機(jī)有兩種:JVM和KVM。JV包含了基于臺式機(jī)系統(tǒng)上的虛擬機(jī)的所有功能,適用于擁有至少幾兆字節(jié)內(nèi)存的設(shè)備,如PDA、機(jī)頂盒等;而KVM(kilobytevirtualmachine)專用于內(nèi)存小、資源有限、能上網(wǎng)的設(shè)備如手機(jī)等。(2)Configuration(配置層)。J2ME現(xiàn)將所有的嵌入式設(shè)備大體分為兩種:一種是運(yùn)算功能有限且電力供應(yīng)也有限的嵌入式設(shè)備(如PDA和手機(jī))。另一種是運(yùn)算能力相對較佳且電力供應(yīng)比較充足的嵌入式設(shè)備(如網(wǎng)絡(luò)家電)。Java引入了一個configuration的概念。把上述第一種定義為有限連接設(shè)備配置段DLDC(ConnectedLimitedDeviceconfiguration)。第二種定義為連接設(shè)備配置CDC(ConnectedDeviceConfiguration)。配置層定義了Java虛擬機(jī)的最小功能集和Java類庫的最小集合,是profile層基礎(chǔ)。(3)Profile層(應(yīng)用模型層)。區(qū)分出兩種主要的Configuration之后,為了要更明確地區(qū)分出各種嵌入式裝置上Java程序該如何開發(fā)以及它們應(yīng)該具有哪些功能,J2ME接著又定義了Profile的概念。Profile是架構(gòu)在Configuration之上的規(guī)格。這一層是對用戶和程序員可見的,它針對不同設(shè)備類型(如手機(jī)類、機(jī)頂盒類),定義了不同種類的Java類庫和API(應(yīng)用程序接口)。任何一種profile都是在特定的configuration層基礎(chǔ)上實(shí)現(xiàn)的,擴(kuò)充了附加的JVM功能集與類庫。目前在CLD上只定義了一種profile即MIDP(mobileinformationdeviceprofile)。J2ME的系統(tǒng)架構(gòu)如圖1所示。圖1J2ME的體系結(jié)構(gòu)四、MIDP模型MIDP是JavaCommunityProcess(JCP)定義的,是獨(dú)立于設(shè)備供應(yīng)商的一個標(biāo)準(zhǔn)。包括下列軟件包:(1)java.lang;java編程語言基本類;(2)java.io;系統(tǒng)輸入與輸出;(3)java.util;集合、日期和時間支持,各種實(shí)用工具類;(4)java.microedition.lcdui;用戶界面工具包;(5)java.microedition.io;支持HTTP協(xié)議;(6)java.microedition.midlet;MIDlet和其環(huán)境之間的界面;(7)java.microedition.rms;固定記錄存儲。前面三個是核心CLDC軟件包,另加四個特定于MIDP的軟件包。前面三個軟件包屬于J2SE軟件包的子集,包含一些基本的類來提供諸如字符串處理、I/0操作和網(wǎng)絡(luò)通信等功能;后面四個軟件包提供了針對MIDP的擴(kuò)充。需要注意一點(diǎn),MIDP不支持浮點(diǎn)數(shù)的運(yùn)算。MIDletsuite是MIDP應(yīng)用程序的最小單位,每一個MIDlet都繼承自MIDlet抽象類,MIDlet類是提供了運(yùn)行時環(huán)境(應(yīng)用程序管理器)和MIDlet應(yīng)用程序之間的接口。MIDlet類提供用于調(diào)用、暫停、重新啟動和停止MIDlet應(yīng)用程序的API,運(yùn)行時環(huán)境通過傳送相關(guān)事件來改變應(yīng)用程序狀態(tài),MIDlet應(yīng)用程序的生命周期如圖2所示。圖2MIDlet的狀態(tài)轉(zhuǎn)換五、J2ME應(yīng)用程序開發(fā)步驟J2ME手機(jī)應(yīng)用程序開發(fā)的流程大致可分七步:(1)撰寫源程序(Java)代碼。利用文本編輯器編寫好源代碼,并以擴(kuò)展名為Java的文件保存。下面是一個簡單的MIDP應(yīng)用程序例子,運(yùn)行該程序可以會在MIDP設(shè)備的顯示屏上顯示“Helloworld!和Exit按鈕,按下該按鈕會終止應(yīng)用程序。源代碼件HelloWorldjava的內(nèi)容如下:importjavax.microedition.midlet.MIDlet;importjavax.microedition.lcdui.*;publicclassHelloWorldextendsMIDletimplementsCommandListenerprivateFormform;publicHelloWorld()/Createanewformonwhichtodisplayourtextform=newForm(“TestApp”);/Addthetext”HelloWorld!”totheformform.append(“HelloWorld!”);/Addacommandbuttonlabeled”Exit”form.addCommand(newCommand(“Exit”.Command.EXIT,1);/RegisterthisobjectasacommandListenerform.setCommandListener(this);publicvoidstartApp()/Getareferencetothedisplay,andshowtheformDisplaydisplay=Display.getDisplay(this);display.setCurrent(form);publicvoidpauseApp()publicvoiddestroyApp(booleanunconditional)form=null;publicvoidcommandAction(Commandc,Displayabled)/DestroythisMIDletdestroyApp(true);/NotifytheapplicationmanagementsoftwarethatthisMIDlet/hasenteredthedestroyedstatenotifyDestroyed();(2)編譯程序。把寫好的Java程序代碼利用SDK所供的javac編譯工具將程序代碼編譯成字節(jié)碼。(3)預(yù)先審核(Preverify)。這是Java程序中一個非常要的安全防護(hù)措施,Java虛擬機(jī)中提供了一個稱為類文件審核的機(jī)制,這個機(jī)制是要確保所有下載的Java類文件是正確的,不會進(jìn)行有安全顧慮的行為。(4)撰寫描述文件。MIDP應(yīng)用程序的描述文件也可以稱為JAD文件,以jad為擴(kuò)展名。JAD內(nèi)字段有些是選性的,有些則是在下載或執(zhí)行過程中,JAM(JavaApplationManager)一定會檢查的字段,一定要填入JAD內(nèi)。在JAD文件內(nèi)必須包含如下字段:MIDlet-Name,MIDlet-Version,MIDlet-Vendor,MIDlet-,Microedition-Pro6le,Microedition-Configuration。(5)合成JAR文件。MIDletsuite(JAR文件)是JAM執(zhí)行MIDP應(yīng)用程序的最小單位,還需要MIDlet會用到其他類型的文件(如影像文件或文本文件等)一起合成同一個JAR文件。合成JAR文件還可以減少程序的大小,以減少網(wǎng)絡(luò)傳輸時間。(6)測試和調(diào)試。接下來利用MIDlet參考實(shí)現(xiàn)所附的MIDP仿真器測試完成的MIDlet。(7)實(shí)體機(jī)器上執(zhí)行。將程序下載到實(shí)體機(jī)器上執(zhí)行,以測試其針對具體機(jī)器的運(yùn)行效率。六、J2MEWirelessToolkit開發(fā)工具61常見的J2ME開發(fā)工具用于手機(jī)的J2ME應(yīng)用程序,一般都要在PC上進(jìn)行開發(fā)。為了方便開發(fā)人員進(jìn)行開發(fā)和測試,各開發(fā)平臺提供商和移動設(shè)備廠商均提供了一些在PC機(jī)下開發(fā)手機(jī)應(yīng)用程序的開發(fā)工具和模擬器。SUN發(fā)布的官方版MIDlet開發(fā)工具J2MEWirelessToolkit、Bodand公司發(fā)布的與JBullder集成的MobileSet以及Motorola公司提供的MotoJ2SDK,這些工具提供了J2ME的開發(fā)環(huán)境,并能夠?qū)﹂_發(fā)結(jié)果進(jìn)行模擬,方便了開發(fā)人員在將應(yīng)用程序上載到手機(jī)上以前對其進(jìn)行充分測試和調(diào)試。62J2MEWirelessToolkit的開發(fā)環(huán)境的配置要安裝J2MEWirelessToolkit之前,一定要先安裝Java2SDKl.3以上的版本。如果計(jì)算機(jī)上沒有安裝Java2SDK的話,J2MEWirelessToolkit即使安裝完成,也無發(fā)進(jìn)行MIDlet的開發(fā)工作。63J2MEWirelessToolkit開發(fā)手機(jī)程序下面以建立顯示“Helloworld”簡單程序?yàn)槔v解J2MEWirelessToolkit的應(yīng)用步驟:(1)創(chuàng)建工程運(yùn)行J2MEWirelessToolkit的KToolbar,選擇“NewProject”工具按鈕,在其中填人項(xiàng)目名和MIDlet類名,點(diǎn)擊“CreateProject”,進(jìn)入屬性對話框設(shè)置屬性,即可在Toolkit的s目錄下建立一個名為“Hello”的目錄,內(nèi)含bin,res,sec,lib四個目錄。(2)編碼將上文中的Helloworldjava拷貝到上述的src目錄中(與MIDlet類名相同)。可以任意文本編輯器進(jìn)行代碼編輯。(3)編譯合成按下工具按鈕“Build”,KToolbar就會自動完成從編譯、預(yù)先審核到合成JAR檔的所有工作。產(chǎn)生的.Class文檔將存放在項(xiàng)目目錄中的ctasses目錄中。(4)測試和調(diào)試按下工具按鈕“Run”就可以啟動仿真器運(yùn)行測試應(yīng)用程序了。(5)打包選擇菜單“Project/Package/CreatePackage”,即可該項(xiàng)目進(jìn)行打包,并將打包生成的Jar文件存放于bin目錄中。七、總結(jié)由于J2ME的跨平臺性,各移動設(shè)備廠商都紛紛推出JAVA手機(jī),支持JAVA編程。這將更加推動移動設(shè)備上的軟件開發(fā),
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度內(nèi)衣設(shè)計(jì)版權(quán)合作開發(fā)合同樣本
- 2025年度臨時會議室搭棚施工與設(shè)備供應(yīng)合同4篇
- 2025年度商業(yè)門面使用權(quán)轉(zhuǎn)讓合同協(xié)議書4篇
- 2025版特色餐飲企業(yè)調(diào)味品及輔材采購合同3篇
- 2025年中國染色機(jī)行業(yè)市場發(fā)展監(jiān)測及投資潛力預(yù)測報告
- 2025年鰻魚干味品項(xiàng)目投資可行性研究分析報告
- 2025年度車輛掛靠經(jīng)營風(fēng)險控制合同4篇
- 2025-2030年中國蠶桑行業(yè)市場現(xiàn)狀調(diào)查及投資前景研判報告
- 2025年中國自來水凈化設(shè)備行業(yè)市場全景監(jiān)測及投資前景展望報告
- 2024-2025年中國票務(wù)系統(tǒng)應(yīng)用市場運(yùn)行態(tài)勢及行業(yè)發(fā)展前景預(yù)測報告
- 農(nóng)民工工資表格
- 【寒假預(yù)習(xí)】專題04 閱讀理解 20篇 集訓(xùn)-2025年人教版(PEP)六年級英語下冊寒假提前學(xué)(含答案)
- 2024年智能監(jiān)獄安防監(jiān)控工程合同3篇
- 幼兒園籃球課培訓(xùn)
- 統(tǒng)編版(2024新版)七年級《道德與法治》上冊第一單元《少年有夢》單元測試卷(含答案)
- 100道20以內(nèi)的口算題共20份
- 高三完形填空專項(xiàng)訓(xùn)練單選(部分答案)
- 護(hù)理查房高鉀血癥
- 項(xiàng)目監(jiān)理策劃方案匯報
- 《職業(yè)培訓(xùn)師的培訓(xùn)》課件
- 建筑企業(yè)新年開工儀式方案
評論
0/150
提交評論