基于J2ME技術(shù)的手機應(yīng)用軟件開發(fā)技術(shù)_第1頁
基于J2ME技術(shù)的手機應(yīng)用軟件開發(fā)技術(shù)_第2頁
基于J2ME技術(shù)的手機應(yīng)用軟件開發(fā)技術(shù)_第3頁
基于J2ME技術(shù)的手機應(yīng)用軟件開發(fā)技術(shù)_第4頁
基于J2ME技術(shù)的手機應(yīng)用軟件開發(fā)技術(shù)_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、基于j2me技術(shù)的手機應(yīng)用軟件開發(fā)技術(shù)摘要本文主要就少了手機編程的發(fā)展及有關(guān)開發(fā)的技術(shù),重點闡述了j2me技術(shù)的特點、整體架構(gòu)、開發(fā)過程及j2me wireless toolkit開發(fā)工具包。關(guān)鍵詞手機、j2me、midp、j2me wireless toolkit一、引言隨著通訊技術(shù)的發(fā)展,手機越來越普及,現(xiàn)在的手機的數(shù)量已經(jīng)遠(yuǎn)遠(yuǎn)的超過電腦的用戶量,同時用戶不再滿足廠商固化在手機內(nèi)的幾個程序的功能,希望手機成為一個移動通信的終端,能下載程序并運行,實現(xiàn)各種只有在pc機上才能實現(xiàn)的功能。手機游戲產(chǎn)業(yè)在全球已經(jīng)占有很大的市場,隨著無線互聯(lián)網(wǎng)時代的來臨,開發(fā)手機中的應(yīng)用程序已成為一種時尚,市場潛力

2、十分巨大。二、常見的手機應(yīng)用軟件開發(fā)技術(shù) 開發(fā)手機軟件的技術(shù)有多種,常見的有以下幾種: (1)wap論壇創(chuàng)立的wap (wireless application protocol)技術(shù)。 (2)日本ntt docomo公司1999年2月推出的imode技術(shù)。 (3)韓國市場使用較廣gvm技術(shù) 。 (4)北美的 qualcomm (高通)公司和中國聯(lián)通共同推出的brew (binary runtlme environlnent for wireless)技術(shù)。 (5)sun公司推出了j2me (java 2 platform micro edition,java2微型版 )技術(shù) 。 其中j2me

3、一經(jīng)推出。得到了越來越多的廠商、開發(fā)人員和用戶的支持,正迅速成為最為流行的手機應(yīng)用軟件開發(fā)技術(shù)。j2me開發(fā)平臺與其他技術(shù)相比,具有以下特點: (1)平臺無關(guān)性。利用java的“write once,run anywhere”特性,我們可以真正達(dá)到程序只要寫一次,拿到任何平臺上都可以執(zhí)行(當(dāng)然前提是必須要該手機廠商提供符合規(guī)格的java virtual machine才行)。 (2)面向?qū)ο蟮木幊碳夹g(shù)。支持面向?qū)ο蟮木幊碳夹g(shù),提供豐富的類庫,在cldc/midp中提供了與網(wǎng)絡(luò)相關(guān)api函數(shù)。(3)安全性。java語言在原始設(shè)計上就將安全性的因考慮進(jìn)去,由于java語言不支持指針的使用 ,在 j

4、ava程序內(nèi)訪問某一塊內(nèi)存的數(shù)據(jù),不會因為下載了一個錯誤的java應(yīng)用程序而對設(shè)備或網(wǎng)絡(luò)造成危害。 (4)動態(tài)下載應(yīng)用程序。手機與其他移動通訊設(shè)備擁有無線通訊能力。java應(yīng)用程序可隨時通過無線網(wǎng)絡(luò)下載。 (5)離線獲取。不用激活網(wǎng)絡(luò)鏈接,應(yīng)用就可以被使用。降低了傳輸費用,減輕了可能的網(wǎng)絡(luò)故障帶來的影響。 (6)龐大的開發(fā)者隊伍。據(jù)估計在全球有超過 250萬的java軟件開發(fā)者。java也正快速地變成學(xué)院和大學(xué)里用教學(xué)的最流行的編程語言 。三、j2me技術(shù)架構(gòu) 當(dāng)java演化到j(luò)ava2時,為了滿足市場對靈活性和個性的需求,sun公司將java技術(shù)發(fā)展為四個版本:針對開發(fā)企業(yè)服務(wù)應(yīng)用j2ee

