版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 論文題目 基于Android的智能導(dǎo)航系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)</p><p> 專 業(yè) </p><p> 年 級(jí) </p><p> 學(xué) 號(hào) </p><p> 姓 名
2、</p><p> 指導(dǎo)老師 </p><p><b> 目 錄</b></p><p><b> 1 緒論1</b></p><p> 1.1 課題背景1</p><p> 1.2 課題內(nèi)容1</p>&l
3、t;p> 1.3 課題目的及其意義2</p><p> 2 系統(tǒng)開發(fā)環(huán)境及相關(guān)技術(shù)2</p><p> 2.1 Android開發(fā)介紹與環(huán)境搭建2</p><p> 2.2 JSON簡(jiǎn)介3</p><p> 2.3 Struts2框架簡(jiǎn)介與環(huán)境搭建3</p><p> 2.4 Baidu M
4、aps API簡(jiǎn)介4</p><p><b> 3 系統(tǒng)分析4</b></p><p> 3.1 研究目標(biāo)4</p><p> 3.2 需求分析4</p><p> 3.3 性能分析5</p><p><b> 4 系統(tǒng)設(shè)計(jì)5</b></p>
5、<p> 4.1 用戶界面設(shè)計(jì)5</p><p> 4.2 數(shù)據(jù)庫設(shè)計(jì)6</p><p> 4.3 程序模塊設(shè)計(jì)8</p><p> 5 系統(tǒng)功能模塊設(shè)計(jì)9</p><p> 5.1 文件結(jié)構(gòu)與用途9</p><p> 5.2 后臺(tái)定位服務(wù)11</p><p&g
6、t; 5.3 MapApplication.java類13</p><p> 5.4 登錄模塊15</p><p> 5.5 首頁模塊15</p><p> 5.6 導(dǎo)航模塊20</p><p> 5.7 周邊信息查詢模塊21</p><p> 5.8 個(gè)人資料模塊23</p>&
7、lt;p><b> 6 系統(tǒng)測(cè)試25</b></p><p><b> 7 總結(jié)26</b></p><p><b> 參考文獻(xiàn)27</b></p><p><b> 致 謝28</b></p><p> 基于Android的智能
8、導(dǎo)游系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)</p><p> 摘 要:本文首先分析討論Android手機(jī)軟件開發(fā)主要技術(shù),以及國內(nèi)景區(qū)導(dǎo)游系統(tǒng)與智能導(dǎo)游的現(xiàn)狀。然后講述了基于百度地圖Android SDK以及定位SDK技術(shù)所設(shè)計(jì)的Android平臺(tái)智能導(dǎo)游系統(tǒng)的實(shí)現(xiàn)。該系統(tǒng)設(shè)計(jì)實(shí)現(xiàn)了后臺(tái)定位、景點(diǎn)導(dǎo)航、景點(diǎn)信息瀏覽與下載、周邊查詢等實(shí)用功能,具有良好的通用性與靈活性。</p><p> 關(guān)鍵字:Andro
9、id;智能導(dǎo)游;導(dǎo)航軟件;移動(dòng)開發(fā);百度地圖</p><p><b> 1 緒論</b></p><p><b> 1.1 課題背景</b></p><p> 中國工業(yè)和信息部最新公布數(shù)據(jù)表明,中國智能手機(jī)的市場(chǎng)增長(zhǎng)率不斷攀升,而且,隨著移動(dòng)3G和Wifi熱點(diǎn)的不斷覆蓋,用戶對(duì)手機(jī)的互動(dòng)娛樂體驗(yàn)也提出了更高要求,各種
10、應(yīng)用軟件開始進(jìn)入,手機(jī)日漸成為互動(dòng)娛樂的焦點(diǎn)。</p><p> 有關(guān)資料顯示,我國的旅游業(yè)發(fā)展實(shí)力巨大。首先,是旅游收入增長(zhǎng)迅速:2013年春節(jié)黃金周全國接待游客達(dá)到2.03億人次,實(shí)現(xiàn)旅游收入1170.6億元人民幣,同比增長(zhǎng)達(dá)到15.1%和15.4%[1];其次,固定資產(chǎn)投入力度的不斷加大:2009年12月,《關(guān)于加快發(fā)展旅游業(yè)意見》首次提出“中國旅游日”的概念,旅游業(yè)已經(jīng)出現(xiàn)在了中國國家戰(zhàn)略性產(chǎn)業(yè)中。&l
11、t;/p><p> 然而,國內(nèi)旅游業(yè)的迅猛發(fā)展使得傳統(tǒng)的人工導(dǎo)游方式不能滿足新時(shí)代用戶的多元化需求。長(zhǎng)期以來,游客在景點(diǎn)旅游時(shí)只能走馬觀花,對(duì)景點(diǎn)的多媒體信息了解甚少,就本人經(jīng)驗(yàn)來說,對(duì)于外來游客來說更會(huì)由于語言的障礙而使得游覽質(zhì)量下降!于是,基于上述,手機(jī)終端的智能導(dǎo)游應(yīng)用便應(yīng)運(yùn)而生。</p><p><b> 1.2 課題內(nèi)容</b></p>&l
12、t;p> 本課題結(jié)合現(xiàn)代景區(qū)的相關(guān)特性和用戶需求,使用JAVA語言,應(yīng)用百度地圖、百度定位(GPS+基站)、JSON數(shù)據(jù)交換和無線通訊等技術(shù),開發(fā)一個(gè)基于Android的C/S式智能導(dǎo)航軟件系統(tǒng)。這軟件使得用戶可以利用無線網(wǎng)絡(luò)以及手機(jī)的便捷性無時(shí)無刻地享受到景點(diǎn)信息查詢、自身位置查詢、周邊查詢、導(dǎo)航等功能所帶來的暢快旅游體驗(yàn)。</p><p> 1.3 課題目的及其意義</p><p
13、> 本課題的主要目的是將Javaweb后臺(tái)服務(wù)端、百度地圖、定位導(dǎo)航技術(shù)與景區(qū)導(dǎo)游相結(jié)合,從而實(shí)現(xiàn)景區(qū)導(dǎo)游系統(tǒng)的真正智能化。智能導(dǎo)游系統(tǒng)可以儲(chǔ)存大量的景區(qū)景點(diǎn)信息,不僅可以廣泛傳播,而且科學(xué)環(huán)保、方便快捷。此外,系統(tǒng)還提供了自定位、導(dǎo)航的實(shí)用功能,讓用戶可以徹底拋棄紙質(zhì)地圖,減少路癡的認(rèn)路障礙。這不僅能直接為游客帶來更暢快的旅游體驗(yàn),同時(shí)還完善了景區(qū)的旅游管理體制。</p><p> 2 系統(tǒng)開發(fā)環(huán)境及
14、相關(guān)技術(shù)</p><p> 2.1 Android開發(fā)介紹與環(huán)境搭建</p><p> Android是Google公司開發(fā)的基于Linux內(nèi)核的開源操作系統(tǒng)。它包括:操作系統(tǒng)、用戶界面和應(yīng)用程序,而且不存在任何以往阻礙移動(dòng)產(chǎn)業(yè)創(chuàng)新的專有權(quán)障礙[2]。</p><p> Android 系統(tǒng)提供了四大基本組件,包括:Activity、Contentprovid
15、e、Service、Intentreceiver,每個(gè)組件都是一個(gè)視圖(view)。但上述四大組件對(duì)于一個(gè)Android應(yīng)用程序來說,卻并不是必須的,可能只需要其中的幾種酒可以滿足設(shè)計(jì)需求。Manifext.xml配置文件時(shí)Android應(yīng)用程序不可或缺的一個(gè)XML配置文件,其中定義了程序所用到的組件、組件功能以及一些必要條件和權(quán)限。</p><p> Android的上層應(yīng)用程序一般是由java語言開發(fā),所以
16、首先應(yīng)該有由SUN公司提供的Java SDK(其中包括JRE:Java Runtime Environment)以及Java主流集成開發(fā)環(huán)境Eclipse IDE。此外,還需要Android開發(fā)專用Google提供的Android SDK和安裝在Eclipse的插件Android ADT,為Android開發(fā)提供開發(fā)工具的升級(jí)或者變更,是Eclipse下開發(fā)工具的升級(jí)下載的工具[3]。</p><p> And
17、roid開發(fā)平臺(tái)搭建步驟[4]:</p><p> (1)首先到http://www.eclipse.org/downloads/下載Eclipse集成開發(fā)環(huán)境并且解壓,這里推薦下載Java EE 集成版本,可以為平臺(tái)的搭建省下不少工作。接著再去http://java.sun.com/javase/downloads/index.jsp 站點(diǎn)下載SDK后安裝,下載http://dl.google.com/and
18、roid/android-sdk-windows-1.5_r1.zip,Android SDK1.5后解壓。</p><p> (2)雙擊Eclipse解壓后目錄中的eclipse.exe然后啟動(dòng),選擇Eclipse菜單中的Help-> Install New Software-> 選項(xiàng)卡上的Available Software,點(diǎn)擊右側(cè)的“Add”輸入http://dl-ssl.google.co
19、m/android/eclipse/后確定,然后在“Work with”下拉菜單中選擇剛才輸入的網(wǎng)址。過一會(huì)就會(huì)出現(xiàn)一個(gè)Developer Tools選項(xiàng),勾上以后點(diǎn)擊Next以后Eclipse會(huì)自動(dòng)網(wǎng)上查找Android 開發(fā)工具插件,然后找到Android DDMS和Android Development Tools,選中這兩個(gè)點(diǎn)擊Finish,Eclipse就會(huì)自動(dòng)下載并安裝Android插件了,最后會(huì)提示重啟Eclipse。&l
20、t;/p><p> (3)重啟后選擇Eclipse菜單中的Windows-> Preferences 在左側(cè)的Android項(xiàng)目中SDK Location中填入Android SDK解壓后的目錄,然后點(diǎn)擊Apply。</p><p> (4)在Windows7的系統(tǒng)變量中的path變量中添加一個(gè)值,該值指向解壓后的Android SDK目錄下的tools文件夾。</p>
21、<p> 2.2 JSON簡(jiǎn)介</p><p> JSON(javaScript Object Notation)是一種輕量級(jí)的數(shù)據(jù)交換格式,它基于javascript卻采用了完全獨(dú)立于語言的文本格式。JSON基于“名稱/值”對(duì)的集合和值的有效序列表這兩種格式,用JSON表示一組值時(shí)不但可以減少復(fù)雜性也能提高可讀性,是網(wǎng)絡(luò)編程中數(shù)據(jù)交換的常用格式。</p><p> 2.
22、3 Struts2框架簡(jiǎn)介與環(huán)境搭建</p><p> Struts是采用Java Servlet/JavaServer Pages技術(shù),開發(fā)Web應(yīng)用程序的開放源碼的Framework。采用Struts能開發(fā)出基于MVC(Model-View-Controller)設(shè)計(jì)模式的應(yīng)用構(gòu)架。而Struts2是在原有Struts和Webwork的技術(shù)基礎(chǔ)上進(jìn)行合并的全新的框架,其體系結(jié)構(gòu)而原有Strcts差異巨大。S
23、tructs2是以Webwork為核心,采用攔截器機(jī)制來處理用戶請(qǐng)求,這樣的設(shè)計(jì)也使得業(yè)務(wù)邏輯能夠與Servlet API完全分離,使應(yīng)用結(jié)構(gòu)更為合理。</p><p> Struts2框架的開發(fā)需要使用Myeclipse集成開發(fā)環(huán)境。由于Myeclipse是Eclipse的一個(gè)插件,所以在這忽略Eclipse的安裝。</p><p> Myeclipse的安裝:首先應(yīng)該到http:/
24、/www.myeclipseide.com/index.php? name =Downloads&req=viewsdownload&sid=15下載文件MyEclipse_5.5.1GA_E3.2.2_ FullStackInstaller.exe并安裝。安裝完畢后將其安裝目錄下的feature和plugin兩個(gè)目錄覆蓋到Eclipse的安裝目錄下,最后卸載剛才安裝的Myeclipse[5]。</p>&
25、lt;p> Tomcat應(yīng)用服務(wù)器的安裝:首先,到http://www.cuku.net/show.php/309.html選擇與自己JDK匹配的Tomcat 安裝文件,在安裝時(shí)選擇路徑把路徑選到JDK的安裝路徑下的jre。最后配置環(huán)境變量:在“我的電腦”上點(diǎn)右鍵—>“屬性”—>“高級(jí)”—> “環(huán)境變量(N)”。 新建系統(tǒng)變量CATALINA_HOME:C:\Program Files\Apache Softw
26、are Foundation\Tomcat 5.5(我的tomcat安裝目錄,你寫你自己的) 在系統(tǒng)變CLASSPATH的值的后面加入:%CATALINA_HOME%\common\lib; 在系統(tǒng)變量Path的值中"%JAVA_HOME%\bin;"的后面加入以下內(nèi)容:%CATALINA_HOME%\bin; 到這里,Tomcat安裝完畢[6] 。</p><p> Structs2框架的
27、搭建,包括以下步驟:首先創(chuàng)建web項(xiàng)目并導(dǎo)入Structs2所需要的包struts2 –core-2.2.1.1.jar、xwork-core-2.2.1.1.jar、commons–fileupload-1.2. 1.jar comm.ons-io-1. 3.2.jar、freemarker-2.3.16.jar、ognl-3.0.jar、javassist-3.7.ga.jar;配置Structs在當(dāng)前web項(xiàng)目中,在web.xml
28、中配置Struts2所需的核心過濾器。</p><p> 2.4 Baidu Maps API簡(jiǎn)介</p><p> 百度地圖API是為開發(fā)者免費(fèi)提供的一套基于百度地圖服務(wù)的應(yīng)用接口,包括JavaScript API、Web服務(wù)API、Android SDK、iOS SDK、定位SDK、車聯(lián)網(wǎng)API、LBS云等多種開發(fā)工具與服務(wù),提供基本地圖展現(xiàn)、搜索、定位、逆/地理編碼、路線規(guī)劃、L
29、BS云存儲(chǔ)與檢索等功能,適用于PC端、移動(dòng)端、服務(wù)器等多種設(shè)備,多操作系統(tǒng)下的地圖應(yīng)用開發(fā)[7]。</p><p><b> 3 系統(tǒng)分析</b></p><p><b> 3.1 研究目標(biāo)</b></p><p> (1) 學(xué)習(xí)熟悉Android應(yīng)用程序的框架、開發(fā)過程;</p><p>
30、 (2) 學(xué)習(xí)熟悉Struts2框架、開發(fā)過程;</p><p> (3) 基于Android的智能導(dǎo)游軟件主要實(shí)現(xiàn)Android系統(tǒng)訪問服務(wù)端,利用基于JAVA的網(wǎng)絡(luò)編程(Apache HttpClient項(xiàng)目)與Webservice調(diào)用,針對(duì)手機(jī)所在的地理位置,實(shí)時(shí)查詢相關(guān)景點(diǎn)的基本信息與天氣信息,并智能導(dǎo)航;</p><p> (3) 學(xué)習(xí)熟悉基于Android的地圖GIS開發(fā)。
31、</p><p><b> 3.2 需求分析</b></p><p> 本軟件是一個(gè)基于Android的智能導(dǎo)游系統(tǒng),故使用者應(yīng)該為成分構(gòu)成比較廣泛的游客,所以UI必須簡(jiǎn)潔大方,有顯淺易懂。而要實(shí)現(xiàn)智能導(dǎo)游,首先就必須要求軟件起碼如人工導(dǎo)游般,能夠?yàn)橛脩籼峁┚包c(diǎn)的基本信息講解、位置描述、導(dǎo)航等服務(wù)考慮到景區(qū)信息與用戶信息等的數(shù)據(jù)量可能十分巨大,本系統(tǒng)應(yīng)該使用本地/
32、服務(wù)器模式以節(jié)省用戶的移動(dòng)設(shè)備儲(chǔ)存空間以及數(shù)據(jù)流量。綜上所述,本系統(tǒng)應(yīng)該完成以下功能:</p><p> (1) 采用C/S模式,基于Struts2框架服務(wù)端儲(chǔ)存用戶信息以及顯示地圖所必須的靜態(tài)信息,供Android客戶端的查詢?yōu)g覽與下載;</p><p> (2) 用戶信息管理,包括:登錄與注冊(cè)、本地景點(diǎn)信息的管理;</p><p> (3) 以城市為基本
33、的景點(diǎn)信息查詢與模糊查詢,包括:名稱、地址、圖片、經(jīng)緯度、票價(jià)及其優(yōu)惠活動(dòng)等,并提供景點(diǎn)信息的本地緩存、下載;</p><p> (4) 用戶自定位,景點(diǎn)位置的地圖顯示與導(dǎo)航;</p><p> (5) 周邊餐飲、衛(wèi)生間、住宿、醫(yī)院、加油站等信息的查詢。</p><p><b> 3.3 性能分析</b></p><p
34、> 本項(xiàng)目的目標(biāo)是提升游客的旅游體驗(yàn),所以對(duì)程序的性能要求較高,程序應(yīng)該具有以下的良好性能:</p><p> (1) 響應(yīng)速度快。</p><p><b> (2) 安全性高</b></p><p> (3) 信息處理速度快</p><p><b> 4 系統(tǒng)設(shè)計(jì)</b></
35、p><p> 4.1 用戶界面設(shè)計(jì)</p><p> 根據(jù)設(shè)計(jì),本軟件系統(tǒng)有以下幾個(gè)界面:登錄界面、景點(diǎn)查詢綜合界面、景點(diǎn)信息顯示界面、景點(diǎn)信息本地收藏界面、周邊查詢界面、景點(diǎn)導(dǎo)航界面。</p><p> 景點(diǎn)查詢綜合界面是軟件的首頁,其主體是百度地圖。它能根據(jù)當(dāng)前城市(自選或定位默認(rèn))或模糊查詢用百度地圖顯示出景點(diǎn)的分布情況。</p><p&
36、gt; 景點(diǎn)信息顯示界面為用戶顯示當(dāng)前景點(diǎn)的詳細(xì)情況,包括:名稱、地址、電話、門票、優(yōu)惠、簡(jiǎn)介、圖片等資料,并能根據(jù)用戶意愿選擇下載當(dāng)前景點(diǎn)信息。</p><p> 景點(diǎn)信息本地收藏界面,其主體是一個(gè)ListView。它能夠顯示出用戶的本地景點(diǎn)信息,并實(shí)現(xiàn)管理(刪除)。</p><p> 周邊查詢界面,其主體是一個(gè)百度地圖。用戶可以通過它來查詢到周邊諸如餐飲、酒店、加油站等信息。&l
37、t;/p><p> 景點(diǎn)導(dǎo)航界面,其主體是一個(gè)百度地圖。它可以為用戶進(jìn)行實(shí)時(shí)導(dǎo)航服務(wù)。</p><p> 根據(jù)對(duì)用戶界面顯示內(nèi)容的分析,繪制出用戶界面的草圖,如圖4-1、4-2所示。</p><p> 圖4-1 用戶界面草圖</p><p> 圖4-2 用戶界面草圖</p><p><b> 4.2 數(shù)
38、據(jù)庫設(shè)計(jì)</b></p><p> 本軟件中有一下數(shù)據(jù)需要存儲(chǔ):用戶信息、景點(diǎn)信息、景點(diǎn)信息收藏、全國城市名稱??紤]到用戶信息與景點(diǎn)信息的龐大數(shù)據(jù)量,本系統(tǒng)將其存儲(chǔ)在服務(wù)器端的MySQL數(shù)據(jù)庫,需要時(shí)再請(qǐng)求;城市名稱數(shù)據(jù)量較少,為減少用戶數(shù)據(jù)流量,將其存儲(chǔ)在手機(jī)的SQLite數(shù)據(jù)庫中;而景點(diǎn)信息收藏則存放于SD卡的文件中,綜上所述,本系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)如下:</p><p>
39、在服務(wù)端的MySQL數(shù)據(jù)庫中建立新數(shù)據(jù)庫maps_traverse,并建立新表,包括用戶信息表gpsuser和景點(diǎn)信息表spot。</p><p> 如表4-1和表4-2所示。</p><p> 表4-1用戶信息表gpsuser的結(jié)構(gòu)</p><p> 表4-2 景點(diǎn)信息表spot的結(jié)構(gòu)</p><p> 由于全國城市的分布是相對(duì)固定
40、的,為了減少操作的麻煩,本軟件直接將整個(gè)城市數(shù)據(jù)庫city.s3db導(dǎo)入到Android項(xiàng)目的res/raw目錄中,直接使用。其中包括省表province,城市表city。</p><p> 如表4-3和表4-4所示。</p><p> 表4-3省表province的結(jié)構(gòu)</p><p> 表4-2 城市表city的結(jié)構(gòu)</p><p>
41、; 從設(shè)計(jì)思路上考慮,儲(chǔ)存在手機(jī)本地的景點(diǎn)信息收藏?cái)?shù)據(jù)包括JSON文本和JPG格式的圖片,將其直接寫入SD卡目錄以指定規(guī)則命名的目錄,此方案可以簡(jiǎn)化對(duì)其的讀寫操作。</p><p> 4.3 程序模塊設(shè)計(jì)</p><p> 從功能需求上分析,整個(gè)軟件應(yīng)劃分為首頁、個(gè)人資料、導(dǎo)航、周邊查詢,四個(gè)模塊。</p><p> 首頁負(fù)責(zé)景點(diǎn)信息的各類查詢、城市的切換、
42、定位,是整個(gè)軟件的核心;個(gè)人資料模塊負(fù)責(zé)管理用戶的信息以及本地景點(diǎn)數(shù)據(jù);導(dǎo)航負(fù)責(zé)對(duì)用戶進(jìn)行景點(diǎn)、指定位置的目的地導(dǎo)航;周邊查詢負(fù)責(zé)為用戶提供周邊信息的查詢。系統(tǒng)模塊功能圖如圖4-2。</p><p> 圖4-2 系統(tǒng)模塊功能圖</p><p> 5 系統(tǒng)功能模塊設(shè)計(jì)</p><p> 5.1 文件結(jié)構(gòu)與用途</p><p> 在程序開
43、發(fā)階段,首先確定“基于Android的智能導(dǎo)游系統(tǒng)”的工程名為guidemap。工程源代碼的結(jié)構(gòu)如圖5-1所示。</p><p> 為了使源代碼文件的結(jié)構(gòu)更加清晰,guidemap工程設(shè)置了多個(gè)命名空間,分別用來保存用戶界面、數(shù)據(jù)庫、后臺(tái)服務(wù)和工具實(shí)體的源代碼文件,源代碼文件的名稱以及說明如表5-1所示。</p><p> 圖5-1 guidemap工程的源代碼文件</p>
44、<p> 表5-1 guidemap工程的文件用途說明</p><p> Android的資源文件保存在/res的子目錄中。/res/drawable/目錄中保存的是圖像文件,/res/values目錄中保存的是用來自定義字符串和選項(xiàng)列表的文件;/res/layout目錄中保存的是布局XML文件;/res/raw保存的是城市信息數(shù)據(jù)庫文件;而/res/anim保存的是動(dòng)畫效果文件。所有在程序開發(fā)
45、階段可以被調(diào)用的資源都保存在這些目錄中AndroidManifest.xml文件主要是Activity、Service類的注冊(cè)和相關(guān)權(quán)限的許可設(shè)置。</p><p> 5.2 后臺(tái)定位服務(wù)</p><p> GetLocationService.java類的后臺(tái)定位服務(wù)是整個(gè)軟件的基礎(chǔ),它綁定在軟件的Application,從軟件運(yùn)行開始,貫穿整個(gè)軟件生命周期的始末。其主要功能是不斷為
46、系統(tǒng)提供實(shí)時(shí)的所在經(jīng)緯度以及所在城市,并存放到公共類Constants的City變量。</p><p> 考慮到本應(yīng)用的用戶對(duì)象主要為國內(nèi)用戶,在地圖方案上采用了由百度公司開發(fā)的免費(fèi)地圖Baidu Maps API。而定位方案采用了Baidu Location API,通過調(diào)用此API來實(shí)時(shí)獲取當(dāng)前位置坐標(biāo)將其存入Binder類中,而當(dāng)前城市信息的獲取通過百度地圖SDK中MKSearch來獲取。</p&g
47、t;<p> 此模塊的實(shí)現(xiàn)流程圖如圖5-2所示。</p><p><b> 其核心代碼如下。</b></p><p> MapApplication app = (MapApplication) this.getApplication();</p><p> if (app.bMap == null) </p>
48、;<p><b> {</b></p><p> app.bMap = new BMapManager(getApplication());</p><p> app.bMap.init(app.MAP_KEY,new MapApplication.MyGeneralListener());</p><p><b>
49、; }</b></p><p> 圖5-2 后臺(tái)定位服務(wù)模塊功能流程圖</p><p> app.bMap.start();</p><p> final MKSearch mMKSearch = new MKSearch();</p><p> mMKSearch.init(app.bMap, new GeoCoder
50、Parser());</p><p> Log.d("service map", "started");</p><p> mLocationListener = new LocationListener() {</p><p><b> @Override</b></p><p
51、> public void onLocationChanged(Location location) </p><p><b> {</b></p><p> //Log.d(TAG, "location change");</p><p> if (location != null) </p>
52、<p><b> {</b></p><p> String strLog = String.format("經(jīng)度:%f\r\n" + "緯度:%f", location.getLongitude(),location.getLatitude());</p><p> pt = new GeoPoint((int
53、)(location.getLatitude() * 1E6), (int)(location.getLongitude() * 1E6));</p><p> mMKSearch.reverseGeocode(pt);</p><p> app.setPt(pt);</p><p><b> }</b></p><
54、p><b> else</b></p><p><b> {</b></p><p> Log.v("Service", "getLocation error!");</p><p><b> }</b></p><p>&
55、lt;b> }};</b></p><p> MKSearch的查詢結(jié)果在GeoCoderParse.onGetResult方法中給出。</p><p> public void onGetAddrResult(MKAddrInfo arg0, int arg1) </p><p><b> {</b></p&g
56、t;<p> if (arg1 != 0) </p><p><b> {</b></p><p> String str = String.format("%d", arg1);</p><p> Log.d(TAG, str);</p><p><b> retu
57、rn;</b></p><p><b> }</b></p><p> MKGeocoderAddressComponent address = arg0.addressComponents;</p><p> Constants.CITY=address.city;</p><p> Log.d(T
58、AG, "Location info:" + address.province + address.city + address.district+address.street+address.streetNumber);</p><p><b> }</b></p><p> 5.3 MapApplication.java類</p>
59、;<p> 該類是整個(gè)軟件的基石,它綁定了后臺(tái)定位服務(wù),初始化了百度地圖SDK,諸如:BMapManager、MKSearch、MKSearchListener等公共類,避免了各Activity之間的沖突與提高了系統(tǒng)的流暢性,它還定義了軟件的公共變量。綜上,系統(tǒng)可以通過它來控制著整個(gè)軟件的行為。其核心代碼如下。</p><p> 首先,應(yīng)該在androidmanifest.xml文件中聲明。&l
60、t;/p><p> <application</p><p> android:icon="@drawable/ic_launcher"</p><p> android:label="@string/app_name"</p><p> android:hardwareAccelerated
61、="false" </p><p> android:theme="@style/AppTheme" android:name="com.guidemap.control.MapApplication"></p><p> 綁定后臺(tái)服務(wù)以及初始化百度地圖。</p><p> MapApplica
62、tion mApp=this;</p><p> bMap=new BMapManager(mApp);</p><p> boolean is=bMap.init(MAP_KEY, new MyGeneralListener());</p><p><b> if(is)</b></p><p><b>
63、; {</b></p><p> //設(shè)置定位監(jiān)聽時(shí)間間隔</p><p> bMap.getLocationManager().setNotifyInternal(5, 2);bMap.getLocationManager().enableProvider(MKLocationManager.MK_NETWORK_PROVIDER);</p><
64、;p> bMap.getLocationManager().enableProvider(MKLocationManager.MK_GPS_PROVIDER);</p><p><b> }</b></p><p><b> else</b></p><p><b> {</b><
65、/p><p> Toast.makeText(this, "地圖DSK啟動(dòng)失敗",Toast.LENGTH_LONG).show();</p><p><b> }</b></p><p> final Intent intent=new Intent();</p><p> intent.set
66、Action("com.guidemap.ss");bindService(intent, scon, Service.BIND_AUTO_CREATE);</p><p> 其中,MyGeneralListener()類的作用在于在初始化百度地圖SDK時(shí)檢測(cè)錯(cuò)誤的發(fā)生,并為用戶提供提醒服務(wù)。</p><p> 用于為用戶提供導(dǎo)航、周邊信息搜索的MKSearch關(guān)
67、鍵代碼如下(由于篇幅問題,此處只寫出了代碼框架,具體流程在導(dǎo)航、周邊信息查詢模塊處給出)。</p><p> MKSearch mKSearch=new MKSearch();</p><p> mKSearch.init(app.bMap, new MKSearchListener() {</p><p><b> @Override</
68、b></p><p> public void onGetWalkingRouteResult(MKWalkingRouteResult arg0, int arg1) {}</p><p><b> @Override</b></p><p> public void onGetTransitRouteResult(MKTrans
69、itRouteResult arg0, int arg1) {}</p><p><b> @Override</b></p><p> public void onGetSuggestionResult(MKSuggestionResult arg0, int arg1)</p><p><b> {}</b>&l
70、t;/p><p><b> @Override</b></p><p> public void onGetRGCShareUrlResult(String arg0, int arg1)</p><p><b> {}</b></p><p><b> @Override</b
71、></p><p> public void onGetPoiResult(MKPoiResult arg0, int arg1, int arg2) </p><p><b> {}</b></p><p><b> @Override</b></p><p> public voi
72、d onGetPoiDetailSearchResult(int arg0, int arg1) </p><p><b> {}</b></p><p><b> @Override</b></p><p> public void onGetDrivingRouteResult(MKDrivingRouteRes
73、ult arg0, int arg1) {}</p><p><b> @Override</b></p><p> public void onGetBusDetailResult(MKBusLineResult arg0, int arg1)</p><p><b> {}</b></p><
74、p><b> @Override</b></p><p> public void onGetAddrResult(MKAddrInfo arg0, int arg1) </p><p><b> {}</b></p><p><b> });</b></p><p&
75、gt;<b> 5.4 登錄模塊</b></p><p> 登錄模塊是整個(gè)系統(tǒng)的門戶,在現(xiàn)實(shí)中它的功能是否健全關(guān)系到整個(gè)系統(tǒng)給用戶的第一印象。在這個(gè)系統(tǒng)中,登錄模塊主要為用戶提供賬號(hào)登錄與注冊(cè),記住最后一次賬號(hào)與密碼,對(duì)系統(tǒng)進(jìn)行GPS、WIFI等狀態(tài)的檢測(cè),以及系統(tǒng)權(quán)限等功能。其界面圖如圖5-3所示。</p><p> 圖5-3 登錄界面圖 </p>
76、<p> 當(dāng)用戶打開系統(tǒng),首先便進(jìn)入這個(gè)登錄界面。假如用戶上一次成功登錄并勾選記住密碼,則系統(tǒng)會(huì)自動(dòng)為用戶填上上一次登錄所用賬號(hào)密碼。與此同時(shí),該模塊后臺(tái)會(huì)自動(dòng)檢測(cè)當(dāng)前手機(jī)的GPS、WIFI網(wǎng)絡(luò)狀態(tài),因?yàn)橄到y(tǒng)所實(shí)現(xiàn)的功能是基于上述兩種功能的,假如檢測(cè)到上述狀態(tài)為關(guān)閉時(shí)會(huì)提示打開。當(dāng)用戶輸入正確賬號(hào)信息時(shí),系統(tǒng)便會(huì)跳轉(zhuǎn)至系統(tǒng)主界面。在注冊(cè)功能中,用戶可以填寫賬號(hào)、密碼、E-mail等信息,注冊(cè)成功的條件是輸入的賬號(hào)不重復(fù),
77、各類輸入格式正確。</p><p> 其中,登錄的功能流程圖如圖5-4所示。</p><p> 圖5-4 登錄功能流程圖 </p><p><b> 5.5 首頁模塊</b></p><p> 由上述可知,首頁模塊是軟件功能的核心,正是它奠定了軟件的屬性:智能導(dǎo)游。它由兩個(gè)核心界面構(gòu)成:主界面、景點(diǎn)信息界面。&l
78、t;/p><p> 其對(duì)應(yīng)的界面圖如圖5-5所示。</p><p> 圖5-5 首頁界面圖</p><p> 首先,用戶一旦登錄成功后,系統(tǒng)就會(huì)根據(jù)定位信息向服務(wù)端的MySQL數(shù)據(jù)</p><p> 庫請(qǐng)求當(dāng)?shù)氐木包c(diǎn)數(shù)據(jù),并將其顯示在地圖上。此后,用戶可以根據(jù)需要,使用以下功能:(1)、模糊搜索,在輸入框中輸入用戶需要了解的景點(diǎn)名稱,系統(tǒng)
79、就會(huì)將其單獨(dú)顯示出來然后將其置于地圖中心;(2)、切換城市,系統(tǒng)默認(rèn)城市是用戶當(dāng)前所在城市,如果需要,用戶可以實(shí)時(shí)切換城市以了解更多景點(diǎn);(3)、查詢、下載景點(diǎn)詳細(xì)信息。</p><p> 其模塊功能流程圖如圖5-6所示。</p><p> 為了更好地處理想Web站點(diǎn)請(qǐng)求,包括處理Session、Cookie等細(xì)節(jié)問題,Apache開源組織提供了一個(gè)HttpClient項(xiàng)目,作為一個(gè)簡(jiǎn)
80、單的Http客戶端(而不是瀏覽器)。它可以用于發(fā)送HTTP請(qǐng)求,接受HTTP響應(yīng)[8]。由于本系統(tǒng)需要從服務(wù)端遠(yuǎn)程獲取景點(diǎn)信息,我采用這個(gè)Apache HttpClient,數(shù)據(jù)格式采用JSON,從服務(wù)端獲取信息的核心方法如下。</p><p> public static String doGet(String url,Context context)</p><p><b>
81、; { </b></p><p><b> //判斷網(wǎng)絡(luò)</b></p><p> if(checkNetwork(context)==false)</p><p><b> {</b></p><p> return null;</p><p>
82、<b> }else</b></p><p><b> {</b></p><p> HttpGet httpget =new HttpGet(url);</p><p> BasicHttpParams httpParams = new BasicHttpParams(); </p><p&
83、gt; HttpConnectionParams.setConnectionTimeout(httpParams, 5000);</p><p> 圖5-6 景點(diǎn)信息標(biāo)注功能流程圖</p><p> HttpConnectionParams.setSoTimeout(httpParams, 5000); </p><p> HttpClient httpc
84、liend=new DefaultHttpClient(httpParams);</p><p> String result=new String();</p><p><b> try {</b></p><p> HttpResponse httpresponse=httpcliend.execute(httpget);</p
85、><p> HttpEntity httpentity= httpresponse.getEntity();</p><p> InputStream inputstream= httpentity.getContent();</p><p> BufferedReader buff=new BufferedReader(new InputStreamReader
86、(inputstream));</p><p> String line=new String();</p><p> while((line=buff.readLine())!=null)</p><p><b> {</b></p><p> result=result+line;</p>
87、<p><b> }</b></p><p> //System.out.println(result);</p><p> } catch (Exception e) {</p><p> // TODO Auto-generated catch block</p><p> e.printSta
88、ckTrace();</p><p> result=null;</p><p><b> }</b></p><p> return result;</p><p><b> }</b></p><p><b> }</b></p>
89、;<p> 根據(jù)信息將景點(diǎn)標(biāo)注:</p><p> public OverItemT(Drawable marker, MapsActivity context, ArrayList<Spot> slist) {</p><p> super(boundCenterBottom(marker));</p><p> // TODO
90、Auto-generated constructor stub</p><p> this.marker=marker;</p><p> this.slist=slist;</p><p> this.ma=context;</p><p> //根據(jù)gplist來制作OverlayItem</p><p>
91、 List<GeoPoint> lgp=new ArrayList<GeoPoint>();</p><p> OverlayItem ot;</p><p> for(Spot spot:slist)</p><p><b> {</b></p><p> Log.e("ge
92、tLayer", String.valueOf(spot.getPoi().getLat())+"+"+String.valueOf(spot.getPoi().getLng()));</p><p> lgp.add(new GeoPoint((int)(spot.getPoi().getLat()*1e6),(int)(spot.getPoi().getLng()*1e6)))
93、; </p><p><b> }</b></p><p> for(int i=0;i<lgp.size();i++)</p><p><b> {</b></p><p> GeoPoint gp=(GeoPoint)lgp.get(i); if(&
94、quot;null".equals(slist.get(i).getFavourableinfo()))</p><p><b> {</b></p><p> ot=new OverlayItem(gp,slist.get(i).getName()+"(※優(yōu)惠景點(diǎn))","gpoint"+i);</p>
95、<p><b> }</b></p><p><b> else</b></p><p> ot=new OverlayItem(gp,slist.get(i).getName(),"gpoint"+i);</p><p><b> if(i==0)</b>&
96、lt;/p><p> setFirstSpot(gp);</p><p> mGeoList.add(ot);</p><p><b> } </b></p><p> populate();//更新</p><p><b> }</b></p><
97、;p><b> 5.6導(dǎo)航模塊</b></p><p> 導(dǎo)航模塊,顧名思義,它的設(shè)計(jì)目標(biāo)是為游客提供景點(diǎn)的導(dǎo)航服務(wù),它彌補(bǔ)了人工導(dǎo)游難以隨時(shí)為旅游指路的缺點(diǎn),豐富了導(dǎo)游的服務(wù),讓游客可以更加方便地在旅游區(qū)瀏覽。導(dǎo)航模塊界面如圖5-7所示。</p><p> 圖5-7 導(dǎo)航模塊界面圖</p><p> 此模塊設(shè)計(jì)了兩種功能:任意地
98、點(diǎn)的導(dǎo)航和指定景點(diǎn)的導(dǎo)航。而每種導(dǎo)航功能可以為旅游查詢出三種路徑:公交車、自駕、步行。在導(dǎo)航方案的選擇上,本模塊采用了基于Baidu Maps API的MKSearch與MKSearchListener。當(dāng)用戶將搜索條件輸入系統(tǒng)時(shí),系統(tǒng)即調(diào)用MKSearch中的TransitSearch(String city,MKplanNode start, MKplanNode end) 或WalkingSearch(String startC
99、ity,MK planNode start, String endCity,MKplanNode end)發(fā)起搜索,得到信息后為用戶在地圖顯示出路徑。導(dǎo)航模塊功能流程圖如圖5-8所示。</p><p> 圖5-8 導(dǎo)航模塊功能流程圖</p><p> 5.7 周邊信息查詢模塊</p><p> 周邊信息查詢模塊為用戶提供了對(duì)某城市一定范圍內(nèi)的諸如餐飲、衛(wèi)生間、
100、加油站、酒店等豐富信息等關(guān)鍵詞的查詢。</p><p> 周邊信息查詢模塊界面如圖5-9所示。</p><p> 根據(jù)設(shè)計(jì),用戶可以指定搜索中心點(diǎn)(定位或自定義)、范圍、搜索的Point類型,例如:肇慶學(xué)院圖書館、范圍1000m、類型酒店,系統(tǒng)即可為用戶查詢到在肇慶學(xué)院圖書館周邊1000m范圍內(nèi)的酒店。</p><p> 如導(dǎo)航模塊一般,采用了基于Baidu
101、Maps API的MKSearch與MKSearchListener。當(dāng)用戶將搜索條件輸入系統(tǒng)時(shí),系統(tǒng)即調(diào)用MKSearch中的</p><p> poiSearchNearby(String key,GeoPoint ptLB,int radius),方法發(fā)起周邊Point搜索。</p><p> 圖5-9 周邊信息查詢模塊界面圖</p><p> 周邊信息
102、查詢模塊功能流程圖如圖5-10所示。</p><p> 圖5-10 周邊信息查詢模塊功能流程圖</p><p> 5.8 個(gè)人資料模塊</p><p> 個(gè)人資料管理模塊為用戶提供了個(gè)人信息查詢更新、個(gè)人景點(diǎn)收藏的查詢與管理功能,其主要布局界面有兩個(gè),如圖5-11所示。</p><p> 圖5-11 個(gè)人資料模塊界面圖</p&g
103、t;<p> 當(dāng)用戶選中“我的”選項(xiàng)卡后,進(jìn)入此模塊主界面。用戶可以在此模塊查看的個(gè)人賬號(hào)信息,包括賬號(hào)、郵箱、注冊(cè)時(shí)間、賬號(hào)權(quán)限,并可以根據(jù)需要進(jìn)行包括賬號(hào)名、郵箱、密碼在內(nèi)的信息修改,而在我的收藏方面,界面以Listview方式羅列了用戶收藏在本地的景點(diǎn)信息,可以讓用戶得以查看自己收藏到本地的景點(diǎn)信息,同時(shí)也可以通過特定手勢(shì)對(duì)其進(jìn)行刪除操作。</p><p> 模塊主界面的個(gè)人資料信息刷新、
104、信息獲取與更新等由一個(gè)后臺(tái)核心線程進(jìn)行維護(hù)。個(gè)人資料管理線程功能流程圖如圖5-12所示。</p><p> 在個(gè)人收藏功能方面,景點(diǎn)信息在首頁模塊中下載,以JSON格式的TXT文件方式儲(chǔ)存在手機(jī)SD卡中以項(xiàng)目名命名目錄下,文件夾則以景點(diǎn)的ID命名。在查看時(shí),該模塊會(huì)根據(jù)景點(diǎn)ID搜索到指定目錄的TXT文件,并加以解析,然后以LisView方式將其可視化。此時(shí),用戶則可以根據(jù)需要,按照指定手勢(shì)對(duì)信息進(jìn)行查詢、刪除。
105、例如,在ListView的Item中滑動(dòng)手勢(shì),將每個(gè)Item的刪除按鈕可視化,按下即可實(shí)現(xiàn)對(duì)信息的刪除。</p><p> 個(gè)人收藏功能流程圖如圖5-13所示。</p><p> 圖5-12 個(gè)人資料管理線程流程圖</p><p> 圖5-13 景點(diǎn)收藏功能流程圖</p><p><b> 6 系統(tǒng)測(cè)試</b>&
106、lt;/p><p> 至此,已經(jīng)完成了guidemap工程的代碼編寫工作,這一節(jié)將對(duì)代碼進(jìn)行軟件測(cè)試??紤]到Android虛擬機(jī)效率比較低,所以本系統(tǒng)的測(cè)試操作將使用真機(jī)測(cè)試,并用豌豆莢手機(jī)截圖功能將結(jié)果截圖,測(cè)試機(jī)型為魅族MX。在測(cè)試方式上我主要進(jìn)行了系統(tǒng)的黑盒測(cè)試,其過程與結(jié)果如下:</p><p> (1) 在工程名guidemap上點(diǎn)右鍵,然后選擇“Run As”,然后選擇“And
107、roid Application”。首先進(jìn)入登錄界面,此時(shí)GPS、WIFI未開啟提示開啟。開啟GPS后,打開注冊(cè)頁面,注冊(cè)對(duì)輸入的信息進(jìn)行格式檢測(cè)(正則表達(dá)式檢測(cè))。功能正常實(shí)現(xiàn);</p><p> (2) 登錄成功,進(jìn)入系統(tǒng)主界面,“首頁”選項(xiàng)卡,依次進(jìn)行切換城市、景點(diǎn)查詢,下載。功能正常實(shí)現(xiàn);</p><p> (3) 點(diǎn)擊“導(dǎo)航”選項(xiàng)卡,首先進(jìn)行手寫對(duì)始止點(diǎn)輸入然后選定路線模式,
108、開始搜索,結(jié)果如如期;進(jìn)行手勢(shì)輸入,選定路線模式,結(jié)果如如期;</p><p> (4) 點(diǎn)擊“周邊”選項(xiàng)卡,輸入搜索關(guān)鍵字,如酒店,然后手勢(shì)輸入中心點(diǎn)與半徑,搜索結(jié)果如如期;</p><p> (5) 點(diǎn)擊“我的”選項(xiàng)卡,頁面周期性刷新位置,點(diǎn)擊賬號(hào)的Button,瀏覽或修改賬號(hào)信息。點(diǎn)擊我的收藏,進(jìn)入收藏景點(diǎn)頁面,進(jìn)行查看詳細(xì)信息、刪除信息操作。功能正常實(shí)現(xiàn)。</p>
109、<p><b> 7 總結(jié)</b></p><p> 到目前為止,這個(gè)基于Android的智能導(dǎo)游系統(tǒng)算是順利完成了,它基本可以提供智能導(dǎo)游的任務(wù):景點(diǎn)智能導(dǎo)游、周邊查詢、用戶管理等等。但是,由于本人技術(shù)的限制,很顯然地,它還略顯稚嫩,健壯性較為不足。在這個(gè)工程的構(gòu)思方面比較欠缺,UI也難稱簡(jiǎn)潔靈活大方,這些問題還需要以后的一步步完善。與此同時(shí),這個(gè)軟件還可以進(jìn)一步擴(kuò)展,例如
110、:可以模仿微博,添加用戶分享模塊;還可以在服務(wù)端添加后臺(tái)管理系統(tǒng),用于實(shí)現(xiàn)對(duì)景點(diǎn)注冊(cè)與審核、用戶信息管理與審核等功能,這既可以優(yōu)化用戶體驗(yàn)又可以進(jìn)一步規(guī)范化旅游業(yè)的管理。</p><p> 本次畢業(yè)設(shè)計(jì)一共經(jīng)歷了數(shù)個(gè)月的時(shí)間,目睹著這個(gè)軟件的一步步成長(zhǎng),我的心情真的難以言表。毫無疑問,畢業(yè)設(shè)計(jì)是本科學(xué)習(xí)階段一次非常難得的理論與實(shí)際相結(jié)合的機(jī)會(huì)。通過這次畢設(shè),我進(jìn)一步熟悉了諸如線程池、緩存技術(shù)、反射、正則表達(dá)式等
111、各種Adroid應(yīng)用與Web應(yīng)用的開發(fā)技巧,和數(shù)據(jù)庫的操作。然而我覺得更為重要的是,透過這個(gè)過程,我提高了自己解決工程難題的能力,同時(shí)也提高我查閱文獻(xiàn)資料、設(shè)計(jì)手冊(cè)、設(shè)計(jì)規(guī)范以及電腦制圖等其他專業(yè)能力水平,而且通過對(duì)整體的掌控,對(duì)局部的取舍,以及對(duì)細(xì)節(jié)的斟酌處理,都使我的能力得到了鍛煉。</p><p><b> 參考文獻(xiàn)</b></p><p> [1] 全國假
112、日辦 2013年中國春節(jié)黃金周旅游統(tǒng)計(jì)報(bào)告. [EB/OL]. http://www.cnta.gov.cn/html/20 13-2/ 2013-2-16-16-28-22564.html,2013-2-16</p><p> [2] 百度百科. Android開發(fā). [EB/OL]. http://baike.baidu.com/view/4030968.html, 2010-12-12</p>
113、<p> [3] SAX項(xiàng)目官方網(wǎng) [EB/OL] .http://sax.sourceforge.net/.</p><p> [4] 汪永松. Android平臺(tái)開發(fā)之旅. [M].北京:機(jī)械工業(yè)出版社,2010.4:105-108</p><p> [5] 文龍強(qiáng) 博客 [EB/OL] http://www.cnblogs.com/wen999010565/arc
114、hive/2008/03/05/1091430.html 2008-3-5</p><p> [6] 范立峰 林果園. Java Web程序設(shè)計(jì)教程 [M].北京:人民郵電出版社,2011.7:80-87</p><p> [7] 百度百科. 百度地圖API. [EB/OL]. http://baike.baidu.com/view/3521171.html, 2012-11-22&l
115、t;/p><p> [8] 李剛. 瘋狂Android講義 [M].北京:電子工業(yè)出版社,2011.7:501-505</p><p><b> 致 謝</b></p><p> 本研究及學(xué)位論文是在我的指導(dǎo)老師XXX的悉心指導(dǎo)下完成。在整個(gè)設(shè)計(jì)和論文撰寫過程中,由于實(shí)習(xí),我難以兼顧畢業(yè)設(shè)計(jì),但老師不僅提供了我大量相關(guān)資料,還給予我許多嚴(yán)謹(jǐn)
116、而又親切的實(shí)際指導(dǎo),讓我可以及時(shí)地完成了畢業(yè)設(shè)計(jì)的任務(wù)。與此同時(shí),XXX老師在畢業(yè)設(shè)計(jì)前期無私地為我提供舒適工作環(huán)境。在此,我對(duì)XXX老師的指導(dǎo)以及XXX老師的幫助表示衷心的感謝!</p><p> 感謝的的家人,他們雖然并不能在技術(shù)上給予我指導(dǎo),但是卻在此過程中不斷地支持我、鼓勵(lì)我,每當(dāng)我累時(shí),他們就是我最堅(jiān)實(shí)的后盾。</p><p> 除此之外,在畢業(yè)設(shè)計(jì)的過程中我也得到了諸位同學(xué)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)論文范文——基于android的智能導(dǎo)游系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 畢業(yè)論文范文——基于android的智能導(dǎo)游系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 基于Android的自助導(dǎo)游系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于LBS的智能導(dǎo)游系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于android的智能導(dǎo)覽系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
- 基于Android的智能相冊(cè)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于Android系統(tǒng)智能插座的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于Android的智能巡檢系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于Android的智能停車誘導(dǎo)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于Android的智能家居系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于Android的電子導(dǎo)游系統(tǒng)的研究與實(shí)現(xiàn).pdf
- 基于Android的汽車智能管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于Android的智能車載終端系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于Android的移動(dòng)智能關(guān)愛系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于Android的智能音響系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于Android智能家居系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于Android的自助導(dǎo)游系統(tǒng)研究與實(shí)現(xiàn).pdf
- 基于Android平臺(tái)的智能旅游系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于Android的智能電視交互系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于Android系統(tǒng)的智能無線控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
評(píng)論
0/150
提交評(píng)論