

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p> 本 科 畢 業(yè) 論 文</p><p> 基于J2ME技術(shù)的手機導(dǎo)游系統(tǒng)的設(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> 手機導(dǎo)游,首先它是通過互聯(lián)網(wǎng)得到數(shù)據(jù)并在手機上顯示,這就不需要景點投資以前的電子導(dǎo)游所需要的昂貴硬件設(shè)備,節(jié)省了大量的
4、費用,而且也省去了維護硬件所需要的人力和財力。對于景點來說,手機導(dǎo)游與人工導(dǎo)游相比,能避免由于導(dǎo)游個人因素帶來的服務(wù)質(zhì)量的不穩(wěn)定性,為游客提供更加全面客觀的服務(wù)。通過自動手機導(dǎo)游器也可大大提高游客對景點的認(rèn)知程度,并通過他們的傳播能加快提高景點的知名度,從而增加游客的流量。同時這也是手機導(dǎo)游系統(tǒng)商業(yè)前景所在。</p><p> 許多著名的手機生產(chǎn)廠家都開發(fā)了JAVA手機,J2ME是專門用于嵌入式設(shè)備的開發(fā)JAV
5、A軟件,用J2ME實現(xiàn)的手機導(dǎo)游系統(tǒng),當(dāng)你到了一個陌生的地方,只要在你的彩屏手機上輸入你當(dāng)前的位置和目的地,你的手機就會傳回具體的行動路線以及路線中標(biāo)志建筑物的實景圖像,以及建筑相關(guān)資料介紹,如果你滿意,它還會告訴你在附近交通、購物、食宿等方面的信息服務(wù)。本系統(tǒng)是基于J2ME技術(shù)開發(fā)一個手機導(dǎo)游系統(tǒng),可提供景點查詢、交通查詢、GPS地圖顯示的功能,運用JAVA語言實現(xiàn)系統(tǒng)的軟件編程。同時還闡述了手機地圖查詢和顯示的原理,手機客服端和服務(wù)
6、器通過TCP協(xié)議傳輸信息的網(wǎng)絡(luò)通信過程,以及基于J2ME的手機客服端應(yīng)用程序客服端應(yīng)用程序界面的實現(xiàn)和服務(wù)器數(shù)據(jù)庫的建立。</p><p> 關(guān)鍵詞:JAVA;J2ME;嵌入式開發(fā);手機導(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手機軟件開發(fā)介紹4</p
14、><p> 2.1.1手機軟件開發(fā)平臺4</p><p> 2.1.2手機硬件平臺6</p><p> 2.1.3手機操作系統(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è)計和關(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è)計16</p><p><b> 3.4客服端17</b></p><p> 3.4.1界面設(shè)計17</p><p> 3.4.2圖形用戶界面的實現(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)實施
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運行界面截圖27</p><p> 第五章 總結(jié)與展望34</p><p><b> 致 謝35</b></p>&
21、lt;p><b> [參考文獻]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è)有著廣闊的前景。而如何利用這一契機,建立完善的旅游信息,加快城市旅游業(yè)發(fā)展的步伐已成為當(dāng)務(wù)之急。導(dǎo)游系統(tǒng)是指用電子設(shè)備來代替導(dǎo)游服務(wù)人員對城市的景點,交通進行介紹的系統(tǒng),它的出現(xiàn)對正在蓬勃發(fā)展的旅游業(yè)增加了很大的
35、發(fā)展動力。近年來隨著手機等移動平臺的飛速發(fā)展,這對導(dǎo)游系統(tǒng)的發(fā)展提供了很好的硬件平臺,使導(dǎo)游系統(tǒng)出現(xiàn)了很多新的發(fā)展趨勢。而手機使用方便,容易攜帶,讓導(dǎo)游系統(tǒng)更具實用和市場,手機導(dǎo)游正是在這種必然的條件下產(chǎn)生的。</p><p><b> 1.2.1意義</b></p><p> 人類需要的最基本信息包括:時間,地點和內(nèi)容,而在人們的移動中,最需要的信息就是“位置信
36、息”“手機導(dǎo)游”,特別是出現(xiàn)緊急情況時更需要“確切的位置信息”手機導(dǎo)游系統(tǒng)就可以確定所在位置[6]。這樣為我們的生活提供了不少方便,因此,在移動通信中,用戶(手機移動平臺)的位置信息和電子網(wǎng)絡(luò)地圖不僅對整個移動通信網(wǎng)絡(luò)來說是極其重要的,而且對用戶來說也非常重要,這要求能為移動用戶提供有關(guān)的位置服務(wù)以及導(dǎo)游服務(wù)。在我國的旅游市場,長期以來,游客在景區(qū)旅游時,可看的景點多,可了解的資訊卻很少,屬于低層次的觀感旅游階段。使用手機導(dǎo)游系統(tǒng),則可
37、以很好的解決以上問題。</p><p> J2ME,既Java 2 Micro Edition,是SUN公司推出的在移動設(shè)備上運行的微型版JAVA平臺,常見的移動設(shè)備有手機,PDA,電子詞典,以及各式各樣的信息終端如機頂盒等等。與此同時,各種配套硬件的出現(xiàn)(如GPS、GSM模塊等)使得無線互聯(lián)網(wǎng)應(yīng)用更多樣化,功能更強大。J2ME是在無線通訊設(shè)備上開發(fā)Web應(yīng)用的理想平臺,允許移動通訊設(shè)備通過無線網(wǎng)絡(luò)訪問Inte
38、rnet上的所有信息。</p><p> 同時,對于這個系統(tǒng)的設(shè)計與實現(xiàn)有助于在原有JAVA的知識基礎(chǔ)上了解和掌握J(rèn)2ME技術(shù),作為程序本身的開發(fā)也具有很強的實用價值。</p><p> 1.2導(dǎo)游系統(tǒng)的發(fā)展現(xiàn)狀</p><p> 雖然導(dǎo)游系統(tǒng)已經(jīng)發(fā)展了十幾年,可電子技術(shù)應(yīng)用于旅游行業(yè)還是個新興事物。目前國內(nèi)外的導(dǎo)游系統(tǒng)經(jīng)歷了以下幾種形式的發(fā)展:</p&
39、gt;<p> 1. 基于觸摸屏的導(dǎo)游系統(tǒng):這是通過一臺觸摸屏來實現(xiàn)旅游信息的導(dǎo)游系統(tǒng),可借助強大的處理器提供全方位的多媒體信息,游客通過觸摸屏來查看景點的相關(guān)介紹。缺點是投資大,且每臺觸摸屏導(dǎo)游系統(tǒng)只能供一個游客使用。</p><p> 2. 電子手工/自動導(dǎo)游系統(tǒng):其形式為游客配備腰包式接收機,當(dāng)靠近某一景點時,手動觸發(fā)“收聽”鍵或主動檢測發(fā)送機并接收語音信息。此方式讓游客獲得了一定的自主性
40、,但也有區(qū)域局限性,且難以做到各取所需。</p><p> 3. GPS導(dǎo)游系統(tǒng):游客手持帶有GPS接收器的移動終端,比如手機、PDA等。系統(tǒng)便能實時判斷其當(dāng)前位置并播放預(yù)先存放在終端上的景點介紹。其優(yōu)勢為不必為每個景點安裝發(fā)送器,只需為每個游客配備一個GPS終端即可,大大降低了系統(tǒng)的成本[4]。</p><p> 目前,應(yīng)用于手機的導(dǎo)游軟件也有不少,但是大部分都是單機操作,就是程序就
41、在手機存儲器上讀取數(shù)據(jù),而手機的存儲又很小,使得軟件的功能大打折扣。無線網(wǎng)絡(luò)的發(fā)展使得手機可以通過網(wǎng)絡(luò)訪問后臺服務(wù)器的數(shù)據(jù)庫,不僅減少手機存儲器的壓力,同時可以使得數(shù)據(jù)能及時更新。由于MIDP2.0的出現(xiàn),JAVA在手機無線網(wǎng)絡(luò)通信中有著出色的表現(xiàn),特別是在當(dāng)前開始試行的3G無線網(wǎng)絡(luò)中,越來越多的廠商在SUN、摩托羅拉、西門子和愛立信等公司的技術(shù)支持下,開始開發(fā)基于J2ME平臺的無線應(yīng)用服務(wù)。與其他軟件開發(fā)平臺相比,J2ME具有開放、庫
42、類和程序資源豐富等優(yōu)勢,由此得到了大多數(shù)手機廠商的支持。3G(第三代移動通信)將主要基于寬帶CDMA技術(shù),能夠提供更大的系統(tǒng)容量和更高的數(shù)據(jù)傳輸速率,以支持無線因特網(wǎng)接人和無線多媒體業(yè)務(wù),可使語音、數(shù)據(jù)、多媒體業(yè)務(wù)實現(xiàn)綜合,使個人終端用戶能夠在全球范圍內(nèi)的任何時間、任何地點、與任何人、用任意方式高質(zhì)量地實現(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倍,上傳的速度也能達到20Mbps,并能夠滿足幾乎所有用戶對于無線服務(wù)的要求,JAVA的無線應(yīng)用會有更好的發(fā)展。</p><p><b> 1.3研究目標(biāo)</b><
44、/p><p> 使用基于J2ME平臺的JAVA語言開發(fā)一個手機導(dǎo)游系統(tǒng),實現(xiàn)一個城市的景點和公交查詢功能。通過TCP協(xié)議socket連接在本地網(wǎng)絡(luò)讓手機和后臺服務(wù)器進行數(shù)據(jù)通信,并自定義移動位置的算法,通過一個區(qū)域地圖來模擬GPS導(dǎo)游的地圖功能。</p><p><b> 1.4論文結(jié)構(gòu)</b></p><p> 論文主要分五個章節(jié)::第一章
45、為“引言”;第二章介紹基于J2ME技術(shù)開發(fā)手機導(dǎo)游系統(tǒng)的知識和方案;第三章給出系統(tǒng)的總體設(shè)計;第四章介紹開發(fā)過程的關(guān)鍵技術(shù);第五章是系統(tǒng)的實施;第六章為結(jié)束語。</p><p><b> 1.5本章小結(jié)</b></p><p> 本章介紹了導(dǎo)游系統(tǒng)出現(xiàn)的背景、使用價值和目前出現(xiàn)在手機平臺上的手機導(dǎo)游系統(tǒng)。對目前用J2ME技術(shù)開發(fā)手機導(dǎo)游的現(xiàn)狀和發(fā)展進行了簡單的闡述
46、,說明了選擇這個項目的意義。</p><p> 第二章 系統(tǒng)解決方案和相關(guān)知識</p><p> 2.1手機軟件開發(fā)介紹</p><p> 2.1.1手機軟件開發(fā)平臺</p><p> 手機軟件開發(fā)平臺作為連接硬件、承載應(yīng)用的關(guān)鍵平臺,扮演著舉足輕重的角色。目前市場上的手機開發(fā)平臺主要有三個: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ù)由一個虛擬機KVM(K Virtual Machine)和一組API組成,這組API適合于為消費和嵌入式電子設(shè)備提供經(jīng)過裁剪的運行環(huán)境。</p><p&
48、gt; KVM虛擬機本身僅僅需要40-80KB內(nèi)存、20-40KB動態(tài)內(nèi)存(堆)能夠運行在16位處理器上。</p><p> J2ME為移動互聯(lián)網(wǎng)引入了一種新的模型,即允許手機可以從互聯(lián)網(wǎng)上下載各種應(yīng)用程序,并在手機里創(chuàng)造可執(zhí)行環(huán)境,離線運行這些程序。作為Java技術(shù)在移動電話等小型設(shè)備的版本,它針對屏幕、電能和內(nèi)存等資源有限的移動設(shè)備進行了優(yōu)化和定義,為了解決無線設(shè)備多樣化的矛盾,Sun依照各種設(shè)備的資源特
49、性將J2ME技術(shù)架構(gòu)分為Java Virtual Machine(JVM)、配置(configuration)和說明(profile)三層,然后再進一步細分,這使J2ME能夠在每一類設(shè)備的限制下工作,而同時提供最低限度的Java語言功能特性。</p><p> 由于定義了可執(zhí)行程序下載的標(biāo)準(zhǔn),并在手機上創(chuàng)立了可執(zhí)行環(huán)境和程序開發(fā)語言,由此,在移動通信業(yè)第一次為軟件開發(fā)商創(chuàng)造了巨大的商業(yè)機會,手機用戶在得到豐富應(yīng)
50、用體驗的同時,也大大提高了運行商的網(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ā)布以及計費和支付的完整端到端解決方案的一部分。完整的BREW解決方案包括面向開發(fā)者的BREW SDK(軟件開發(fā)包)、面向設(shè)備制造商的BREW應(yīng)用程序平臺和移植工具以及由運營商控制和管理的BREW分發(fā)系統(tǒng)(BDS)。</p><p> BRE平臺是獨立于空中接口的技術(shù),所以BREW與任何網(wǎng)絡(luò)的結(jié)合都非常平滑。在CDMA2000 1X網(wǎng)絡(luò)中可以充分利用其高速的數(shù)據(jù)傳輸速率,為最終用戶帶來
52、極具沖擊力的用戶體驗。</p><p> 到目前為止,中國聯(lián)通已經(jīng)有了基于BREW平臺所開發(fā)的商用程序,如:Adventure(環(huán)球歷險記)、Any Flash(安凱軟件)、City Online(都市在線)、E4ES tock(股票)、HitSu bmarine(決戰(zhàn)四大洋)、Instant Weather(天氣快報)、Yao Ming Basketball(姚明籃球)等等。</p><p
53、> 缺點BREW目前開發(fā)工具還不成熟,主要用C語言來開發(fā)。另外,全球有34家運營商采用了Java,而只有8家運營商采用BREW,它的應(yīng)用范圍相對較小。</p><p><b> .NET:</b></p><p> .NET是Microsoft X ML Web services平臺,是一組開發(fā)工具和操作系統(tǒng)集,通過智能設(shè)備實現(xiàn)個性化的集成Web。它由四部
54、分組成:.NET框架和Visual Studio .NET,服務(wù)器結(jié)構(gòu),構(gòu)造塊服務(wù),智能設(shè)備軟件。其中智能設(shè)備軟件支持PC、手提電腦、PDA、手機及其它移動設(shè)備等。.NET框架是一個用于生成、部署和運行XML Web服務(wù)及其它應(yīng)用程序的環(huán)境。它包含三個主要部分:公共語言運行庫、框架類和ASP .NET。</p><p> .NET框架壓縮版是伴侶結(jié)構(gòu),它有一套編程接口,以供開發(fā)人員開發(fā)面向智能電話和PDA等移動
55、設(shè)備的軟件。如Visual Studio .net 2003中新增了對PDA,手機和眾多智能設(shè)備開發(fā)的支持。</p><p> .NET的缺點:.NET,的核心只工作在Windows環(huán)境下,從理論上講可以支持多種語言開發(fā),但對Java的支持不是很好,同時開發(fā)者必須完全面對基于微軟的平臺,因此它的可移植性差[3]。</p><p> 2.1.2手機硬件平臺</p><
56、p> 手機作為一種資源有限的設(shè)備,和PC機相比,其硬件平臺具有自己的一些特點:</p><p> 1.處理器運算速度較慢,一般手機中的CPU的速率為26MHz或52MHz,遠遠低于PC機的CPU運行速度。</p><p> 2.存儲器容量小,存取速度慢。</p><p> 3.網(wǎng)絡(luò)能力有限、帶寬窄,并且因為手機的移動,容易導(dǎo)致手機網(wǎng)絡(luò)地址的變化。
57、</p><p> 4.輸入/輸出的多樣性:手機不可能有PC機標(biāo)準(zhǔn)鍵盤那么多按鍵,也沒有鼠標(biāo)。它的顯示能力也非常有限,譬如顯示尺寸小,分辨率低等。</p><p> 5.手機由電池提供能源,會因為電池耗盡或者接觸不良造成經(jīng)常斷電。</p><p> 在編寫手機應(yīng)用程序時,必須對以上幾個方面分別進行考慮。目前,手機的硬件平臺由多家平臺提供商提供,如德州儀器-
58、OMAP系列、英特爾-PCA系列、摩托羅拉-LMX系列、飛利浦半導(dǎo)體-Nexperia移動媒體處理器等等。</p><p> 2.1.3手機操作系統(tǒng)</p><p> 手機操作系統(tǒng)是智能手機的基礎(chǔ)軟件,現(xiàn)在全球市場上,形成了Symbian, Palm, Linux和Windows Mobile四股勢力競爭的局面。</p><p> 目前,大部分手機上的操作系統(tǒng)
59、采用的都是Symbian公司的EPOC實時操作系統(tǒng)。EPOC是最初由Psion Software公司推出的操作系統(tǒng),專門用于移動計算設(shè)備。1998年6月,Psion Software公司和Nokia, Erossion, Motorola三家手機廠商一起組建了Symbian公司,目的是為了下一代的智能電話開發(fā)軟件、硬件標(biāo)準(zhǔn),Symbian公司推出的手機操作系統(tǒng)就是改進后的EPOC系統(tǒng),因為手機行為的實時性要求,所以EPOC是一種實時操作
60、系統(tǒng)。EPOC是一套32位的操作系統(tǒng),它不但操作接口簡潔,而且跟Palm及Windows CE一樣,是一個開放的平臺,并且專為手機設(shè)計,因此在和手機的整合上有先天的優(yōu)勢,任何人都可以在上面編寫軟件。EPOC的應(yīng)用軟件包括通訊、數(shù)據(jù)管理、辦公軟件、工具和游戲等,而且同樣可以與PC進行數(shù)據(jù)同步。該系統(tǒng)的設(shè)計還保證能適用于不同的CPU和硬件配置。此舉使得基于EPOC的系統(tǒng)能與無線信息設(shè)備、便攜式計算機和PC等多類產(chǎn)品集成。EPOC提供了對Ja
61、va虛擬機的支持,所以才得以在手機上使用Java程序。從6.0版本開始,EPOC有了對Uni</p><p> IDC預(yù)計,到2006年,Symbian新型手機的市場占有率會從目前的46%擴大到53%,微軟會增加到27,而Palm可望分得10%的市場占有率。IDC同時估計Linux手機應(yīng)可攻下多達4.2%的市場。</p><p> 以上各個操作系統(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)不同級別計算機硬件的發(fā)展需要,JAVA平臺形成了三個主要分支:</p><p> JAVA2,Standard Edition(J2SE),是為臺式機而設(shè)計的
63、,主要運行在Linux, Solaris,或Microsoft Windows等操作系統(tǒng)上。</p><p> JAVA2,Enterprise Edition(J2EE),則是一個適合分布式的、多用戶、企業(yè)級應(yīng)用系統(tǒng)運轉(zhuǎn)的平臺。它以J2SE為基礎(chǔ),增加了處理服務(wù)器計算的功能。</p><p> JAVA2,Micro Edition(J2ME),和J2SE不同,它既不算是一個軟件也不
64、能算是一個規(guī)范。準(zhǔn)確地說,J2ME是為了支持向PDA,手機等小型的嵌入式或移動設(shè)備而推出的一系列的技術(shù)和規(guī)范的總稱。它借用J2SE類庫是一部分,使用了更少的API,而且其J2ME采用的JAVA虛擬機(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)用程序運行環(huán)境,在最簡單的情況下它只有幾十K,特別適合在手機、PDA等移動設(shè)備中使用手機廠商如果在自己的手機中實現(xiàn)了J2ME規(guī)范,就可以從網(wǎng)絡(luò)下載并運行J2ME程序,從而大大擴展了手機的功能。</p><p> 1.J2ME(Java 2 Micro Edition)是近年來隨著移動通信設(shè)備的飛速發(fā)展而產(chǎn)生的一項新的開發(fā)技術(shù),它定位于消費類電子產(chǎn)品領(lǐng)域。J2ME平
66、臺由Configuration(配置)和Profile(描述)兩部分構(gòu)成。本著“對各種不同的裝置而研制出一個單一的開發(fā)系統(tǒng)是沒有意義的事”這個基本原則,J2ME將所有的嵌入式設(shè)備大體上分為兩種:一種是運算功能有限、電力供應(yīng)也有限的嵌入式設(shè)備;另一種則是運算能力相對較佳、在電力供應(yīng)上相對比較充足的嵌入式設(shè)備。針對兩種不同的設(shè)備,設(shè)計了不同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是一種以廣泛的消費性產(chǎn)品為目標(biāo)的高度優(yōu)化的Java運行時環(huán)境,其提供了創(chuàng)建運行在小型計算設(shè)備上的企業(yè)級Java應(yīng)用程序的工具可移植性,具有如下優(yōu)點:客戶機應(yīng)用程序能很容易地被移植到其他遵循J2ME或MIDP并且符合CLDC規(guī)范的設(shè)備上。更低的網(wǎng)絡(luò)資源消耗與服務(wù)器負(fù)載。J2ME客戶機應(yīng)用程序能在斷開連接模式下工作并保持?jǐn)?shù)據(jù)的同步。</p><p> 3.J2ME使用配置和簡表定制Java
69、運行時環(huán)境(JRE)。作為一個完整的JRE,J2ME由配置和簡表組成,配置決定了使用的JVM,而簡表通過添加特定于域的類來定義應(yīng)用程序[1]。</p><p> 2.2.3 J2ME技術(shù)方案</p><p> 該方案是在客戶端采用J2ME技術(shù),以網(wǎng)絡(luò)的方式,訪問后臺的地圖服務(wù)獲取空間信息并在手機上顯示。與WAP方式使用時一直要處于連線狀態(tài)不一樣,J2ME方式使用時不需要一直處于連線狀態(tài)
70、,只在需要的時候才與網(wǎng)絡(luò)連接,因而大大節(jié)省了費用。</p><p> 圖2-1:運行環(huán)境圖</p><p> 2.2.4 J2ME總體體系結(jié)構(gòu)</p><p> J2ME體系的一般結(jié)構(gòu)是:由Configuration定義的Java虛擬機運行于設(shè)備的宿主操作系統(tǒng)之上,構(gòu)成整個平臺的基礎(chǔ)。Configuration提供了基本的語言特性,Profile提供針對設(shè)備的
71、特殊功能API和擴展類庫。應(yīng)用程序的運行環(huán)境需要一個Configuration和至少一個Profile,多個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):主要包括手機或者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)用提供運行時環(huán)境;</p><p> 4.CLDC層(CLDC Layer):為無線應(yīng)用提
73、供核心Java API;</p><p> 5.MIDP層(MIDP Layer):提供了GUI庫、持久存儲庫、網(wǎng)絡(luò)庫和時鐘類。</p><p><b> 2.4 MIDP</b></p><p> MIDP(Mobile Information Device Profile,移動信息設(shè)備配置文件)建立在 CLDC的基礎(chǔ)之上,用來描述手
74、機和尋呼機這樣更加具體化的無線移動設(shè)備。</p><p> 對于Java ME平臺,MIDP定義了一個標(biāo)準(zhǔn)的Java API集合,此集合與聯(lián)網(wǎng)的受限設(shè)備配置CLDC一起提供了一個面向移動信息設(shè)備(如移動電話、雙向?qū)ず魴C和無線個人電腦記事本)的完整Java ME應(yīng)用程序運行環(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的推出在一定意義上增強了Java ME的功能,主要體現(xiàn)在如下幾個方面。</p><p> 1.支持操作圖像的像素,支持Alpha通道。</p><p> 2.增強型的圖形用戶界面類CustomItem,提高了高級界面類的
76、表現(xiàn)力。</p><p> 3.Media音頻子系統(tǒng)填補了 MIDP 1.0 不支持聲音播放的空白。</p><p> 4.Push注冊機制和安全模型增強了對MIDlet的控制。</p><p> 5.游戲開發(fā)包提高了游戲開發(fā)的效率。</p><p> 6.聯(lián)網(wǎ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īng)用程序所要用到的一組最小的 API。CLDC 描述了所有無線移動設(shè)備所需的一個最小級別的功能集合。</p><p> 對于 Java ME 平臺
78、,CLDC 為移動電話、雙向?qū)ず魴C以及類似設(shè)備定義了基本配置(Java 語言、虛擬機功能和基本類庫)。這些設(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語言進行嵌入式設(shè)備編程的技術(shù),但是嵌入式設(shè)備的種類過于繁多,至少有幾百種之多,為了降低編程的復(fù)雜度,SUN公司將所有的嵌入式設(shè)備分為了兩大類:</p><p> 1. CDC(連接設(shè)備配置)</p><p><b> 有穩(wěn)定的電源供應(yīng)</b></p>
80、<p><b> 設(shè)備性能強勁</b></p><p> 例如車載設(shè)備、機頂盒等。</p><p> 2. CLDC(連接有限設(shè)備配置)</p><p><b> 使用電池供電</b></p><p><b> 設(shè)備性能有限</b></p>
81、<p> 其中手機屬于CLDC類別。</p><p> 上面的說法都是從硬件劃分的角度來說明CLDC的,下面從程序員的角度來理解一下CLDC的概念。其實對于程序員來說,CLDC主要包含三個部分:</p><p> 1. Java虛擬機(又稱JVM)</p><p> 這個是所有Java程序運行的基礎(chǔ)。對于手機來說,在手機出廠以前,已經(jīng)固化在手機中
82、了,出廠了以后就不能進行修改了。</p><p> 2. 一套標(biāo)準(zhǔn)的API實現(xiàn)</p><p> 該標(biāo)準(zhǔn)的API主要包含java.io、java.lang、java.util包以及javax.microedition.io包中的部分。這個是規(guī)范要求必須實現(xiàn)的API,也固化在手機中,不能修改。</p><p> 3. 本地方法實現(xiàn)</p>&l
83、t;p> 在標(biāo)準(zhǔn)的API中,很多都是接口,這些就要求廠商在手機中提供真實的實現(xiàn),而且很多本地方法也要求手機廠商進行實現(xiàn)。</p><p> 圖2-3:CLDC/MIDP架構(gòu)圖</p><p> J2ME/CLDC/MIDP作為J2ME的一個版本,它是專為無線移動通訊設(shè)備說設(shè)計的。圖2-3是CLDC/MIDP的架構(gòu)圖。</p><p><b>
84、 2.7 TCP協(xié)議</b></p><p> TCP是一種面向連接(連接導(dǎo)向)的、可靠的、基于字節(jié)流的運輸層(Transport layer)通信協(xié)議,由IETF的RFC 793說明(specified)。在簡化的計算機網(wǎng)絡(luò)OSI模型中,它完成第四層傳輸層所指定的功能,UDP是同一層內(nèi)另一個重要的傳輸協(xié)議。</p><p> 在因特網(wǎng)協(xié)議族(Internet protoc
85、ol suite)中,TCP層是位于IP層之上,應(yīng)用層之下的中間層。不同主機的應(yīng)用層之間經(jīng)常需要可靠的、像管道一樣的連接,但是IP層不提供這樣的流機制,而是提供不可靠的包交換。</p><p> 應(yīng)用層向TCP層發(fā)送用于網(wǎng)間傳輸?shù)?、?位字節(jié)表示的數(shù)據(jù)流,然后TCP把數(shù)據(jù)流分割成適當(dāng)長度的報文段(通常受該計算機連接的網(wǎng)絡(luò)的數(shù)據(jù)鏈路層的最大傳送單元(MTU)的限制)。之后TCP把結(jié)果包傳給IP層,由它來通過網(wǎng)絡(luò)將
86、包傳送給接收端實體的TCP層。TCP為了保證不發(fā)生丟包,就給每個字節(jié)一個序號,同時序號也保證了傳送到接收端實體的包的按序接收。然后接收端實體對已成功收到的字節(jié)發(fā)回一個相應(yīng)的確認(rèn)(ACK); 如果發(fā)送端實體在合理的往返時延(RTT)內(nèi)未收到確認(rèn),那么對應(yīng)的數(shù)據(jù)(假設(shè)丟失了)將會被重傳。TCP用一個校驗和函數(shù)來檢驗數(shù)據(jù)是否有錯誤;在發(fā)送和接收時都要計算校驗和。</p><p><b> 2.6 GPS&l
87、t;/b></p><p> GPS——全球定位系統(tǒng)(Global Positioning System),美國從上世紀(jì)70年代開始研制,歷時20年,耗資200億美元,于1994年全面建成,具有在海、陸、空進行全方位實時三維導(dǎo)航與定位能力的新一代衛(wèi)星導(dǎo)航與定位系統(tǒng)。最少需要其中3顆衛(wèi)星,就能迅速確定您在地球上的位置。所能接收到的衛(wèi)星數(shù)越多,譯碼出來的位置就越精確。</p><p>
88、 可以通過J2ME的Location API實現(xiàn)GPS的定位。</p><p><b> 2.7本章小結(jié)</b></p><p> 本章介紹了手機軟件開發(fā)平臺,分析了基于J2ME技術(shù)的方案 。</p><p> 第三章 系統(tǒng)總體設(shè)計和關(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;手機模擬器</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ù)器與手機上測試</p><p><b> 3.1.2硬件環(huán)境</b></p><p> 1.CPU: Intel賽揚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)點、醫(yī)療網(wǎng)點、餐飲網(wǎng)點、住宿網(wǎng)點、旅游景點等;</p><p> 3.移圖:選擇移動,在地圖上游走瀏覽其他部分信息;</p><p> 4.縮放:轉(zhuǎn)
93、換顯示比例,更改顯示尺寸;</p><p> 5.路徑演算:公交車乘坐路徑。</p><p><b> 未來衍生功能:</b></p><p> 1.定位及導(dǎo)航功能:將手機的定位功能加入,實現(xiàn)自動定位及導(dǎo)航功能;</p><p> 2.交友功能:充分利用手機的網(wǎng)絡(luò)功能,可以搜尋一定地理范圍內(nèi)的朋友;<
94、/p><p> 3.廣告發(fā)布:位置廣告發(fā)布系統(tǒng)以短消息的形式,對一定范圍內(nèi)的手機戶進行廣告發(fā)布。此項服務(wù)對講求廣告效益的廠家和商家尤為適用;</p><p> 4.集團管理:可根據(jù)企業(yè)的申請來創(chuàng)建、刪除、修改集團信息,對集團成員的手機號碼、成員的名稱、所屬部門、圖像照片等信息進行靈活方便的管理和查詢。還為集團內(nèi)部人員提供短信群發(fā)、簡單的公文轉(zhuǎn)發(fā)等功能;</p><p
95、> 5.營銷員管理:集團管理者通過此項功能對外出營銷員所處的位置、營銷員的動態(tài)進行監(jiān)控,既降低了成本,又實現(xiàn)了對營銷員的有效管理;</p><p> 6.目標(biāo)追蹤:目標(biāo)追蹤系統(tǒng)是針對公安部門、檢察部門和安全部門而設(shè)計的,既可對嫌疑人進行追蹤,又可對受保護對象進行追蹤;</p><p> 7.特殊人群保護:對老人或兒童等特殊群體,在合法授權(quán)范圍內(nèi),進行適時跟蹤,突發(fā)事件后及
96、時實施保護。對于被追蹤對象的位置信息可通過短信方式定時發(fā)送給監(jiān)護者,讓其無后顧之憂。</p><p> 3.2.2非功能需求</p><p> 從功能上講,應(yīng)該說本系統(tǒng)只是將PC網(wǎng)絡(luò)上的成熟應(yīng)用移植到手機網(wǎng)絡(luò),并沒有突出的功能。真正要使產(chǎn)品具備競爭力,必須在性能等方面有勝人之處。這方面的要求如下:</p><p> 1.易操作:操作界面結(jié)合手機終端的可操作按
97、鍵保持簡單明了,符合普通人的操作習(xí)慣。盡量使完成功能所需的按鍵操作最少;</p><p> 2.穩(wěn)定:考慮到網(wǎng)絡(luò)環(huán)境可能不穩(wěn)定,而且用戶可能處于各種可能的移動狀態(tài),不能讓環(huán)境因素影響到程序的運行,不能出現(xiàn)死機或一直等待的狀態(tài);</p><p> 3.速度流暢:顯示快捷,最大限度的減少停滯時間,移圖、縮放界面轉(zhuǎn)換快速。這是我們最主要的賣點之一。考慮到地圖應(yīng)用使用的數(shù)據(jù)都是圖形化的,較
98、為復(fù)雜,在運算和網(wǎng)絡(luò)傳輸上都有不小的挑戰(zhàn),如果在手機上操作很慢,肯定不能為市場接受。相反,如果速度表現(xiàn)突出的話,就可以領(lǐng)先競爭對手;</p><p> 4.系統(tǒng)資源消耗低:合理進行資源分配、回收,有效的利用系統(tǒng)資源,禁止死鎖現(xiàn)象發(fā)生;</p><p> 5.兼容性:因為手機的類型各種各樣,比如尺寸、顯示屏解析度、甚至SDK都會有不同,如果我們的應(yīng)用只能在很少的機種上運行,或者對每種
99、手機都要重新編寫應(yīng)用的話,這樣的應(yīng)用肯定無法在市場上生存。因此我們的系統(tǒng)架構(gòu)必須考慮到這些因素,使得應(yīng)用只需要經(jīng)過配置文件的修改,或者部分模塊很少的修改,甚至不做什么修改, 就可以適用于不同的手機。</p><p><b> 3.3系統(tǒng)總體設(shè)計</b></p><p> 基于J2ME技術(shù)方案的JAVA手機地圖服務(wù)系統(tǒng)重要包括二個部分:JAVA手機移動終端、服務(wù)器端
100、。JAVA手機移動終端是手機導(dǎo)游系統(tǒng)的客戶端,它運行時,就可以與服務(wù)器進行交互,這樣手機就可以從服務(wù)器獲取信息,并出程序決定這些信息在手機屏幕上的顯示方式。本系統(tǒng)是通過本地網(wǎng)絡(luò)實現(xiàn)的,實際中是通過移動通信系統(tǒng)GPRS是JAVA手機和互連網(wǎng)之間的數(shù)據(jù)通信。整個系統(tǒng)采用Client/Server結(jié)構(gòu),在服務(wù)器端提供地圖數(shù)據(jù)的查詢、存儲、分析等功能,接收移動用戶的請求由Servelet來完成。</p><p> 圖3
101、-1:手機導(dǎo)游系統(tǒng)總體設(shè)計圖</p><p><b> 3.4客服端</b></p><p><b> 3.4.1界面設(shè)計</b></p><p> 為M/Diet所作的用戶界面設(shè)計取決于小設(shè)備的限制,每個MIDlet有且僅有一個Display類的實例,其界面設(shè)計與PC等其他終端有很大的不同,尤其是屏幕間的切換導(dǎo)航比
102、較困難。每個在屏幕上顯示的MIDlet必須獲得它的Display實例的引用,并使用這個實例在屏幕上顯示Displayable類的實例。經(jīng)過分析發(fā)現(xiàn)手機屏幕導(dǎo)航有著“先進后出”的特點,而且當(dāng)前屏幕可有多個子屏選項,屏幕映射表與樹型結(jié)構(gòu)非常相似。因此在設(shè)計中采用樹型結(jié)構(gòu)來實現(xiàn)屏幕導(dǎo)航,主菜單為根結(jié)點,每一屏幕為一樹結(jié)點,選擇一個子項切換為下一屏幕,按“返回”重新回到上一屏幕,這實際為一棵雙向樹結(jié)構(gòu),如圖3-2所示。</p>&
103、lt;p> 圖3-2:屏幕映射模型</p><p> 3.4.2圖形用戶界面的實現(xiàn)</p><p> 圖形用戶界面(Graphics User Interface,GUI)使用圖形的方式,借助標(biāo)準(zhǔn)界面元素幫助用戶方便地對手機進行操作,并將結(jié)果以圖形的方式顯示給用戶。</p><p> 手機屬于CLDC規(guī)格,而在CLDC中本身并沒有包含任何的用戶界面包,
104、這些包被定義在MIDP中。在MIDP中,使用javax.microedition.1cdui包來獲得界面對象。在javax.microedition.1cdui包里主要的界面對象是由Displayable繼承而來的,其中又分為Screen及Canvas兩類,而Screen是高級屏幕對象,Canvas是低級屏幕對象。MIDP GUI的核心是Screen(屏幕),而每個MIDP的應(yīng)用程序(MIDlet)會有惟一的一個Display對象,它管
105、理著屏幕的顯示。當(dāng)調(diào)用Display對象的setCurrent()函數(shù)時,屏幕就被顯示。屏幕只是MIDP規(guī)范中定義的一個對象,從開發(fā)者的角度來說具體指的就是Displayable對象。</p><p><b> 3.5數(shù)據(jù)通信</b></p><p> 3.5.1客服端與服務(wù)器交換的網(wǎng)絡(luò)接口</p><p> 手機客戶端與后臺服務(wù)器通過多
106、線程的網(wǎng)絡(luò)通信程序進行數(shù)據(jù)傳輸。在J2ME中有javax.micrioedition.io包,在該包中提供了Connection框架,由一組接口構(gòu)成,包括Connection接口及其子接口。在CLDC中定義了7個接口,其中包括ContentConnection,在MIDP增加了一個HttpConnection接口。Connector類可以用來進行網(wǎng)絡(luò)等各方面的輸入及輸出,所用的都是Connector的open()函數(shù)。同時用HttpCo
107、nnection接口建立HTYP連接,實現(xiàn)網(wǎng)絡(luò)的連接。</p><p> 在J2ME中有2種實現(xiàn)多線程的方法,可以采用實現(xiàn)接口Java.1ang.Runnable的方式,還可以采用繼承類Java.1ang.Thread的方式。這里采用后者,Java.1ang.Thread類表示一個線程類,它定義了設(shè)置和查詢線程屬性的函數(shù)和啟動線程運行的run()函數(shù) 。</p><p> 在移動應(yīng)用中
108、,其編程技術(shù)具體的涉及到2個方面,即從服務(wù)器端獲取數(shù)據(jù)和向服務(wù)器端提交數(shù)據(jù)。從服務(wù)器端獲取數(shù)據(jù)一般有如下步驟:首先給定一個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ù)、訪問遠程服務(wù)器資源。所有的連接都通過調(diào)用Connector類中的方法open來創(chuàng)建,代碼如下:</p><p> 通過這個連接類,可以簡單的使用下面的方式來實現(xiàn)無線設(shè)備與PC服務(wù)器進行TCP/IP 的Http通信,實現(xiàn)方法如下:</p><p> 服務(wù)器中相應(yīng)的Ser
110、vlet將調(diào)用doGet()方法處理請求,返回響應(yīng),從而把業(yè)務(wù)邏輯的處理交給服務(wù)器端,達到“瘦”客戶端的設(shè)計目標(biāo)。建好連接以后,就可以方便地操作數(shù)據(jù)流,進行數(shù)據(jù)讀寫。手機終端準(zhǔn)確地提交用戶請求參數(shù)、創(chuàng)建和查詢信息服務(wù)請求。確定傳輸數(shù)據(jù)結(jié)構(gòu)。制訂出一套完善的通信接口,要制訂這一個接口首先應(yīng)該清楚的是當(dāng)兩者通信時,使用流的方式,既把一個請求數(shù)據(jù)或響應(yīng)數(shù)據(jù)編碼成一個長的流,流內(nèi)包含的數(shù)據(jù)使用約定的分割符號進行界定。除了考慮連連接方法及數(shù)據(jù)編碼
111、,還須關(guān)心網(wǎng)絡(luò)超時問題。J2ME中,可以通過Timer及TimerTask類實現(xiàn)連接時間的控制。Timer實例用于計時,TimerTask實例在超時產(chǎn)生后終止連接并給出提示信息。在實際的設(shè)計中,采用多線程技術(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> 運行在Java手機上的J2ME地圖服務(wù)客戶端程序,是空間數(shù)據(jù)顯示和操作的用戶接口,客戶端作為終端用戶和服務(wù)器交互的界面,主要的工作是接收用戶的指令,調(diào)用后臺的Web服務(wù),接收服務(wù)器的響應(yīng)結(jié)果并進行顯示。</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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于j2me技術(shù)的手機導(dǎo)游系統(tǒng)的設(shè)計與實現(xiàn)---畢業(yè)論文
- 基于j2me技術(shù)的手機導(dǎo)游系統(tǒng)的設(shè)計與實現(xiàn)---畢業(yè)論文 (2)
- 基于j2me的手機定時系統(tǒng)的設(shè)計與實現(xiàn)畢業(yè)論文
- 畢業(yè)論文基于j2me的手機定時系統(tǒng)的設(shè)計與實現(xiàn)
- 基于j2me技術(shù)的手機導(dǎo)游系統(tǒng)的設(shè)計與實現(xiàn)---開題報告
- 基于j2me技術(shù)的手機導(dǎo)游系統(tǒng)的設(shè)計與實現(xiàn)---開題報告
- 基于j2me手機推箱子游戲的設(shè)計與實現(xiàn)[畢業(yè)論文]
- 畢業(yè)論文---- 基于j2me的手機游戲開發(fā)
- 畢業(yè)論文---基于j2me手機華容道游戲的設(shè)計與實現(xiàn)
- j2me畢業(yè)論文-- j2me手機彩票軟件開發(fā)
- 基于j2me平臺的手機應(yīng)用開發(fā)-畢業(yè)論文
- 基于J2ME技術(shù)的手機游戲設(shè)計與實現(xiàn).pdf
- 基于j2me平臺的手機應(yīng)用開發(fā)-畢業(yè)論文
- 畢業(yè)論文范文——基于j2me的手機游戲開發(fā) (2)
- J2ME手機游戲的設(shè)計與實現(xiàn).pdf
- 基于J2ME手機游戲設(shè)計與實現(xiàn).pdf
- 基于J2ME的手機常識測試系統(tǒng)的設(shè)計與實現(xiàn).pdf
- 基于J2ME的手機視頻監(jiān)控系統(tǒng)的設(shè)計與實現(xiàn).pdf
- j2me游戲畢業(yè)論文
- 基于J2ME的手機紙牌游戲的設(shè)計與實現(xiàn).pdf
評論
0/150
提交評論