5、(java 2 enterprise edition)、針對普通pc應(yīng)用的j2se (java 2 standard edition)、針對嵌入式設(shè)備及消費類電子產(chǎn)品的j2me (java 2 micro edition)和針對智能卡開發(fā)的smart card。 j2me采用了模塊化的結(jié)構(gòu),底層是宿主機的操作系統(tǒng),內(nèi)部則分為3層: (1)java虛擬機(jvm)層。專門針對特定設(shè)備的嵌入式操作系統(tǒng)定制的,并支持特定的j2me configuration。j2me支持的java虛擬機有兩種:jvm和kvm。jv包含了基于臺式機系統(tǒng)上的虛擬機的所有功能,適用于擁有至少幾兆字節(jié)內(nèi)存的設(shè)備,如pda、

6、機頂盒等;而kvm(kilobyte virtual machine)專用于內(nèi)存小、資源有限、能上網(wǎng)的設(shè)備如手機等。 (2)configuration (配置層)。j2me現(xiàn)將所有的嵌入式設(shè)備大體分為兩種:一 種是運算功能有限且電力供應(yīng)也有限的嵌入式設(shè)備(如pda和手機)。另一種是運算能力相對較佳且電力供 應(yīng)比較充足的嵌入式設(shè)備(如網(wǎng)絡(luò)家電)。java引入 了一個 configuration的概念。把上述第一種定義為有限連接設(shè)備配置段dldc (connected limited device configuration)。第二種定義為連接設(shè)備配置 cdc(connected device c

7、onfiguration)。配置層定義了java虛擬機的最小功能集 和java類庫的最小集合,是profile層基礎(chǔ)。 (3)profile層(應(yīng)用模型層)。區(qū)分出兩種主要的configuration之后,為了要更 明確地區(qū)分出各種嵌入式裝置上java程序該如何開發(fā)以及它們應(yīng)該具有哪些功能,j2me接著又定義了profile的概念。profile是架構(gòu)在configuration之上的規(guī)格。這一層是對用戶和程序員可見的,它針對不同設(shè)備類型(如手機類 、機頂盒類),定義了不同種類的java類庫和api(應(yīng)用程序接口)。任何一種profile都是在特定的configuration層基礎(chǔ)上實現(xiàn)的,擴

8、充了附加的jvm 功能集與類庫。目前在cld上只定義了一種 profile即midp (mobile information device profile)。 j2me的系統(tǒng)架構(gòu)如圖1所示。圖1 j2me的體系結(jié)構(gòu)四、 midp模型 midp是java community process(jcp)定義的,是獨立于設(shè)備供應(yīng)商的一個標(biāo)準(zhǔn)。包括下列軟件包:(1)java.lang;java編程語言基本類; (2)java.io;系統(tǒng)輸入與輸出; (3)java.util;集合、日期和時間支持,各種實用工具類; (4)java.microedition.lcdui;用戶界面工具包; (5)java.m

9、icroedition.io;支持http協(xié)議 ; (6)java.microedition.midlet;midlet和其環(huán)境之間的界面 ; (7)java.microedition.rms;固定記錄存儲。 前面三個是核心cldc 軟件包,另加四個特定于midp的軟件包。前面三個軟件包屬于j2se軟件包的子集,包含一些基本的類來提供諸如字符串處理、i/0操作和網(wǎng)絡(luò)通信等功能;后面四個軟件包提供了針對midp的擴充 。需要注意一點,midp不支持浮點數(shù)的運算。 midlet suite是midp應(yīng)用程序的最小單位,每一個midlet都繼承自midlet抽象類,midlet類是提供了運行時環(huán)境(

10、應(yīng)用程序管理器 )和midlet應(yīng)用程序之間的接口。midlet類提供用于調(diào)用、暫停、重新啟動和停止midlet應(yīng)用程序的api,運行時環(huán)境通過傳送相關(guān)事件來改變應(yīng)用程序狀態(tài),midlet應(yīng)用程序的生命周期如圖2 所示。圖2 midlet的狀態(tài)轉(zhuǎn)換五、 j2me應(yīng)用程序開發(fā)步驟 j2me手機應(yīng)用程序開發(fā)的流程大致可分七步 : (1)撰寫源程序(java)代碼。利用文本編輯器編寫好源代碼,并以擴展名為java的文件保存。下面是一個簡單的midp應(yīng)用程序例子,運行該程序可以會在 midp設(shè)備的顯示屏上顯示“hello world!和 exit按鈕,按下該按鈕會終止應(yīng)用程序。源代碼件hellowor

11、ldjava的內(nèi)容如下:importjavax.microedition.midlet.midlet; importjavax.microedition.lcdui.* ; public class helloworld extends midlet implements commandlistener private form form ; public helloworld () /create a new form on which to display our text form =new form (“test app”); /add the text”hello world!”to

