版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p> 本 科 畢 業(yè) 論 文</p><p> 基于J2ME技術(shù)的手機(jī)導(dǎo)游系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)</p><p> Design and Implementation of the J2ME Technology-Based Mobile Phone Tour Guide System</p><p><b> 姓 名:</b&
2、gt;</p><p><b> 學(xué) 號:</b></p><p> 學(xué) 院:軟件學(xué)院</p><p><b> 系:軟件工程</b></p><p> 專 業(yè):軟件工程</p><p><b> 年 級:</b><
3、;/p><p><b> 指導(dǎo)教師: </b></p><p><b> 年 月</b></p><p><b> 摘 要</b></p><p> 手機(jī)導(dǎo)游,首先它是通過互聯(lián)網(wǎng)得到數(shù)據(jù)并在手機(jī)上顯示,這就不需要景點(diǎn)投資以前的電子導(dǎo)游所需要的昂貴硬件設(shè)備,節(jié)省了大量的
4、費(fèi)用,而且也省去了維護(hù)硬件所需要的人力和財(cái)力。對于景點(diǎn)來說,手機(jī)導(dǎo)游與人工導(dǎo)游相比,能避免由于導(dǎo)游個(gè)人因素帶來的服務(wù)質(zhì)量的不穩(wěn)定性,為游客提供更加全面客觀的服務(wù)。通過自動手機(jī)導(dǎo)游器也可大大提高游客對景點(diǎn)的認(rèn)知程度,并通過他們的傳播能加快提高景點(diǎn)的知名度,從而增加游客的流量。同時(shí)這也是手機(jī)導(dǎo)游系統(tǒng)商業(yè)前景所在。</p><p> 許多著名的手機(jī)生產(chǎn)廠家都開發(fā)了JAVA手機(jī),J2ME是專門用于嵌入式設(shè)備的開發(fā)JAV
5、A軟件,用J2ME實(shí)現(xiàn)的手機(jī)導(dǎo)游系統(tǒng),當(dāng)你到了一個(gè)陌生的地方,只要在你的彩屏手機(jī)上輸入你當(dāng)前的位置和目的地,你的手機(jī)就會傳回具體的行動路線以及路線中標(biāo)志建筑物的實(shí)景圖像,以及建筑相關(guān)資料介紹,如果你滿意,它還會告訴你在附近交通、購物、食宿等方面的信息服務(wù)。本系統(tǒng)是基于J2ME技術(shù)開發(fā)一個(gè)手機(jī)導(dǎo)游系統(tǒng),可提供景點(diǎn)查詢、交通查詢、GPS地圖顯示的功能,運(yùn)用JAVA語言實(shí)現(xiàn)系統(tǒng)的軟件編程。同時(shí)還闡述了手機(jī)地圖查詢和顯示的原理,手機(jī)客服端和服務(wù)
6、器通過TCP協(xié)議傳輸信息的網(wǎng)絡(luò)通信過程,以及基于J2ME的手機(jī)客服端應(yīng)用程序客服端應(yīng)用程序界面的實(shí)現(xiàn)和服務(wù)器數(shù)據(jù)庫的建立。</p><p> 關(guān)鍵詞:JAVA;J2ME;嵌入式開發(fā);手機(jī)導(dǎo)游</p><p><b> Abstract</b></p><p> Mobile phone tour guide,first of all is
7、 to receive data via the Internet and displayed on the phones, which does not require the investment attraction of the electronic tour guide before the expensive hardware required equipment, the cost savings, but also el
8、iminate the need for hardware maintenance of human and financial resources. For attractions, the mobile phone tour guide compared with the manual to avoid personal factors as a result of tour guides service quality broug
9、ht about by the uncer</p><p> Many well-known mobile phone manufacturers have developed JAVA phones, J2ME is designed for embedded devices JAVA software development with J2ME mobile phone tour guide system
10、to achieve, when you come to a strange place, as long as the color of your phone, enter your current location and destination, your phone will return a specific course of action and route signs of real images of building
11、s, as well as information on construction-related, if you are satisfied, it will tell you that traffic i</p><p> Key words: JAVA; J2ME; Embedded Development; Mobile phone tour guide目 錄</p><p>&
12、lt;b> 第一章引言1</b></p><p> 1.1研究背景和選題意義1</p><p><b> 1.1.1背景1</b></p><p><b> 1.2.1意義1</b></p><p> 1.2導(dǎo)游系統(tǒng)的發(fā)展現(xiàn)狀2</p><
13、;p><b> 1.3研究目標(biāo)3</b></p><p><b> 1.4論文結(jié)構(gòu)3</b></p><p><b> 1.5本章小結(jié)3</b></p><p> 第二章 系統(tǒng)解決方案和相關(guān)知識4</p><p> 2.1手機(jī)軟件開發(fā)介紹4</p
14、><p> 2.1.1手機(jī)軟件開發(fā)平臺4</p><p> 2.1.2手機(jī)硬件平臺6</p><p> 2.1.3手機(jī)操作系統(tǒng)6</p><p> 2.2基于J2ME的技術(shù)方案7</p><p> 2.2.1 JAVA平臺技術(shù)7</p><p> 2.2.2 J2ME8<
15、;/p><p> 2.2.3 J2ME技術(shù)方案8</p><p> 2.2.4 J2ME總體體系結(jié)構(gòu)9</p><p> 2.4 MIDP10</p><p> 2.5 CLDC11</p><p> 2.7 TCP協(xié)議13</p><p> 2.6 GPS13</p&
16、gt;<p> 2.7本章小結(jié)13</p><p> 第三章 系統(tǒng)總體設(shè)計(jì)和關(guān)鍵技術(shù)14</p><p> 3.1系統(tǒng)開發(fā)環(huán)境14</p><p> 3.1.1軟件環(huán)境14</p><p> 3.1.2硬件環(huán)境14</p><p> 3.2系統(tǒng)功能需求分析14</p>
17、<p> 3.2.1功能需求14</p><p> 3.2.2非功能需求15</p><p> 3.3系統(tǒng)總體設(shè)計(jì)16</p><p><b> 3.4客服端17</b></p><p> 3.4.1界面設(shè)計(jì)17</p><p> 3.4.2圖形用戶界面的實(shí)現(xiàn)1
18、7</p><p> 3.5數(shù)據(jù)通信18</p><p> 3.5.1客服端與服務(wù)器交換的網(wǎng)絡(luò)接口18</p><p> 3.5.2客服端與服務(wù)器之間的通信19</p><p> 3.6關(guān)鍵技術(shù)20</p><p> 3.7本章小結(jié)21</p><p> 第四章 系統(tǒng)實(shí)施
19、22</p><p><b> 4.1類22</b></p><p> 4.1.1客戶端類22</p><p> 4.1.2服務(wù)器類22</p><p><b> 4.2類功能23</b></p><p> 4.2數(shù)據(jù)交互流程24</p>&
20、lt;p><b> 4.3架構(gòu)圖25</b></p><p><b> 4.5數(shù)據(jù)庫26</b></p><p> 4.6運(yùn)行界面截圖27</p><p> 第五章 總結(jié)與展望34</p><p><b> 致 謝35</b></p>&
21、lt;p><b> [參考文獻(xiàn)]36</b></p><p><b> Contents</b></p><p> Chapter 1 Introduction1</p><p> 1.1 Background and Significance of Research Topics1</p>
22、<p> 1.1.1 Background1</p><p> 1.2.1 Significance1</p><p> 1.2 Actuality and Development2</p><p> 1.3 Research Objectives3</p><p> 1.4 Thesis Structure
23、3</p><p> 1.5 Summary of This Chapter3</p><p> Chapter 2 System solutions and Knowledge4</p><p> 2.1 Introduction of The Mobile Phone Software Development4</p><p>
24、; 2.1.1 Mobile Phone Software Development Platform4</p><p> 2.1.2 Mobile Hardware Platform6</p><p> 2.1.3 Mobile Phone Operating System6</p><p> 2.2 J2ME Technology-based Pro
25、grams7</p><p> 2.2.1 JAVA Platform Technology7</p><p> 2.2.2 J2ME8</p><p> 2.2.3 J2ME Technology Programme8</p><p> 2.2.4 The Overall Architecture of J2ME9<
26、/p><p> 2.4 MIDP10</p><p> 2.5 CLDC11</p><p> 2.7 TCP Protocol13</p><p> 2.6 GPS13</p><p> 2.7 Summary of This Chapter13</p><p> Chapt
27、er 3 System Designing and Key Technology14</p><p> 3.1 System Development Environment14</p><p> 3.1.1 Software Environment14</p><p> 3.1.2 Hardware Environment14</p>&
28、lt;p> 3.2 System Functions and Needs Analysis14</p><p> 3.2.1 Functional Requirements14</p><p> 3.2.2 Non-functional Requirements15</p><p> 3.3 System Design16</p>
29、<p> 3.4 Client17</p><p> 3.4.1 Interface Design17</p><p> 3.4.2 The Realization of Graphical User Interface17</p><p> 3.5 Data Communication18</p><p> 3
30、.5.1 Exchange With The Back-end Server Network Interface18</p><p> 3.5.2 Data With The Back-end Server Communication19</p><p> 3.6 Key Technology20</p><p> 3.7 Summary of This
31、 Chapter21</p><p> Chapter 4 System Implementation22</p><p> 4.1Class22</p><p> 4.1.1 Client Design22</p><p> 4.1.2 Server Design22</p><p> 4.2 C
32、lass Function23</p><p> 4.2The Process of Main Line Data Exchang24</p><p> 4.3 Silverthorne Atom25</p><p> 4.5 Database26</p><p> 4.6 Images When Running27<
33、/p><p> Chapter 5 Summary34</p><p> Acknowledgement35</p><p> [References]36</p><p><b> 引言</b></p><p><b> 研究背景和選題意義</b></p&
34、gt;<p><b> 1.1.1背景</b></p><p> 我國很多城市有著非常豐富的旅游資源。近年來,旅游業(yè)的發(fā)展比較迅速,所以開發(fā)和利用這些資源發(fā)展旅游業(yè)有著廣闊的前景。而如何利用這一契機(jī),建立完善的旅游信息,加快城市旅游業(yè)發(fā)展的步伐已成為當(dāng)務(wù)之急。導(dǎo)游系統(tǒng)是指用電子設(shè)備來代替導(dǎo)游服務(wù)人員對城市的景點(diǎn),交通進(jìn)行介紹的系統(tǒng),它的出現(xiàn)對正在蓬勃發(fā)展的旅游業(yè)增加了很大的
35、發(fā)展動力。近年來隨著手機(jī)等移動平臺的飛速發(fā)展,這對導(dǎo)游系統(tǒng)的發(fā)展提供了很好的硬件平臺,使導(dǎo)游系統(tǒng)出現(xiàn)了很多新的發(fā)展趨勢。而手機(jī)使用方便,容易攜帶,讓導(dǎo)游系統(tǒng)更具實(shí)用和市場,手機(jī)導(dǎo)游正是在這種必然的條件下產(chǎn)生的。</p><p><b> 1.2.1意義</b></p><p> 人類需要的最基本信息包括:時(shí)間,地點(diǎn)和內(nèi)容,而在人們的移動中,最需要的信息就是“位置信
36、息”“手機(jī)導(dǎo)游”,特別是出現(xiàn)緊急情況時(shí)更需要“確切的位置信息”手機(jī)導(dǎo)游系統(tǒng)就可以確定所在位置[6]。這樣為我們的生活提供了不少方便,因此,在移動通信中,用戶(手機(jī)移動平臺)的位置信息和電子網(wǎng)絡(luò)地圖不僅對整個(gè)移動通信網(wǎng)絡(luò)來說是極其重要的,而且對用戶來說也非常重要,這要求能為移動用戶提供有關(guān)的位置服務(wù)以及導(dǎo)游服務(wù)。在我國的旅游市場,長期以來,游客在景區(qū)旅游時(shí),可看的景點(diǎn)多,可了解的資訊卻很少,屬于低層次的觀感旅游階段。使用手機(jī)導(dǎo)游系統(tǒng),則可
37、以很好的解決以上問題。</p><p> J2ME,既Java 2 Micro Edition,是SUN公司推出的在移動設(shè)備上運(yùn)行的微型版JAVA平臺,常見的移動設(shè)備有手機(jī),PDA,電子詞典,以及各式各樣的信息終端如機(jī)頂盒等等。與此同時(shí),各種配套硬件的出現(xiàn)(如GPS、GSM模塊等)使得無線互聯(lián)網(wǎng)應(yīng)用更多樣化,功能更強(qiáng)大。J2ME是在無線通訊設(shè)備上開發(fā)Web應(yīng)用的理想平臺,允許移動通訊設(shè)備通過無線網(wǎng)絡(luò)訪問Inte
38、rnet上的所有信息。</p><p> 同時(shí),對于這個(gè)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)有助于在原有JAVA的知識基礎(chǔ)上了解和掌握J(rèn)2ME技術(shù),作為程序本身的開發(fā)也具有很強(qiáng)的實(shí)用價(jià)值。</p><p> 1.2導(dǎo)游系統(tǒng)的發(fā)展現(xiàn)狀</p><p> 雖然導(dǎo)游系統(tǒng)已經(jīng)發(fā)展了十幾年,可電子技術(shù)應(yīng)用于旅游行業(yè)還是個(gè)新興事物。目前國內(nèi)外的導(dǎo)游系統(tǒng)經(jīng)歷了以下幾種形式的發(fā)展:</p&
39、gt;<p> 1. 基于觸摸屏的導(dǎo)游系統(tǒng):這是通過一臺觸摸屏來實(shí)現(xiàn)旅游信息的導(dǎo)游系統(tǒng),可借助強(qiáng)大的處理器提供全方位的多媒體信息,游客通過觸摸屏來查看景點(diǎn)的相關(guān)介紹。缺點(diǎn)是投資大,且每臺觸摸屏導(dǎo)游系統(tǒng)只能供一個(gè)游客使用。</p><p> 2. 電子手工/自動導(dǎo)游系統(tǒng):其形式為游客配備腰包式接收機(jī),當(dāng)靠近某一景點(diǎn)時(shí),手動觸發(fā)“收聽”鍵或主動檢測發(fā)送機(jī)并接收語音信息。此方式讓游客獲得了一定的自主性
40、,但也有區(qū)域局限性,且難以做到各取所需。</p><p> 3. GPS導(dǎo)游系統(tǒng):游客手持帶有GPS接收器的移動終端,比如手機(jī)、PDA等。系統(tǒng)便能實(shí)時(shí)判斷其當(dāng)前位置并播放預(yù)先存放在終端上的景點(diǎn)介紹。其優(yōu)勢為不必為每個(gè)景點(diǎn)安裝發(fā)送器,只需為每個(gè)游客配備一個(gè)GPS終端即可,大大降低了系統(tǒng)的成本[4]。</p><p> 目前,應(yīng)用于手機(jī)的導(dǎo)游軟件也有不少,但是大部分都是單機(jī)操作,就是程序就
41、在手機(jī)存儲器上讀取數(shù)據(jù),而手機(jī)的存儲又很小,使得軟件的功能大打折扣。無線網(wǎng)絡(luò)的發(fā)展使得手機(jī)可以通過網(wǎng)絡(luò)訪問后臺服務(wù)器的數(shù)據(jù)庫,不僅減少手機(jī)存儲器的壓力,同時(shí)可以使得數(shù)據(jù)能及時(shí)更新。由于MIDP2.0的出現(xiàn),JAVA在手機(jī)無線網(wǎng)絡(luò)通信中有著出色的表現(xiàn),特別是在當(dāng)前開始試行的3G無線網(wǎng)絡(luò)中,越來越多的廠商在SUN、摩托羅拉、西門子和愛立信等公司的技術(shù)支持下,開始開發(fā)基于J2ME平臺的無線應(yīng)用服務(wù)。與其他軟件開發(fā)平臺相比,J2ME具有開放、庫
42、類和程序資源豐富等優(yōu)勢,由此得到了大多數(shù)手機(jī)廠商的支持。3G(第三代移動通信)將主要基于寬帶CDMA技術(shù),能夠提供更大的系統(tǒng)容量和更高的數(shù)據(jù)傳輸速率,以支持無線因特網(wǎng)接人和無線多媒體業(yè)務(wù),可使語音、數(shù)據(jù)、多媒體業(yè)務(wù)實(shí)現(xiàn)綜合,使個(gè)人終端用戶能夠在全球范圍內(nèi)的任何時(shí)間、任何地點(diǎn)、與任何人、用任意方式高質(zhì)量地實(shí)現(xiàn)任何信息的移動通信與傳輸。</p><p> 隨著又有4G網(wǎng)絡(luò)的出現(xiàn),4G的定義到目前為止依然有待明確,它
43、的技術(shù)參數(shù)、國際標(biāo)準(zhǔn)、網(wǎng)絡(luò)結(jié)構(gòu)、乃至業(yè)務(wù)內(nèi)容均未有明確說法。4G是集3G與WLAN于一體,并能夠傳輸高質(zhì)量視頻圖像,它的圖像傳輸質(zhì)量與高清晰度電視不相上下。4G系統(tǒng)能夠以100Mbps的速度下載,比目前的撥號上網(wǎng)快2000倍,上傳的速度也能達(dá)到20Mbps,并能夠滿足幾乎所有用戶對于無線服務(wù)的要求,JAVA的無線應(yīng)用會有更好的發(fā)展。</p><p><b> 1.3研究目標(biāo)</b><
44、/p><p> 使用基于J2ME平臺的JAVA語言開發(fā)一個(gè)手機(jī)導(dǎo)游系統(tǒng),實(shí)現(xiàn)一個(gè)城市的景點(diǎn)和公交查詢功能。通過TCP協(xié)議socket連接在本地網(wǎng)絡(luò)讓手機(jī)和后臺服務(wù)器進(jìn)行數(shù)據(jù)通信,并自定義移動位置的算法,通過一個(gè)區(qū)域地圖來模擬GPS導(dǎo)游的地圖功能。</p><p><b> 1.4論文結(jié)構(gòu)</b></p><p> 論文主要分五個(gè)章節(jié)::第一章
45、為“引言”;第二章介紹基于J2ME技術(shù)開發(fā)手機(jī)導(dǎo)游系統(tǒng)的知識和方案;第三章給出系統(tǒng)的總體設(shè)計(jì);第四章介紹開發(fā)過程的關(guān)鍵技術(shù);第五章是系統(tǒng)的實(shí)施;第六章為結(jié)束語。</p><p><b> 1.5本章小結(jié)</b></p><p> 本章介紹了導(dǎo)游系統(tǒng)出現(xiàn)的背景、使用價(jià)值和目前出現(xiàn)在手機(jī)平臺上的手機(jī)導(dǎo)游系統(tǒng)。對目前用J2ME技術(shù)開發(fā)手機(jī)導(dǎo)游的現(xiàn)狀和發(fā)展進(jìn)行了簡單的闡述
46、,說明了選擇這個(gè)項(xiàng)目的意義。</p><p> 第二章 系統(tǒng)解決方案和相關(guān)知識</p><p> 2.1手機(jī)軟件開發(fā)介紹</p><p> 2.1.1手機(jī)軟件開發(fā)平臺</p><p> 手機(jī)軟件開發(fā)平臺作為連接硬件、承載應(yīng)用的關(guān)鍵平臺,扮演著舉足輕重的角色。目前市場上的手機(jī)開發(fā)平臺主要有三個(gè):JAVA,BREW和.NET。</p
47、><p><b> JAVA:</b></p><p> 目前在移動領(lǐng)域廣泛使用的開發(fā)平臺是SUN開發(fā)的J2ME(Java2 Micro Edition),即用于嵌入式系統(tǒng)的Java。 J2ME技術(shù)由一個(gè)虛擬機(jī)KVM(K Virtual Machine)和一組API組成,這組API適合于為消費(fèi)和嵌入式電子設(shè)備提供經(jīng)過裁剪的運(yùn)行環(huán)境。</p><p&
48、gt; KVM虛擬機(jī)本身僅僅需要40-80KB內(nèi)存、20-40KB動態(tài)內(nèi)存(堆)能夠運(yùn)行在16位處理器上。</p><p> J2ME為移動互聯(lián)網(wǎng)引入了一種新的模型,即允許手機(jī)可以從互聯(lián)網(wǎng)上下載各種應(yīng)用程序,并在手機(jī)里創(chuàng)造可執(zhí)行環(huán)境,離線運(yùn)行這些程序。作為Java技術(shù)在移動電話等小型設(shè)備的版本,它針對屏幕、電能和內(nèi)存等資源有限的移動設(shè)備進(jìn)行了優(yōu)化和定義,為了解決無線設(shè)備多樣化的矛盾,Sun依照各種設(shè)備的資源特
49、性將J2ME技術(shù)架構(gòu)分為Java Virtual Machine(JVM)、配置(configuration)和說明(profile)三層,然后再進(jìn)一步細(xì)分,這使J2ME能夠在每一類設(shè)備的限制下工作,而同時(shí)提供最低限度的Java語言功能特性。</p><p> 由于定義了可執(zhí)行程序下載的標(biāo)準(zhǔn),并在手機(jī)上創(chuàng)立了可執(zhí)行環(huán)境和程序開發(fā)語言,由此,在移動通信業(yè)第一次為軟件開發(fā)商創(chuàng)造了巨大的商業(yè)機(jī)會,手機(jī)用戶在得到豐富應(yīng)
50、用體驗(yàn)的同時(shí),也大大提高了運(yùn)行商的網(wǎng)絡(luò)流量。但是目前支持J2ME的移動設(shè)備處理速度還比較慢,Java服務(wù)應(yīng)用軟件相對較少。</p><p><b> BREW:</b></p><p> 美國高通公司的BREW (Binary Runtime Environment for Wireless)平臺是一種為無線設(shè)備提供開放式標(biāo)準(zhǔn)平臺的瘦應(yīng)用程序執(zhí)行環(huán)境,是無線應(yīng)用程
51、序開發(fā)、設(shè)備配置、應(yīng)用程序發(fā)布以及計(jì)費(fèi)和支付的完整端到端解決方案的一部分。完整的BREW解決方案包括面向開發(fā)者的BREW SDK(軟件開發(fā)包)、面向設(shè)備制造商的BREW應(yīng)用程序平臺和移植工具以及由運(yùn)營商控制和管理的BREW分發(fā)系統(tǒng)(BDS)。</p><p> BRE平臺是獨(dú)立于空中接口的技術(shù),所以BREW與任何網(wǎng)絡(luò)的結(jié)合都非常平滑。在CDMA2000 1X網(wǎng)絡(luò)中可以充分利用其高速的數(shù)據(jù)傳輸速率,為最終用戶帶來
52、極具沖擊力的用戶體驗(yàn)。</p><p> 到目前為止,中國聯(lián)通已經(jīng)有了基于BREW平臺所開發(fā)的商用程序,如:Adventure(環(huán)球歷險(xiǎn)記)、Any Flash(安凱軟件)、City Online(都市在線)、E4ES tock(股票)、HitSu bmarine(決戰(zhàn)四大洋)、Instant Weather(天氣快報(bào))、Yao Ming Basketball(姚明籃球)等等。</p><p
53、> 缺點(diǎn)BREW目前開發(fā)工具還不成熟,主要用C語言來開發(fā)。另外,全球有34家運(yùn)營商采用了Java,而只有8家運(yùn)營商采用BREW,它的應(yīng)用范圍相對較小。</p><p><b> .NET:</b></p><p> .NET是Microsoft X ML Web services平臺,是一組開發(fā)工具和操作系統(tǒng)集,通過智能設(shè)備實(shí)現(xiàn)個(gè)性化的集成Web。它由四部
54、分組成:.NET框架和Visual Studio .NET,服務(wù)器結(jié)構(gòu),構(gòu)造塊服務(wù),智能設(shè)備軟件。其中智能設(shè)備軟件支持PC、手提電腦、PDA、手機(jī)及其它移動設(shè)備等。.NET框架是一個(gè)用于生成、部署和運(yùn)行XML Web服務(wù)及其它應(yīng)用程序的環(huán)境。它包含三個(gè)主要部分:公共語言運(yùn)行庫、框架類和ASP .NET。</p><p> .NET框架壓縮版是伴侶結(jié)構(gòu),它有一套編程接口,以供開發(fā)人員開發(fā)面向智能電話和PDA等移動
55、設(shè)備的軟件。如Visual Studio .net 2003中新增了對PDA,手機(jī)和眾多智能設(shè)備開發(fā)的支持。</p><p> .NET的缺點(diǎn):.NET,的核心只工作在Windows環(huán)境下,從理論上講可以支持多種語言開發(fā),但對Java的支持不是很好,同時(shí)開發(fā)者必須完全面對基于微軟的平臺,因此它的可移植性差[3]。</p><p> 2.1.2手機(jī)硬件平臺</p><
56、p> 手機(jī)作為一種資源有限的設(shè)備,和PC機(jī)相比,其硬件平臺具有自己的一些特點(diǎn):</p><p> 1.處理器運(yùn)算速度較慢,一般手機(jī)中的CPU的速率為26MHz或52MHz,遠(yuǎn)遠(yuǎn)低于PC機(jī)的CPU運(yùn)行速度。</p><p> 2.存儲器容量小,存取速度慢。</p><p> 3.網(wǎng)絡(luò)能力有限、帶寬窄,并且因?yàn)槭謾C(jī)的移動,容易導(dǎo)致手機(jī)網(wǎng)絡(luò)地址的變化。
57、</p><p> 4.輸入/輸出的多樣性:手機(jī)不可能有PC機(jī)標(biāo)準(zhǔn)鍵盤那么多按鍵,也沒有鼠標(biāo)。它的顯示能力也非常有限,譬如顯示尺寸小,分辨率低等。</p><p> 5.手機(jī)由電池提供能源,會因?yàn)殡姵睾谋M或者接觸不良造成經(jīng)常斷電。</p><p> 在編寫手機(jī)應(yīng)用程序時(shí),必須對以上幾個(gè)方面分別進(jìn)行考慮。目前,手機(jī)的硬件平臺由多家平臺提供商提供,如德州儀器-
58、OMAP系列、英特爾-PCA系列、摩托羅拉-LMX系列、飛利浦半導(dǎo)體-Nexperia移動媒體處理器等等。</p><p> 2.1.3手機(jī)操作系統(tǒng)</p><p> 手機(jī)操作系統(tǒng)是智能手機(jī)的基礎(chǔ)軟件,現(xiàn)在全球市場上,形成了Symbian, Palm, Linux和Windows Mobile四股勢力競爭的局面。</p><p> 目前,大部分手機(jī)上的操作系統(tǒng)
59、采用的都是Symbian公司的EPOC實(shí)時(shí)操作系統(tǒng)。EPOC是最初由Psion Software公司推出的操作系統(tǒng),專門用于移動計(jì)算設(shè)備。1998年6月,Psion Software公司和Nokia, Erossion, Motorola三家手機(jī)廠商一起組建了Symbian公司,目的是為了下一代的智能電話開發(fā)軟件、硬件標(biāo)準(zhǔn),Symbian公司推出的手機(jī)操作系統(tǒng)就是改進(jìn)后的EPOC系統(tǒng),因?yàn)槭謾C(jī)行為的實(shí)時(shí)性要求,所以EPOC是一種實(shí)時(shí)操作
60、系統(tǒng)。EPOC是一套32位的操作系統(tǒng),它不但操作接口簡潔,而且跟Palm及Windows CE一樣,是一個(gè)開放的平臺,并且專為手機(jī)設(shè)計(jì),因此在和手機(jī)的整合上有先天的優(yōu)勢,任何人都可以在上面編寫軟件。EPOC的應(yīng)用軟件包括通訊、數(shù)據(jù)管理、辦公軟件、工具和游戲等,而且同樣可以與PC進(jìn)行數(shù)據(jù)同步。該系統(tǒng)的設(shè)計(jì)還保證能適用于不同的CPU和硬件配置。此舉使得基于EPOC的系統(tǒng)能與無線信息設(shè)備、便攜式計(jì)算機(jī)和PC等多類產(chǎn)品集成。EPOC提供了對Ja
61、va虛擬機(jī)的支持,所以才得以在手機(jī)上使用Java程序。從6.0版本開始,EPOC有了對Uni</p><p> IDC預(yù)計(jì),到2006年,Symbian新型手機(jī)的市場占有率會從目前的46%擴(kuò)大到53%,微軟會增加到27,而Palm可望分得10%的市場占有率。IDC同時(shí)估計(jì)Linux手機(jī)應(yīng)可攻下多達(dá)4.2%的市場。</p><p> 以上各個(gè)操作系統(tǒng)都支持JAVA,這正是基于J2ME技術(shù)
62、的最大優(yōu)勢。</p><p> 2.2基于J2ME的技術(shù)方案</p><p> 2.2.1 JAVA平臺技術(shù)</p><p> 當(dāng)JAVA平臺發(fā)展到JAVA2的版本以后,為了適應(yīng)不同級別計(jì)算機(jī)硬件的發(fā)展需要,JAVA平臺形成了三個(gè)主要分支:</p><p> JAVA2,Standard Edition(J2SE),是為臺式機(jī)而設(shè)計(jì)的
63、,主要運(yùn)行在Linux, Solaris,或Microsoft Windows等操作系統(tǒng)上。</p><p> JAVA2,Enterprise Edition(J2EE),則是一個(gè)適合分布式的、多用戶、企業(yè)級應(yīng)用系統(tǒng)運(yùn)轉(zhuǎn)的平臺。它以J2SE為基礎(chǔ),增加了處理服務(wù)器計(jì)算的功能。</p><p> JAVA2,Micro Edition(J2ME),和J2SE不同,它既不算是一個(gè)軟件也不
64、能算是一個(gè)規(guī)范。準(zhǔn)確地說,J2ME是為了支持向PDA,手機(jī)等小型的嵌入式或移動設(shè)備而推出的一系列的技術(shù)和規(guī)范的總稱。它借用J2SE類庫是一部分,使用了更少的API,而且其J2ME采用的JAVA虛擬機(jī)(JVM)比J2SE的JVM也要小得多。目前支持MIDP。</p><p> 2.2.2 J2ME</p><p> J2ME是用于嵌入式系統(tǒng)的Java,它是SUN公司對標(biāo)準(zhǔn)的Java版本J
65、2ME做了最大程度的精簡后得到的一種Java應(yīng)用程序運(yùn)行環(huán)境,在最簡單的情況下它只有幾十K,特別適合在手機(jī)、PDA等移動設(shè)備中使用手機(jī)廠商如果在自己的手機(jī)中實(shí)現(xiàn)了J2ME規(guī)范,就可以從網(wǎng)絡(luò)下載并運(yùn)行J2ME程序,從而大大擴(kuò)展了手機(jī)的功能。</p><p> 1.J2ME(Java 2 Micro Edition)是近年來隨著移動通信設(shè)備的飛速發(fā)展而產(chǎn)生的一項(xiàng)新的開發(fā)技術(shù),它定位于消費(fèi)類電子產(chǎn)品領(lǐng)域。J2ME平
66、臺由Configuration(配置)和Profile(描述)兩部分構(gòu)成。本著“對各種不同的裝置而研制出一個(gè)單一的開發(fā)系統(tǒng)是沒有意義的事”這個(gè)基本原則,J2ME將所有的嵌入式設(shè)備大體上分為兩種:一種是運(yùn)算功能有限、電力供應(yīng)也有限的嵌入式設(shè)備;另一種則是運(yùn)算能力相對較佳、在電力供應(yīng)上相對比較充足的嵌入式設(shè)備。針對兩種不同的設(shè)備,設(shè)計(jì)了不同Configuration,將前者定義為CLDC(Connected Limited Device C
67、onfiguration,聯(lián)網(wǎng)的受限設(shè)備配置),后者定義為CDC(Connected Device Configuration,面向連接的設(shè)備配置)。在不同的Configuration上定義了不同的Profile,目前主要的Profile規(guī)格有建立在CLDC之上的MIDP(Mobile Information Device Profile,移動信息設(shè)備配置文件)以及建立在CDC之上的Foundatio</p><p&
68、gt; 2.J2ME是一種以廣泛的消費(fèi)性產(chǎn)品為目標(biāo)的高度優(yōu)化的Java運(yùn)行時(shí)環(huán)境,其提供了創(chuàng)建運(yùn)行在小型計(jì)算設(shè)備上的企業(yè)級Java應(yīng)用程序的工具可移植性,具有如下優(yōu)點(diǎn):客戶機(jī)應(yīng)用程序能很容易地被移植到其他遵循J2ME或MIDP并且符合CLDC規(guī)范的設(shè)備上。更低的網(wǎng)絡(luò)資源消耗與服務(wù)器負(fù)載。J2ME客戶機(jī)應(yīng)用程序能在斷開連接模式下工作并保持?jǐn)?shù)據(jù)的同步。</p><p> 3.J2ME使用配置和簡表定制Java
69、運(yùn)行時(shí)環(huán)境(JRE)。作為一個(gè)完整的JRE,J2ME由配置和簡表組成,配置決定了使用的JVM,而簡表通過添加特定于域的類來定義應(yīng)用程序[1]。</p><p> 2.2.3 J2ME技術(shù)方案</p><p> 該方案是在客戶端采用J2ME技術(shù),以網(wǎng)絡(luò)的方式,訪問后臺的地圖服務(wù)獲取空間信息并在手機(jī)上顯示。與WAP方式使用時(shí)一直要處于連線狀態(tài)不一樣,J2ME方式使用時(shí)不需要一直處于連線狀態(tài)
70、,只在需要的時(shí)候才與網(wǎng)絡(luò)連接,因而大大節(jié)省了費(fèi)用。</p><p> 圖2-1:運(yùn)行環(huán)境圖</p><p> 2.2.4 J2ME總體體系結(jié)構(gòu)</p><p> J2ME體系的一般結(jié)構(gòu)是:由Configuration定義的Java虛擬機(jī)運(yùn)行于設(shè)備的宿主操作系統(tǒng)之上,構(gòu)成整個(gè)平臺的基礎(chǔ)。Configuration提供了基本的語言特性,Profile提供針對設(shè)備的
71、特殊功能API和擴(kuò)展類庫。應(yīng)用程序的運(yùn)行環(huán)境需要一個(gè)Configuration和至少一個(gè)Profile,多個(gè)Profile可以共存,也可以疊加。</p><p> 圖2-2:J2ME總體體系結(jié)構(gòu)圖</p><p> 圖2-2列出了用于無線應(yīng)用的J2ME總體體系結(jié)構(gòu)。這一結(jié)構(gòu)可分為五層,從下向上依次為:</p><p> 1.MID硬件層(MID Hardwa
72、re Layer):主要包括手機(jī)或者PDA等移動設(shè)備;</p><p> 2.本地系統(tǒng)軟件層(Native System Software Layer):包括由設(shè)備生產(chǎn)商提供的本地操作系統(tǒng)和系統(tǒng)庫;</p><p> 3.KVM層(KVM Layer):為Java應(yīng)用提供運(yùn)行時(shí)環(huán)境;</p><p> 4.CLDC層(CLDC Layer):為無線應(yīng)用提
73、供核心Java API;</p><p> 5.MIDP層(MIDP Layer):提供了GUI庫、持久存儲庫、網(wǎng)絡(luò)庫和時(shí)鐘類。</p><p><b> 2.4 MIDP</b></p><p> MIDP(Mobile Information Device Profile,移動信息設(shè)備配置文件)建立在 CLDC的基礎(chǔ)之上,用來描述手
74、機(jī)和尋呼機(jī)這樣更加具體化的無線移動設(shè)備。</p><p> 對于Java ME平臺,MIDP定義了一個(gè)標(biāo)準(zhǔn)的Java API集合,此集合與聯(lián)網(wǎng)的受限設(shè)備配置CLDC一起提供了一個(gè)面向移動信息設(shè)備(如移動電話、雙向?qū)ず魴C(jī)和無線個(gè)人電腦記事本)的完整Java ME應(yīng)用程序運(yùn)行環(huán)境。</p><p><b> MIDP2.0:</b></p><p&
75、gt; JSR-118 中定義了MIDP 2.0標(biāo)準(zhǔn)。</p><p> MIDP 2.0于2002 年11月正式發(fā)布,MIDP 2.0的推出在一定意義上增強(qiáng)了Java ME的功能,主要體現(xiàn)在如下幾個(gè)方面。</p><p> 1.支持操作圖像的像素,支持Alpha通道。</p><p> 2.增強(qiáng)型的圖形用戶界面類CustomItem,提高了高級界面類的
76、表現(xiàn)力。</p><p> 3.Media音頻子系統(tǒng)填補(bǔ)了 MIDP 1.0 不支持聲音播放的空白。</p><p> 4.Push注冊機(jī)制和安全模型增強(qiáng)了對MIDlet的控制。</p><p> 5.游戲開發(fā)包提高了游戲開發(fā)的效率。</p><p> 6.聯(lián)網(wǎng)能力增強(qiáng),可以支持TCP/IP甚至是UDP層的通信。</p&
77、gt;<p><b> 2.5 CLDC</b></p><p> CLDC(Connected Limited Device Configuration,聯(lián)網(wǎng)的受限設(shè)備配置)是用來開發(fā)在無線設(shè)備上運(yùn)行的應(yīng)用程序所要用到的一組最小的 API。CLDC 描述了所有無線移動設(shè)備所需的一個(gè)最小級別的功能集合。</p><p> 對于 Java ME 平臺
78、,CLDC 為移動電話、雙向?qū)ず魴C(jī)以及類似設(shè)備定義了基本配置(Java 語言、虛擬機(jī)功能和基本類庫)。這些設(shè)備具有以下特性:</p><p> 總內(nèi)存量為 128 KB 到 512 KB。</p><p> 具有有限電源,如電池。</p><p><b> 可以連接到網(wǎng)絡(luò)。</b></p><p> 具有相對有限
79、的用戶界面,通常只限文本。</p><p> J2ME是一種使用Java語言進(jìn)行嵌入式設(shè)備編程的技術(shù),但是嵌入式設(shè)備的種類過于繁多,至少有幾百種之多,為了降低編程的復(fù)雜度,SUN公司將所有的嵌入式設(shè)備分為了兩大類:</p><p> 1. CDC(連接設(shè)備配置)</p><p><b> 有穩(wěn)定的電源供應(yīng)</b></p>
80、<p><b> 設(shè)備性能強(qiáng)勁</b></p><p> 例如車載設(shè)備、機(jī)頂盒等。</p><p> 2. CLDC(連接有限設(shè)備配置)</p><p><b> 使用電池供電</b></p><p><b> 設(shè)備性能有限</b></p>
81、<p> 其中手機(jī)屬于CLDC類別。</p><p> 上面的說法都是從硬件劃分的角度來說明CLDC的,下面從程序員的角度來理解一下CLDC的概念。其實(shí)對于程序員來說,CLDC主要包含三個(gè)部分:</p><p> 1. Java虛擬機(jī)(又稱JVM)</p><p> 這個(gè)是所有Java程序運(yùn)行的基礎(chǔ)。對于手機(jī)來說,在手機(jī)出廠以前,已經(jīng)固化在手機(jī)中
82、了,出廠了以后就不能進(jìn)行修改了。</p><p> 2. 一套標(biāo)準(zhǔn)的API實(shí)現(xiàn)</p><p> 該標(biāo)準(zhǔn)的API主要包含java.io、java.lang、java.util包以及javax.microedition.io包中的部分。這個(gè)是規(guī)范要求必須實(shí)現(xiàn)的API,也固化在手機(jī)中,不能修改。</p><p> 3. 本地方法實(shí)現(xiàn)</p>&l
83、t;p> 在標(biāo)準(zhǔn)的API中,很多都是接口,這些就要求廠商在手機(jī)中提供真實(shí)的實(shí)現(xiàn),而且很多本地方法也要求手機(jī)廠商進(jìn)行實(shí)現(xiàn)。</p><p> 圖2-3:CLDC/MIDP架構(gòu)圖</p><p> J2ME/CLDC/MIDP作為J2ME的一個(gè)版本,它是專為無線移動通訊設(shè)備說設(shè)計(jì)的。圖2-3是CLDC/MIDP的架構(gòu)圖。</p><p><b>
84、 2.7 TCP協(xié)議</b></p><p> TCP是一種面向連接(連接導(dǎo)向)的、可靠的、基于字節(jié)流的運(yùn)輸層(Transport layer)通信協(xié)議,由IETF的RFC 793說明(specified)。在簡化的計(jì)算機(jī)網(wǎng)絡(luò)OSI模型中,它完成第四層傳輸層所指定的功能,UDP是同一層內(nèi)另一個(gè)重要的傳輸協(xié)議。</p><p> 在因特網(wǎng)協(xié)議族(Internet protoc
85、ol suite)中,TCP層是位于IP層之上,應(yīng)用層之下的中間層。不同主機(jī)的應(yīng)用層之間經(jīng)常需要可靠的、像管道一樣的連接,但是IP層不提供這樣的流機(jī)制,而是提供不可靠的包交換。</p><p> 應(yīng)用層向TCP層發(fā)送用于網(wǎng)間傳輸?shù)?、?位字節(jié)表示的數(shù)據(jù)流,然后TCP把數(shù)據(jù)流分割成適當(dāng)長度的報(bào)文段(通常受該計(jì)算機(jī)連接的網(wǎng)絡(luò)的數(shù)據(jù)鏈路層的最大傳送單元(MTU)的限制)。之后TCP把結(jié)果包傳給IP層,由它來通過網(wǎng)絡(luò)將
86、包傳送給接收端實(shí)體的TCP層。TCP為了保證不發(fā)生丟包,就給每個(gè)字節(jié)一個(gè)序號,同時(shí)序號也保證了傳送到接收端實(shí)體的包的按序接收。然后接收端實(shí)體對已成功收到的字節(jié)發(fā)回一個(gè)相應(yīng)的確認(rèn)(ACK); 如果發(fā)送端實(shí)體在合理的往返時(shí)延(RTT)內(nèi)未收到確認(rèn),那么對應(yīng)的數(shù)據(jù)(假設(shè)丟失了)將會被重傳。TCP用一個(gè)校驗(yàn)和函數(shù)來檢驗(yàn)數(shù)據(jù)是否有錯(cuò)誤;在發(fā)送和接收時(shí)都要計(jì)算校驗(yàn)和。</p><p><b> 2.6 GPS&l
87、t;/b></p><p> GPS——全球定位系統(tǒng)(Global Positioning System),美國從上世紀(jì)70年代開始研制,歷時(shí)20年,耗資200億美元,于1994年全面建成,具有在海、陸、空進(jìn)行全方位實(shí)時(shí)三維導(dǎo)航與定位能力的新一代衛(wèi)星導(dǎo)航與定位系統(tǒng)。最少需要其中3顆衛(wèi)星,就能迅速確定您在地球上的位置。所能接收到的衛(wèi)星數(shù)越多,譯碼出來的位置就越精確。</p><p>
88、 可以通過J2ME的Location API實(shí)現(xiàn)GPS的定位。</p><p><b> 2.7本章小結(jié)</b></p><p> 本章介紹了手機(jī)軟件開發(fā)平臺,分析了基于J2ME技術(shù)的方案 。</p><p> 第三章 系統(tǒng)總體設(shè)計(jì)和關(guān)鍵技術(shù)</p><p><b> 3.1系統(tǒng)開發(fā)環(huán)境</b&
89、gt;</p><p><b> 3.1.1軟件環(huán)境</b></p><p> 1.開發(fā)工具:eclipse;Eclipse ME;J2ME Wireless Toolkit;手機(jī)模擬器</p><p> 2.開發(fā)語言:j2me</p><p> 3.數(shù)據(jù)庫:SQL Server 2000</p&
90、gt;<p> 4.操作系統(tǒng):Windows XP</p><p> 5.調(diào)試工具:WTK</p><p> 6.性能測試:在服務(wù)器與手機(jī)上測試</p><p><b> 3.1.2硬件環(huán)境</b></p><p> 1.CPU: Intel賽揚(yáng)400或同頻率處理器以上</p&
91、gt;<p> 2.內(nèi)存: 256MB或以上</p><p> 3.硬盤: 最少剩余空間不得低于100MB</p><p> 4.文件系統(tǒng):FAT32或者NTFS(推薦NTFS)</p><p> 3.2系統(tǒng)功能需求分析</p><p><b> 3.2.1功能需求</b></p>
92、;<p><b> 基本功能:</b></p><p> 1.顯示:顯示地圖,可通過GPS查看位置;</p><p> 2.查詢:可查詢商業(yè)網(wǎng)點(diǎn)、醫(yī)療網(wǎng)點(diǎn)、餐飲網(wǎng)點(diǎn)、住宿網(wǎng)點(diǎn)、旅游景點(diǎn)等;</p><p> 3.移圖:選擇移動,在地圖上游走瀏覽其他部分信息;</p><p> 4.縮放:轉(zhuǎn)
93、換顯示比例,更改顯示尺寸;</p><p> 5.路徑演算:公交車乘坐路徑。</p><p><b> 未來衍生功能:</b></p><p> 1.定位及導(dǎo)航功能:將手機(jī)的定位功能加入,實(shí)現(xiàn)自動定位及導(dǎo)航功能;</p><p> 2.交友功能:充分利用手機(jī)的網(wǎng)絡(luò)功能,可以搜尋一定地理范圍內(nèi)的朋友;<
94、/p><p> 3.廣告發(fā)布:位置廣告發(fā)布系統(tǒng)以短消息的形式,對一定范圍內(nèi)的手機(jī)戶進(jìn)行廣告發(fā)布。此項(xiàng)服務(wù)對講求廣告效益的廠家和商家尤為適用;</p><p> 4.集團(tuán)管理:可根據(jù)企業(yè)的申請來創(chuàng)建、刪除、修改集團(tuán)信息,對集團(tuán)成員的手機(jī)號碼、成員的名稱、所屬部門、圖像照片等信息進(jìn)行靈活方便的管理和查詢。還為集團(tuán)內(nèi)部人員提供短信群發(fā)、簡單的公文轉(zhuǎn)發(fā)等功能;</p><p
95、> 5.營銷員管理:集團(tuán)管理者通過此項(xiàng)功能對外出營銷員所處的位置、營銷員的動態(tài)進(jìn)行監(jiān)控,既降低了成本,又實(shí)現(xiàn)了對營銷員的有效管理;</p><p> 6.目標(biāo)追蹤:目標(biāo)追蹤系統(tǒng)是針對公安部門、檢察部門和安全部門而設(shè)計(jì)的,既可對嫌疑人進(jìn)行追蹤,又可對受保護(hù)對象進(jìn)行追蹤;</p><p> 7.特殊人群保護(hù):對老人或兒童等特殊群體,在合法授權(quán)范圍內(nèi),進(jìn)行適時(shí)跟蹤,突發(fā)事件后及
96、時(shí)實(shí)施保護(hù)。對于被追蹤對象的位置信息可通過短信方式定時(shí)發(fā)送給監(jiān)護(hù)者,讓其無后顧之憂。</p><p> 3.2.2非功能需求</p><p> 從功能上講,應(yīng)該說本系統(tǒng)只是將PC網(wǎng)絡(luò)上的成熟應(yīng)用移植到手機(jī)網(wǎng)絡(luò),并沒有突出的功能。真正要使產(chǎn)品具備競爭力,必須在性能等方面有勝人之處。這方面的要求如下:</p><p> 1.易操作:操作界面結(jié)合手機(jī)終端的可操作按
97、鍵保持簡單明了,符合普通人的操作習(xí)慣。盡量使完成功能所需的按鍵操作最少;</p><p> 2.穩(wěn)定:考慮到網(wǎng)絡(luò)環(huán)境可能不穩(wěn)定,而且用戶可能處于各種可能的移動狀態(tài),不能讓環(huán)境因素影響到程序的運(yùn)行,不能出現(xiàn)死機(jī)或一直等待的狀態(tài);</p><p> 3.速度流暢:顯示快捷,最大限度的減少停滯時(shí)間,移圖、縮放界面轉(zhuǎn)換快速。這是我們最主要的賣點(diǎn)之一??紤]到地圖應(yīng)用使用的數(shù)據(jù)都是圖形化的,較
98、為復(fù)雜,在運(yùn)算和網(wǎng)絡(luò)傳輸上都有不小的挑戰(zhàn),如果在手機(jī)上操作很慢,肯定不能為市場接受。相反,如果速度表現(xiàn)突出的話,就可以領(lǐng)先競爭對手;</p><p> 4.系統(tǒng)資源消耗低:合理進(jìn)行資源分配、回收,有效的利用系統(tǒng)資源,禁止死鎖現(xiàn)象發(fā)生;</p><p> 5.兼容性:因?yàn)槭謾C(jī)的類型各種各樣,比如尺寸、顯示屏解析度、甚至SDK都會有不同,如果我們的應(yīng)用只能在很少的機(jī)種上運(yùn)行,或者對每種
99、手機(jī)都要重新編寫應(yīng)用的話,這樣的應(yīng)用肯定無法在市場上生存。因此我們的系統(tǒng)架構(gòu)必須考慮到這些因素,使得應(yīng)用只需要經(jīng)過配置文件的修改,或者部分模塊很少的修改,甚至不做什么修改, 就可以適用于不同的手機(jī)。</p><p><b> 3.3系統(tǒng)總體設(shè)計(jì)</b></p><p> 基于J2ME技術(shù)方案的JAVA手機(jī)地圖服務(wù)系統(tǒng)重要包括二個(gè)部分:JAVA手機(jī)移動終端、服務(wù)器端
100、。JAVA手機(jī)移動終端是手機(jī)導(dǎo)游系統(tǒng)的客戶端,它運(yùn)行時(shí),就可以與服務(wù)器進(jìn)行交互,這樣手機(jī)就可以從服務(wù)器獲取信息,并出程序決定這些信息在手機(jī)屏幕上的顯示方式。本系統(tǒng)是通過本地網(wǎng)絡(luò)實(shí)現(xiàn)的,實(shí)際中是通過移動通信系統(tǒng)GPRS是JAVA手機(jī)和互連網(wǎng)之間的數(shù)據(jù)通信。整個(gè)系統(tǒng)采用Client/Server結(jié)構(gòu),在服務(wù)器端提供地圖數(shù)據(jù)的查詢、存儲、分析等功能,接收移動用戶的請求由Servelet來完成。</p><p> 圖3
101、-1:手機(jī)導(dǎo)游系統(tǒng)總體設(shè)計(jì)圖</p><p><b> 3.4客服端</b></p><p><b> 3.4.1界面設(shè)計(jì)</b></p><p> 為M/Diet所作的用戶界面設(shè)計(jì)取決于小設(shè)備的限制,每個(gè)MIDlet有且僅有一個(gè)Display類的實(shí)例,其界面設(shè)計(jì)與PC等其他終端有很大的不同,尤其是屏幕間的切換導(dǎo)航比
102、較困難。每個(gè)在屏幕上顯示的MIDlet必須獲得它的Display實(shí)例的引用,并使用這個(gè)實(shí)例在屏幕上顯示Displayable類的實(shí)例。經(jīng)過分析發(fā)現(xiàn)手機(jī)屏幕導(dǎo)航有著“先進(jìn)后出”的特點(diǎn),而且當(dāng)前屏幕可有多個(gè)子屏選項(xiàng),屏幕映射表與樹型結(jié)構(gòu)非常相似。因此在設(shè)計(jì)中采用樹型結(jié)構(gòu)來實(shí)現(xiàn)屏幕導(dǎo)航,主菜單為根結(jié)點(diǎn),每一屏幕為一樹結(jié)點(diǎn),選擇一個(gè)子項(xiàng)切換為下一屏幕,按“返回”重新回到上一屏幕,這實(shí)際為一棵雙向樹結(jié)構(gòu),如圖3-2所示。</p>&
103、lt;p> 圖3-2:屏幕映射模型</p><p> 3.4.2圖形用戶界面的實(shí)現(xiàn)</p><p> 圖形用戶界面(Graphics User Interface,GUI)使用圖形的方式,借助標(biāo)準(zhǔn)界面元素幫助用戶方便地對手機(jī)進(jìn)行操作,并將結(jié)果以圖形的方式顯示給用戶。</p><p> 手機(jī)屬于CLDC規(guī)格,而在CLDC中本身并沒有包含任何的用戶界面包,
104、這些包被定義在MIDP中。在MIDP中,使用javax.microedition.1cdui包來獲得界面對象。在javax.microedition.1cdui包里主要的界面對象是由Displayable繼承而來的,其中又分為Screen及Canvas兩類,而Screen是高級屏幕對象,Canvas是低級屏幕對象。MIDP GUI的核心是Screen(屏幕),而每個(gè)MIDP的應(yīng)用程序(MIDlet)會有惟一的一個(gè)Display對象,它管
105、理著屏幕的顯示。當(dāng)調(diào)用Display對象的setCurrent()函數(shù)時(shí),屏幕就被顯示。屏幕只是MIDP規(guī)范中定義的一個(gè)對象,從開發(fā)者的角度來說具體指的就是Displayable對象。</p><p><b> 3.5數(shù)據(jù)通信</b></p><p> 3.5.1客服端與服務(wù)器交換的網(wǎng)絡(luò)接口</p><p> 手機(jī)客戶端與后臺服務(wù)器通過多
106、線程的網(wǎng)絡(luò)通信程序進(jìn)行數(shù)據(jù)傳輸。在J2ME中有javax.micrioedition.io包,在該包中提供了Connection框架,由一組接口構(gòu)成,包括Connection接口及其子接口。在CLDC中定義了7個(gè)接口,其中包括ContentConnection,在MIDP增加了一個(gè)HttpConnection接口。Connector類可以用來進(jìn)行網(wǎng)絡(luò)等各方面的輸入及輸出,所用的都是Connector的open()函數(shù)。同時(shí)用HttpCo
107、nnection接口建立HTYP連接,實(shí)現(xiàn)網(wǎng)絡(luò)的連接。</p><p> 在J2ME中有2種實(shí)現(xiàn)多線程的方法,可以采用實(shí)現(xiàn)接口Java.1ang.Runnable的方式,還可以采用繼承類Java.1ang.Thread的方式。這里采用后者,Java.1ang.Thread類表示一個(gè)線程類,它定義了設(shè)置和查詢線程屬性的函數(shù)和啟動線程運(yùn)行的run()函數(shù) 。</p><p> 在移動應(yīng)用中
108、,其編程技術(shù)具體的涉及到2個(gè)方面,即從服務(wù)器端獲取數(shù)據(jù)和向服務(wù)器端提交數(shù)據(jù)。從服務(wù)器端獲取數(shù)據(jù)一般有如下步驟:首先給定一個(gè)URL地址以打開與服務(wù)器的連接,然后從中打開數(shù)據(jù)流,最后從中讀取數(shù)據(jù)。其中主要用到Connector類和HttpConnection接口。向服務(wù)器端提交數(shù)據(jù)有2種方式:GET和POST。這里采用GET,使用GET方式比較簡單,將數(shù)據(jù)以“變量名=提交值”封裝在URL地址中即可。</p><p>
109、 3.5.2客服端與服務(wù)器之間的通信</p><p> J2ME支持打開網(wǎng)絡(luò)連接、傳送數(shù)據(jù)、訪問遠(yuǎn)程服務(wù)器資源。所有的連接都通過調(diào)用Connector類中的方法open來創(chuàng)建,代碼如下:</p><p> 通過這個(gè)連接類,可以簡單的使用下面的方式來實(shí)現(xiàn)無線設(shè)備與PC服務(wù)器進(jìn)行TCP/IP 的Http通信,實(shí)現(xiàn)方法如下:</p><p> 服務(wù)器中相應(yīng)的Ser
110、vlet將調(diào)用doGet()方法處理請求,返回響應(yīng),從而把業(yè)務(wù)邏輯的處理交給服務(wù)器端,達(dá)到“瘦”客戶端的設(shè)計(jì)目標(biāo)。建好連接以后,就可以方便地操作數(shù)據(jù)流,進(jìn)行數(shù)據(jù)讀寫。手機(jī)終端準(zhǔn)確地提交用戶請求參數(shù)、創(chuàng)建和查詢信息服務(wù)請求。確定傳輸數(shù)據(jù)結(jié)構(gòu)。制訂出一套完善的通信接口,要制訂這一個(gè)接口首先應(yīng)該清楚的是當(dāng)兩者通信時(shí),使用流的方式,既把一個(gè)請求數(shù)據(jù)或響應(yīng)數(shù)據(jù)編碼成一個(gè)長的流,流內(nèi)包含的數(shù)據(jù)使用約定的分割符號進(jìn)行界定。除了考慮連連接方法及數(shù)據(jù)編碼
111、,還須關(guān)心網(wǎng)絡(luò)超時(shí)問題。J2ME中,可以通過Timer及TimerTask類實(shí)現(xiàn)連接時(shí)間的控制。Timer實(shí)例用于計(jì)時(shí),TimerTask實(shí)例在超時(shí)產(chǎn)生后終止連接并給出提示信息。在實(shí)際的設(shè)計(jì)中,采用多線程技術(shù)建立連接,一邊通過子線程建立與服務(wù)器之間的連接,一邊處理其他事件,提高程序的效率。</p><p> 表3-1:請求主要參數(shù)</p><p> 表3-2:響應(yīng)主要參數(shù)</p&
112、gt;<p><b> 3.6關(guān)鍵技術(shù)</b></p><p> 運(yùn)行在Java手機(jī)上的J2ME地圖服務(wù)客戶端程序,是空間數(shù)據(jù)顯示和操作的用戶接口,客戶端作為終端用戶和服務(wù)器交互的界面,主要的工作是接收用戶的指令,調(diào)用后臺的Web服務(wù),接收服務(wù)器的響應(yīng)結(jié)果并進(jìn)行顯示。</p><p> 地圖服務(wù)的移動客戶端技術(shù)主要是用戶接口方面的內(nèi)容,包括菜單、圖
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于j2me技術(shù)的手機(jī)導(dǎo)游系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)---畢業(yè)論文
- 基于j2me技術(shù)的手機(jī)導(dǎo)游系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)---畢業(yè)論文 (2)
- 基于j2me的手機(jī)定時(shí)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文
- 畢業(yè)論文基于j2me的手機(jī)定時(shí)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 基于j2me技術(shù)的手機(jī)導(dǎo)游系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)---開題報(bào)告
- 基于j2me技術(shù)的手機(jī)導(dǎo)游系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)---開題報(bào)告
- 基于j2me手機(jī)推箱子游戲的設(shè)計(jì)與實(shí)現(xiàn)[畢業(yè)論文]
- 畢業(yè)論文---- 基于j2me的手機(jī)游戲開發(fā)
- 畢業(yè)論文---基于j2me手機(jī)華容道游戲的設(shè)計(jì)與實(shí)現(xiàn)
- j2me畢業(yè)論文-- j2me手機(jī)彩票軟件開發(fā)
- 基于j2me平臺的手機(jī)應(yīng)用開發(fā)-畢業(yè)論文
- 基于J2ME技術(shù)的手機(jī)游戲設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于j2me平臺的手機(jī)應(yīng)用開發(fā)-畢業(yè)論文
- 畢業(yè)論文范文——基于j2me的手機(jī)游戲開發(fā) (2)
- J2ME手機(jī)游戲的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于J2ME手機(jī)游戲設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于J2ME的手機(jī)常識測試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于J2ME的手機(jī)視頻監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- j2me游戲畢業(yè)論文
- 基于J2ME的手機(jī)紙牌游戲的設(shè)計(jì)與實(shí)現(xiàn).pdf
評論
0/150
提交評論