12、 the form form.append (“hello world!”); /add a command button labeled”exit” form.addcommand ( new command ( “exit”.command.exit,1 ) ); /register this object as a commandlistener form.setcommandlistener (this); public void startapp ( ) /get a reference to the display,and show the form display display

13、=display.getdisplay (this); display.setcurrent (form); public void pauseapp ( ) public void destroyapp (boolean unconditional) form = null; public void commandaction (command c,displayabled)/destroy this midlet destroyapp (true); /notify the application management software that this midlet /has ente

14、red the destroyed state notifydestroyed ();(2)編譯程序。把寫好的java程序代碼利用sdk所供的javac編譯工具將程序代碼編譯成字節(jié)碼。 (3)預(yù)先審核(preverify)。這是java程序中一個非常要的安全防護(hù)措施,java虛擬機中提供了一個稱為類文件審核的機制,這個機制是要確保所有下載的 java類文件是正確的,不會進(jìn)行有安全顧慮的行為。 (4)撰寫描述文件。midp應(yīng)用程序的描述文件也可以稱為jad文件,以jad為擴展名。jad內(nèi)字段有些是選性的,有些則是在下載或執(zhí)行過程中,jam (java applation manager)一定會檢

15、查的字段,一定要填入jad內(nèi)。在jad文件內(nèi)必須包含如下字段: midlet-name,midlet-version,midlet-vendor,midlet-,microedition-pro6 le,microedition-configuration。 (5)合成jar文件。midlet suite(jar文件)是jam 執(zhí)行midp應(yīng)用程序的最小單位,還需要midlet會用到其他類型的文件(如影像文件或文本文件等)一起合成同一個jar文件。合成jar文件還可以減少程序的大小,以減少網(wǎng)絡(luò)傳輸時間。 待添加的隱藏文字內(nèi)容1(6)測試和調(diào)試。接下來利用midlet參考實現(xiàn)所附的midp仿真器

16、測試完成的midlet。 (7)實體機器上執(zhí)行。將程序下載到實體機器上執(zhí)行,以測試其針對具體機器的運行效率。六、 j2me wireless toolkit開發(fā)工具 61常見的j2me開發(fā)工具 用于手機的 j2me應(yīng)用程序,一般都要在pc上進(jìn)行開發(fā)。為了方便開發(fā)人 員進(jìn)行開發(fā)和測試,各開發(fā)平臺提供商和移動設(shè)備廠商均提供了一些在pc機下開發(fā)手機應(yīng)用程序的開發(fā)工具和模擬器。sun 發(fā)布 的官 方 版 midlet開發(fā)工具j2me wireless toolkit、bodand公司發(fā)布的與jbullder集 成的mobileset以及motorola公司提供的motoj2sdk,這些工具提供了j2m

17、e的開發(fā)環(huán)境,并能夠?qū)﹂_發(fā)結(jié)果進(jìn)行模擬,方便了開發(fā)人員在將應(yīng)用程序上載到手機上以前對其進(jìn)行充分測試和調(diào)試。 62 j2me wireless toolkit的開發(fā)環(huán)境的配置 要安裝 j2me wireless toolkit之前,一定要先安裝java2 sdk l.3以上的版本。如果計算機上沒有安裝 java 2 sdk的話,j2me wireless toolkit即使安裝完成,也無發(fā)進(jìn)行midlet的開發(fā)工作。 63 j2me wireless toolkit開發(fā)手機程序 下面以建立顯示“hello world”簡單程序為例,講解 j2me wireless toolkit的應(yīng)用步驟 :

18、(1)創(chuàng)建工程 運行 j2me wireless toolkit的ktoolbar,選擇“new project”工具按鈕,在其中填人項目名和midlet類名,點擊“create project”,進(jìn)入屬性對話框設(shè)置屬 性,即可在toolkit的s目錄下建立一個名為“hello” 的目錄,內(nèi)含 bin,res,sec,lib四個目錄。(2)編碼 將上文中的 helloworldjava拷貝到上述的src目錄中(與midlet類名相同)??梢匀我馕谋揪庉嬈鬟M(jìn)行代碼編輯。 (3)編譯合成 按下工具按鈕“build”,ktoolbar就會自動完成從編譯、預(yù)先審核到合成jar 檔的所有工作。產(chǎn)生的.class文檔將存放在項目目錄中的ctasses目錄中。 (4)測試和調(diào)試 按下工具按鈕“run”就可以啟動仿真器運行測試應(yīng)用程序了。 (5)打包 選擇菜單“project/package/create package”,即可該項目進(jìn)行打包,并將打包生成的jar文件存放于bin目錄中。七、 總結(jié)由于j2me的跨平臺性,各移動設(shè)備廠商都紛紛

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論