




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、石家莊鐵道大學畢業(yè)設計基于android的導航系統(tǒng)的設計與實現(xiàn)Design and implementation of the navigation system based on Android 2013屆 經(jīng)濟管理 學院專 業(yè) 學 號 _ _學生姓名 _ _指導教師 _ _完成日期 2013年6月12日畢業(yè)設計成績單學生姓名學號班級專業(yè)畢業(yè)設計題目基于android的導航系統(tǒng)的設計與實現(xiàn)指導教師姓名指導教師職稱講師、講師評定成績指導教師得分評閱人得分答辯小組組長得分成績:院長(主任) 簽字:年 月 日畢業(yè)設計任務書題目基于android的導航系統(tǒng)的設計與實現(xiàn)學生姓名學號班級專業(yè)承擔指導任務
2、單位經(jīng)濟管理學院導師姓名導師職稱一、主要內(nèi)容本課題旨在基于android技術(shù)和百度API和科大訊飛語音API技術(shù)給用戶提供地圖服務,該應用能夠正確地顯示全國各地大中小城市的地圖信息,并能進行地圖定位,同時包括衛(wèi)星地圖、交通地圖、景點概覽、公交、駕車、步行三種出行選擇的路線規(guī)劃、城市各類場所搜索等功能,用戶能從中得到對其有用的信息,從而在出行時能夠選擇一條適合自己的出行,節(jié)省寶貴的時間和精力。二、基本要求1.開發(fā)平臺:Windows 7、Android OS、Android SDK-17、ADT-21、JDK 1.72.開發(fā)工具:Eclipse、Microsoft office viso 200
3、3、Rationalrose3.論文要求:1萬字,外文翻譯3千字。三、主要技術(shù)指標1.系統(tǒng)功能完善,操作方便,界面美觀,圖形、數(shù)據(jù)處理準確;2.分析設計過程合理,文檔資料及模型規(guī)范、完備;3.系統(tǒng)發(fā)布后可維護性,通用性較好。四、應收集的資料及參考文獻1 Jerome.AndroidAProgrammersGuideM. DiMarzio PRESS,2009:23-27.2 林城.Android 2.3應用開發(fā)實戰(zhàn)J.機械工業(yè)出版社,2011:17-321.3 韓超.Android經(jīng)典應用程序開發(fā)J.人力資源出版社,2011:5-18.4 張海藩.軟件工程導論(第4版)J.北京:清華大學出版社
4、,2006:34-38.五、進度計劃第1周第3周:畢業(yè)實習,查閱資料,熟悉開發(fā)環(huán)境第4周第9周:設計原型系統(tǒng),算法研究第10周第14周:實現(xiàn)推薦算法,開發(fā)原型系統(tǒng),確定論文框架第15周第16周:完善系統(tǒng),撰寫論文,準備答辯教研室主任簽字時間 年 月 日畢業(yè)設計開題報告題目基于android的導航系統(tǒng)的設計與實現(xiàn)學生姓名班級專業(yè)一、研究背景及意義近年來隨著android、ios和Windows Phone的發(fā)展日益完善,智能手機越來越普及,發(fā)展十分迅速,基于地圖的服務應運而生并不斷深入人們的生活。其中Android是當前最流行的手機智能系統(tǒng)。其強大、快速的處理能力吸引了很多手機廠商如HTC、三星
5、、MTORALA、華為、魅族、聯(lián)想、酷派、中興、小米、華碩等廠商的加入。此外其開源的系統(tǒng)框架更是為手機廠商定制具有自己特色的軟件、服務提供了方便,因此贏得了一大批廠商的青睞。目前比較好的地圖服務時“Google 地圖”、“百度地圖”, Google Map是Google公司自己開發(fā)的一個基于地圖的應用服務服務,目前是幾乎最完善的一個地圖平臺。相比之下國內(nèi)做的比較好的是百度地圖和高德導航等,上述兩家相對比較完善??偟膩碚f,地圖服務功能是在手機用戶接入網(wǎng)絡后,能實現(xiàn)顯示電子地圖、實現(xiàn)自我定位、城市搜索、路線規(guī)劃等綜合功能。近幾年隨著3G網(wǎng)絡的完善,覆蓋范圍和普及率也越來越高,手機接入網(wǎng)絡的速度得到
6、了大幅提升,因而地圖用戶的實際體驗也變得更加友好,可以預見未來幾年能將地圖服務有效地與位置定位技術(shù)相結(jié)合應用前景十分廣闊的。二、國內(nèi)外研究現(xiàn)狀目前國內(nèi)Android地圖開發(fā)主要是以應用開發(fā)為主,總體上主要分為三類:開發(fā)通用應用(放到AndroidMarket等平臺銷售)、游戲類開發(fā)、以及為企業(yè)級開發(fā)應用。第一、二類開發(fā)者,一般是處于創(chuàng)業(yè)型的公司或獨立開發(fā)者,它們的盈利方式主要有兩種渠道:1為國外公司進行外包開發(fā),或者通過Google的移動廣告點擊分成;2通過付費下載的形式來獲取盈利。第三類開發(fā)者一般是規(guī)模較大的公司,這些公司主要為自己的品牌或者其它品牌設計手機和平板電腦的處理方案。除根據(jù)需求對
7、系統(tǒng)進行定制外,更多的工作在于為這些系統(tǒng)編寫定制的應用等服務。 國外android地圖開發(fā)者主要集中于地圖服務的定義和底層服務的構(gòu)建及相關(guān)數(shù)據(jù)庫的集成,也就是說他們主要從事pc和移動終端的地圖的研發(fā),而具體地圖應用服務則多采取外包形式。三、研究方案1研究目標本系統(tǒng)的主要功能包括城市搜索、出行路線規(guī)劃、手機實時定位,指定地點查詢及其經(jīng)緯度查找、景點概覽、導航等。2研究內(nèi)容I、地圖管理.在線地圖的展示.任意界面的地圖縮放.時時定位個人所在位置.顯示當前位置地圖經(jīng)緯度II、個性化查詢.提供石家莊當?shù)氐牟惋?、娛樂場所、銀行、酒店賓館、 交通設施、大型超市、商場百貨、公共服務設施、汽車服務站政府機構(gòu)等場
8、所的快捷查詢。.在地圖界面通過氣泡模式展示出來III、出行導航選擇路徑.已知經(jīng)緯度查詢.輸入地址的反編譯.提供公交、駕車、步行三種方式的出行路線規(guī)劃.提供路線中各個站點的信息查詢IV、景點概覽.查詢?nèi)珖鞯氐木包c信息.對附近出名的景點進行推薦.展示景點當?shù)氐奶厣〕浴⒆∷?、娛樂設施等信息該系統(tǒng)應用開發(fā)過程涵蓋系統(tǒng)需求分析,包括系統(tǒng)功能需求分析、性能需求分析和功能模塊劃分;系統(tǒng)設計,包括前臺UI設計和功能模塊的具體設計。3研究方法 運用Java編程技術(shù),xml腳本技術(shù)等技術(shù)開發(fā)系統(tǒng)。 數(shù)據(jù)庫存在地圖提供商服務器端,無需數(shù)據(jù)進行維護,因此能保證系統(tǒng)數(shù)據(jù)的三大特性不被破壞。 系統(tǒng)采用多層開發(fā)模式,能
9、有效保證后期可維護性。 統(tǒng)開發(fā)模式選擇C/S設計模式,通過在移動終端安裝該應用只要接入網(wǎng)絡便可以不受地域,時間的限制,隨時隨地享受服務。 通過引用百度地圖API、科大訊飛語音API,使用百度和科大訊飛提供的數(shù)據(jù)接口,可以輕松訪問百度服務和數(shù)據(jù),并構(gòu)建功能豐富、交互性強的地圖應用程序,進行多種語音應用開發(fā)能支持語音合成、語音聽寫、語音識別等完善功能。4. 功能結(jié)構(gòu)5關(guān)鍵技術(shù)Java編程技術(shù)Java是一種可以撰寫跨平臺應用軟件的面向?qū)ο蟮某绦蛟O計語言。它能運行于不同的系統(tǒng)平臺;它能為程序提供安全管理器,防止程序的非法訪問;Java類具有封裝性、 繼承性等特性,使程序代碼只需一次編譯,便能反復利用。
10、XML技術(shù)可擴展標記語言 (Extensible Markup Language, XML) ,是一種用于標記電子文件使其具有結(jié)構(gòu)性的標記語言,可用來標記數(shù)據(jù)、定義數(shù)據(jù)類型,它能允許用戶對自己的標記語言進行定義。 XML是標準通用標記語言 (SGML) 的子集,提供統(tǒng)一的方法來描述和交換獨立于應用程序或供應商的結(jié)構(gòu)化數(shù)據(jù)。百度API、科大訊飛API百度地圖API是一套為開發(fā)者免費提供的基于百度地圖的應用程序接口,它提供基本地圖、位置搜索、定位、周邊搜索、路線規(guī)劃等功能??拼笥嶏wAPI是一套為開發(fā)者免費提供的基于科大訊飛語音的,能提供關(guān)于語音合成、語音聽寫、語音識別和聲紋識別完善的API。四、進
11、度計劃第1周第3周:畢業(yè)實習,查閱資料,熟悉開發(fā)環(huán)境第4周第9周:設計原型系統(tǒng),算法研究第10周第14周:實現(xiàn)推薦算法,開發(fā)原型系統(tǒng),確定論文框架第15周第16周:完善系統(tǒng),撰寫論文,準備答辯五、參考文獻:1 Jerome.AndroidAProgrammersGuideM. DiMarzio PRESS,2009:23-27.2 林城.Android 2.3應用開發(fā)實戰(zhàn)J.機械工業(yè)出版社,2011:17-321.3 韓超.Android經(jīng)典應用程序開發(fā)J.人力資源出版社,2011:5-18.4 (美)CayS.Horstmann,GaryCornell.Java核心技術(shù)J.機械工業(yè)出版社,2
12、008:15-17.5 劉衛(wèi)國,姚昱禹.Android與J2ME平臺間即時通信的研究與實現(xiàn)J.中南大學信息科學與工程學院.2008年12期:118-120.6 劉平.Android手機訪問服務器的一種數(shù)據(jù)交互方法J.西安財經(jīng)學院網(wǎng)絡與現(xiàn)在教育技術(shù)中心,2010-09:96-102.7 劉玉平.Java輸入輸出流及在網(wǎng)站開發(fā)中的應用探討J.郴州市科技局,2009,(18):35-49.8 趙亮,張維.基于Android技術(shù)的界面設計與研究D.徐州:徐州建筑職業(yè)技術(shù)學院,2001.9 陳璟,陳平華,李文亮.Android內(nèi)核分析J.廣東工業(yè)大學計算機學院實踐與經(jīng)驗,2009:112-115.10
13、劉衛(wèi)國,姚昱禹.Android的架構(gòu)與應用開發(fā)研究J.中南大學:信息科學與工程學院計算機系統(tǒng)應用2008-11:110-112.11 張海藩.軟件工程導論(第4版)J.北京:清華大學出版社,2006:34-38.12 鄺孔無,王曉敏.信息系統(tǒng)分析與設計(第三版)M.清華大學出版社,2006:23-26.13 亢勇,陳自力,李鵬,路平.面向?qū)ο蟮能浖y試J.測試技術(shù)學報,1999,(02)15-23.14 何玉潔.數(shù)據(jù)庫原理與應用教程M.機械工業(yè)出版社,2005.1215 JOHNLEWIS.JAVASOFTWARESOLUTIONSM.PUBLISHINGHOUSEOFELECTRONICSI
14、NDUSTRY,2007:134-140.16 KENARNOLD,JAMESGOSLING,DAVIDHOLMES.JAVAPROGRAMMINGLANGUAGE M. POSTS&TELECOMPRESS,2006:231-235.指導教師簽字時間年 月 日摘要近年來隨著Android等操作系統(tǒng)和智能手機的發(fā)展和普及,越來越多基于百度地圖和谷歌地圖的服務應運而生。人們已經(jīng)開始習慣出行時使用手機地圖作為方向?qū)б?手機地圖已經(jīng)成為人們生活中不可或缺的一個部分,針對不同人群,制作個性化而且方便使用的手機地圖是當前十分熱門的話題。使用Eclipse、和Android SDK開發(fā)工具包加上Java語
15、言的支持,再通過引入百度地圖API或者谷歌地圖API,同時加入科大訊飛的語音支持,能夠很方便地獲取百度或者谷歌公司提供的基本地圖,它能提供關(guān)鍵字搜索、用戶位置定位、周邊搜索、指定位置的經(jīng)緯度查詢、出行路線規(guī)劃、景點搜索等功能。還能使用戶直接通過語音方式輸入文字,節(jié)省了打字的時間和精力。用戶在安裝該系統(tǒng)后,它能在今后的日常生活中為用戶帶來極大的便利。關(guān)鍵詞:安卓開發(fā)工具 智能手機 百度API 定位 語音支持AbstractIn recent years, with the development and popularization like the Android operating syst
16、em and smart phones, more and more map apps which based on Baidu Maps and Google Maps service have come into being. People have got used to using a mobile phone to be a guider when traveling,mobile maps have become an indespensable part of life, thus for different groups, createinga personalized and
17、 easy to use mobile phone map app is a very popular topic at present .By using eclipse and Android SDK developing tools and with the support of Java ,then introducing Baidu Maps API or Google Maps API, together with IFLYTEK voice support, it is very easy to get access to Baidu or Google maps,it can
18、provides keyword search, locate the users location, search the thing surrounded,query specified latitude and longitude location ,plan travel route , search attractions,and other functions. It also enables users to enter text by voice directly, which saves time and effort. After users installing the
19、system, it will surly bring great conveniencein dailylife in the future.Key Words : Android SDK Smart Phones Baidu API Locate Voice Support目錄第1章緒論11.1課題研究的意義11.2 研究目標11.3系統(tǒng)開發(fā)環(huán)境2第2章系統(tǒng)分析32.1 系統(tǒng)設計特點32.2可行性分析32.3需求分析42.3.1地圖導航系統(tǒng)模塊需求42.3.2地圖導航系統(tǒng)功能42.4用例圖及用例模型52.4.1城市搜索用例圖52.4.2經(jīng)緯縱橫用例圖62.4.3公交路線用例圖72.4.4景
20、點概覽用例圖82.4.5路線規(guī)劃用例圖82.4.6 地圖定位用例圖92.4.7 周邊查詢用例圖102.4.8地圖導航系統(tǒng)用例圖112.5地圖導航系統(tǒng)順序圖12第3章系統(tǒng)設計與實現(xiàn)133.1功能結(jié)構(gòu)設計133.2申請API143.2.1申請百度地圖API143.2.2申請科大訊飛語音API143.3 如何把API添加到我的Android工程中163.4系統(tǒng)流程163.5界面布局方式173.6 地圖圖層183.7 主要類的設計和接口193.8 用戶界面設計203.8.1地圖導航系統(tǒng)主界面203.8.2地圖導航系統(tǒng)分界面213.9界面的實現(xiàn)原理25第4章系統(tǒng)的重點和難點264.1 重點與難點264.
21、2重點與難點的解決方案26第5章結(jié)論295.1總結(jié)與結(jié)論295.2不足與展望29參考文獻30致謝31附錄32英文原文32漢語譯文39石家莊鐵道大學畢業(yè)設計第1章 緒論隨著信息技術(shù)、移動通訊技術(shù)以及GPS的發(fā)展,電子地圖逐步代替了傳統(tǒng)地圖,它能包含大量的地理信息數(shù)據(jù)以及能完成傳統(tǒng)地圖所無法完成的功能,因而深受廣大用戶的青睞?,F(xiàn)在用戶可以通過自己的手機查詢自己當前所在位置、搜索商家地點、查看周邊環(huán)境等信息,這大大地方便了人們的出行豐富了人們的業(yè)余生活。1.1課題研究的意義隨著智能手機的深入普及和發(fā)展,基于地圖的應用服務不斷地完善,滲入到了社會生活的各個領(lǐng)域。近年來android、ios和Windo
22、ws Phone的發(fā)展日益完善,智能手機越來越普及,發(fā)展十分迅速,基于地圖的服務應運而生并不斷深入人們的生活。其中Android系統(tǒng)是當前最流行的手機智能系統(tǒng)之一。其強大、快速的處理能力吸引了很多手機廠商如HTC、三星、MTORALA、華為、魅族、聯(lián)想、酷派、中興、小米、華碩等廠商的加入。此外其開源的系統(tǒng)特性更是為手機廠商提供了極大的方便,因此贏得了一大批廠商的青睞 。目前比較好的地圖服務是“Google 地圖”、“百度地圖”, Google Map是Google公司自己開發(fā)的一個基于地圖的應用服務服務,目前是幾乎最完善的一個地圖平臺。相比之下國內(nèi)做的比較好的是百度地圖和高德導航等,上述兩家相
23、對比較完善??偟膩碚f,地圖服務功能是在手機用戶接入網(wǎng)絡后,能實現(xiàn)顯示電子地圖、實現(xiàn)自我定位、城市搜索、路線規(guī)劃等綜合功能。近幾年隨著3G網(wǎng)絡的完善,覆蓋范圍和普及率也越來越高,手機接入網(wǎng)絡的速度得到了大幅提升,因而地圖用戶的實際體驗也變得更加友好,可以預見未來幾年能將地圖服務有效地與位置定位技術(shù)相結(jié)合應用前景十分廣闊的。1.2 研究目標本系統(tǒng)的主要功能包括城市搜索、出行路線規(guī)劃、手機實時定位,指定地點查詢及其經(jīng)緯度查找、景點概覽、導航和個性定制化的查詢服務等。具體內(nèi)容如下:一、地圖管理1.在線地圖的展示2. 任意界面的地圖縮放3.時時定位個人所在位置5.顯示當前位置地圖經(jīng)緯度二、個性化查詢1.
24、 提供石家莊當?shù)氐牟惋?、娛樂場所、銀行、酒店賓館、交通設施、大型超市、商場百貨、公共服務設施、汽車服務站政府機構(gòu)等場所的快捷查詢。2. 在地圖界面通過氣泡模式展示出來三、出行導航選擇路徑1. 已知經(jīng)緯度查詢2. 輸入地址的反編譯3. 提供公交、駕車、步行三種方式的出行路線規(guī)劃4提供路線中各個站點的信息查詢四、景點概覽1. 查詢?nèi)珖鞯氐木包c信息2. 對附近出名的景點進行推薦3展示景點當?shù)氐奶厣〕?、住宿、娛樂設施等信息。1.3系統(tǒng)開發(fā)環(huán)境(1) 軟件需求操作系統(tǒng):Windows 7 Android OS開發(fā)環(huán)境:Android SDK-17、ADT-21、JDK 1.7開發(fā)工具:Eclipse
25、、Microsoft office Viso 2003數(shù)據(jù)庫系統(tǒng):SQLite開發(fā)語言:Java 、 XML語言系統(tǒng)分析工具:Rational Rose(2) 硬件需求處理器:Intel i3 雙核處理器內(nèi)存需求:2GB RAM 硬盤需求:5G可用硬盤空間操作系統(tǒng)環(huán)境:Microsoft Windows 7,Android OS第2章 系統(tǒng)分析2.1 系統(tǒng)設計特點本系統(tǒng)是建立在Android智能手機平臺上,它有以下幾個特點:1 開源性:Android操作系統(tǒng)的底層核心是一種基于Linux的自由及開放源代碼的操作系統(tǒng),主要使用于移動設備,如智能手機和平板電腦,由Google公司和開放手機聯(lián)盟領(lǐng)導
26、及共同開發(fā)的,它是目前非常流行的開源系統(tǒng)。2 可拓展性:能滿足特定手機用戶對地圖服務的要求,與此同時其良好的拓展性為進一步拓展帶來了可能。3 易用性:系統(tǒng)界面UI設計簡單明了,普通手機用戶很快就能直接操作該程序。2.2可行性分析系統(tǒng)的可行性分析在基于android的導航系統(tǒng)的設計與實現(xiàn)的整個建設過程中占有十分重要的地位,系統(tǒng)的可行性分析會決定基于android的導航系統(tǒng)的設計與實現(xiàn)是否可能實現(xiàn)或是否值得去實現(xiàn)。可行性分析的目的就是使移動公司渠道精細化管理平臺能否以最小的代價在盡可能短的時間內(nèi)解決可能遇到的問題??尚行苑治鲋饕夹g(shù)、經(jīng)濟、運行等方面可行性分析:;現(xiàn)有技術(shù)能否實現(xiàn)本系統(tǒng)的設計和
27、開發(fā);在經(jīng)濟上去實現(xiàn)的必要性的評估;是否可以在客戶端正常使用和能否在普通平臺上搭建服務器等問題。(1)技術(shù)可行性它指開發(fā)一個新的系統(tǒng)目前是否具備所需要的技術(shù)。由于本系統(tǒng)采用Java語言環(huán)境和Eclipse開發(fā)環(huán)境 ,Java語言本身所具有的面向?qū)ο蟮奶攸c以及強大的類庫支持,加上谷歌公司提供的Android SDK和ADT功能已經(jīng)相對完善,開發(fā)該系統(tǒng)所需的技術(shù)問題已經(jīng)得到解決?;赼ndroid的導航系統(tǒng)的設計與實現(xiàn)以Eclipse作為開發(fā)平臺,結(jié)合Java語言進行開發(fā),技術(shù)層面成熟可行。(2)經(jīng)濟可行性評判一個系統(tǒng)是否可行的最基本、最有效的一種方法是判斷其是否能有效配置經(jīng)濟資源,及對信息系統(tǒng)解
28、決方案成本有效性的量度?!盎赼ndroid的導航系統(tǒng)的設計與實現(xiàn)”采用C/S架構(gòu),開發(fā)模式相對簡單,能滿足用戶定制需求,開發(fā)周期短,并且它使用的是手機2G、3G或者wifi網(wǎng)絡,對資源要求不會太高 ,經(jīng)濟壓力也不會大可行性較高。(3)系統(tǒng)管理可行性“基于android的導航系統(tǒng)的設計與實現(xiàn)”對硬件的要求不高,以當前的智能手機硬件水平來看,完全能夠支持把該系統(tǒng)部署在手機上。手機使用的客戶端僅要求接入Internet網(wǎng)絡即可提供服務,實現(xiàn)其功能,不受時間,地點限制,數(shù)據(jù)可維護性強??傊盎赼ndroid的導航系統(tǒng)的設計與實現(xiàn)”在技術(shù)、經(jīng)濟、系統(tǒng)管理等方面都是可行的。2.3需求分析需求分析在系
29、統(tǒng)開發(fā)中扮演著十分重要的角色,系統(tǒng)成敗與否和需求分析完成的情況息息相關(guān) 。因此,在需求分析階段一定要嚴謹對待,不能馬虎求成。需求分析主要包括以下幾方面:寫出系統(tǒng)的任務和特點、需要實現(xiàn)的功能模塊及其作用、系統(tǒng)UML圖、明確采用的數(shù)據(jù)庫、明確開發(fā)運行環(huán)境。2.3.1地圖導航系統(tǒng)模塊需求地圖導航系統(tǒng)的主要功能是以地圖和文字的形式向用戶提供地圖服務,同時它可以提供友好、方便的用戶界面。其功能需求包括:(1) 地圖操作:能實現(xiàn)地圖的放大、縮小和移動查詢。(2) 定位操作:用戶打開GPS之后,地圖導航系統(tǒng)能通過GPS模塊和網(wǎng)絡獲取當前用戶所在的經(jīng)緯度。(3) POI定位查詢:地圖導航系統(tǒng)能根據(jù)用戶所在位置
30、查詢出周邊一些地理位置信息,并在地圖上展示出來。(4) 衛(wèi)星地圖顯示:能顯示衛(wèi)星地圖,并能夠進行普通地圖和衛(wèi)星地圖的切換操作。(5) 交通地圖顯示:能顯示交通地圖,并能夠進行普通地圖和交通地圖的切換操作。(6) 公交查詢:能夠查詢?nèi)珖鞔笾行〕鞘械穆?lián)網(wǎng)公交路線并在地圖上顯示路線。(7) 景點查詢:搜索全國各地的景點,在手機屏幕上展示出來。2.3.2地圖導航系統(tǒng)功能(1)城市搜索能根據(jù)地名查詢?nèi)珖鞔笾行〕鞘械母黝悎鏊?,同時在手機屏幕上顯示和標注出來。(2)經(jīng)緯度查詢地圖導航系統(tǒng)能通過在手機上輸入城市名稱和具體地點名稱,就能獲取該地理位置的經(jīng)緯度,并返回經(jīng)緯度值到屏幕上顯示出來。(3)地圖定位地
31、圖導航系統(tǒng)在用戶打開GPS之后能通過GPS模塊和網(wǎng)絡獲取當前用戶所在的經(jīng)緯度,同時還能根據(jù)相關(guān)算法,在地圖上精確地標注用戶當前所在的地理位置的經(jīng)緯度,并顯示用戶當前所在位置。(4)公交查詢通過在該地圖應用中輸入城市名稱和公交路線數(shù)字就能夠查詢?nèi)珖鞔笾行〕鞘械穆?lián)網(wǎng)公交的路線,同時還能在地圖上顯示該路線和各個站點的名字。(5) 路線規(guī)劃該地圖導航系統(tǒng)能提供駕車、公交、步行三種出行方式的路線選擇,用戶只需要在該地圖應用中輸入出發(fā)地點和目的地就能獲取從出發(fā)點到目的地的分別的最佳路線,并在地圖上顯示出來,簡潔明了。(6)景點查詢該地圖導航系統(tǒng)能提供全國各個景點的相關(guān)信息查詢,用戶在應用中輸入相關(guān)關(guān)鍵字
32、就能獲取與之相關(guān)的景點的各類信息,包括游記,旅游攻略,交通、飲食、購物、文化地理等。(7)附近搜索該地圖導航系統(tǒng)能提供附近的一些生活信息查詢,如餐飲點、娛樂場所、銀行、大型超市、商場百貨、交通設施、汽車服務點、政府部門機構(gòu)等定制信息查詢,然后在手機屏幕上羅列出來。2.4用例圖及用例模型2.4.1城市搜索用例圖圖2-1城市搜索用例圖城市搜索用例描述1.參與者:安裝該地圖導航系統(tǒng)的用戶2.前置條件:用戶通過手機安裝該地圖導航系統(tǒng)后,手機具有介入互聯(lián)網(wǎng)的能力3.基本操作流程:1.進去該地圖導航系統(tǒng)主界面2.選擇城市搜索、經(jīng)緯縱橫、公交搜索、景點概覽、路線規(guī)劃、地圖定位、周邊搜索等功能中的一項進行操作
33、3.進入下一級界面之后選擇相應的搜索功能即可在屏幕上得到想要的搜索結(jié)果2.4.2經(jīng)緯縱橫用例圖圖2-2經(jīng)緯縱橫用例圖經(jīng)緯縱橫用例描述基本操作流程:1.用戶進入地圖導航系統(tǒng)2.選擇經(jīng)緯縱橫按鈕3.點擊文本框輸入內(nèi)容或者點擊語音輸入按鈕通過語音輸入文字4.選擇經(jīng)緯度精確查詢得到所查找的地址的經(jīng)緯度5.界面返回顯示查詢結(jié)果2.4.3公交路線用例圖圖2-3公交路線用例圖公交路線用例描述基本操作流程:1.用戶進入地圖導航系統(tǒng)2.選擇公交路線按鈕3.點擊文本框輸入內(nèi)容或者點擊語音輸入按鈕通過語音輸入文字4.點擊開始按鈕5.界面返回顯示路線查詢結(jié)果2.4.4景點概覽用例圖圖2-4景點概覽用例圖景點概覽用例描
34、述基本操作流程:1.用戶進入地圖導航系統(tǒng)2.選擇景點概覽按鈕3.進入景點搜索界面4.選擇經(jīng)典地圖查詢、熱點景點查詢、當?shù)孛朗郴蛘呔视斡洸樵?.界面返回顯示選擇查詢信息的結(jié)果2.4.5路線規(guī)劃用例圖圖2-5路線規(guī)劃用例圖路線規(guī)劃用例描述基本操作流程:1.用戶進入地圖導航系統(tǒng)2.選擇路線規(guī)劃按鈕3.點擊文本框輸入內(nèi)容或者點擊語音輸入按鈕通過語音輸入文字4.選擇駕車路線、公交路線或者步行路線中的一個開始按鈕5.界面返回顯示所選出行方式的路線規(guī)劃結(jié)果2.4.6 地圖定位用例圖圖2-6地圖定位用例圖地圖定位用例描述基本操作流程:1.用戶進入地圖導航系統(tǒng)2.選擇地圖定位按鈕3.界面顯示用戶當前所在位置信
35、息4.點擊satellite按鈕切換到衛(wèi)星和交通視圖,再次點擊該按鈕切換到普通地圖視圖2.4.7 周邊查詢用例圖圖2-7周邊查詢用例圖周邊查詢用例描述基本操作流程:1.用戶進入地圖導航系統(tǒng)2.選擇周邊查詢按鈕3.選擇列表的其中一項4.界面返回顯示所選信息的查詢結(jié)果2.4.8地圖導航系統(tǒng)用例圖圖2-8地圖導航系統(tǒng)用例圖地圖導航系統(tǒng)用例描述1.參與者:安裝該地圖導航系統(tǒng)的用戶2.前置條件:用戶通過手機安裝該地圖導航系統(tǒng)后,手機能兼容該地圖導航系統(tǒng),且手機具有接入互聯(lián)網(wǎng)的能力基本操作流程:1.用戶進入地圖導航系統(tǒng)2.選擇城市搜索、經(jīng)緯縱橫、公交搜索、景點概覽、路線規(guī)劃、地圖定位、周邊搜索七大功能中的
36、一項3.進入相應界面后,輸入關(guān)鍵字,點擊開始按鈕4.系統(tǒng)獲得所搜索關(guān)鍵字的結(jié)果,并返回顯示所查詢信息的執(zhí)行結(jié)果2.5地圖導航系統(tǒng)順序圖圖2-9地圖導航系統(tǒng)順序圖首先用戶點擊系統(tǒng)圖標進入地圖導航系統(tǒng)主界面,用戶選擇其中一個功能進去之后,通過關(guān)鍵字搜索信息。若是通過語音方式錄入信息,則系統(tǒng)向科大訊飛服務器發(fā)送請求,訊飛服務器獲取appid值,并驗證其是否合法,合法則進一步獲取語音錄入的值,識別成功則返回錄入信息,系統(tǒng)獲取之后傳參給EditText。點擊開始按鈕后系統(tǒng)向百度服務器發(fā)送請求,百度服務器獲取百度地圖API key值之后判斷其是否合法,合法則進一步獲取請求值,執(zhí)行一系列算法之后若得到計算結(jié)
37、果則返回值,系統(tǒng)獲取之后再到地圖圖層顯示出來。第3章 系統(tǒng)設計與實現(xiàn)3.1功能結(jié)構(gòu)設計本系統(tǒng)為C/S架構(gòu)模式,系統(tǒng)主要通過在系統(tǒng)客戶端完成一系列操作。手機客戶用戶可以通過它實現(xiàn)如下功能:城市關(guān)鍵字搜索、用戶位置定位、指定位置的經(jīng)緯度查詢、公交路線的查詢、景點關(guān)鍵字搜索、三種出行方式的路線規(guī)劃、用戶所在地理位置定位、周邊信息搜索等功能。圖3-1功能結(jié)構(gòu)圖3.2申請API3.2.1申請百度地圖API用戶在正式使用API之前需要獲取百度地圖移動版API Key,該Key與用戶的百度賬戶相關(guān)聯(lián),用戶必須先有百度帳戶,才能獲得API KEY。并且,該KEY與用戶引用API的程序名稱有關(guān)。用戶可以到百度官
38、方網(wǎng)站去獲取授權(quán)。以下是百度地圖移動版API Key官方申請界面:圖3-2百度地圖API申請界面3.2.2申請科大訊飛語音API用戶在使用語音服務之前,需要獲取科大訊飛公司的語音的授權(quán),用戶可以到“”注冊成為語音云開發(fā)者,并為所開發(fā)的軟件申請APPID。以下是科大訊飛語音APPID官方申請界面:圖3-3訊飛語音API申請界面一圖3-4訊飛語音API申請界面二3.3 如何把API添加到我的Android工程中先將百度MAP API包括的兩個文件baidumapapi.jar和libBMapApiEngine_v1.so拷貝到工程根目錄及l(fā)ibsarmeabi目錄下,并在工程屬性-Java Bui
39、ld Path-Libraries中選擇“Add JARs”,選定baidumapapi.jar,確定后返回,這樣您就可以在您的程序中使用API了。然后引入科大訊飛語音功能,這時需要引入SDK中包含的msc.jar和libmsc.so動態(tài)庫,so動態(tài)庫包含arm、arm-v7a、mips、x86四種架構(gòu),一般只需引入arm架構(gòu)so動態(tài)庫即可,這可以減少應用程序安裝包大小。接著在AndroidManifest.xml中申明權(quán)限代碼如下:3.4系統(tǒng)流程以下為地圖導航系統(tǒng)的運行流程:否是開始顯示地圖圖層用戶位置有無改變?采集更新的位置信息定位用戶位置偵聽用戶點擊事件判斷命令類型顯示各類圖層清除圖層退
40、出結(jié)束圖3-5系統(tǒng)運行流程用戶界面為地圖模式下的地圖圖層,界面最上方標明實時衛(wèi)星數(shù)據(jù),包括用戶當前所在位置的經(jīng)度、緯度、衛(wèi)星視圖等信息。界面正中央的小點則指明了用戶當前所在的位置。界面下方為Menu菜單,實現(xiàn)本程序的主要功能,包括圖層分類,圖層清除和程序退出等功能。圖層分類可顯示用戶當前所在位置周邊的餐飲、娛樂、購物、超市、銀行、交通等信息,使得用戶對其周邊有所了解,方便其出行。點擊Menu菜單的相應按鈕,則會調(diào)出退出系統(tǒng)和關(guān)于系統(tǒng)選項,退出系統(tǒng)的同時將清楚圖層信息。3.5界面布局方式(1)xml配置文件采用LinearLayout線性布局、RelativeLayout相對布局兩種布局方式對軟
41、件界面進行布局。(2)繼承View類主要是使用了MapView、Button 、EditText、TextView、ImageView等界面控件。主要界面設計圖如下:Fromto確定Way to go在此區(qū)域顯示地圖mapview放大縮小圖3-6主要界面設計3.6 地圖圖層地圖可以包含一個或多個圖層,每個圖層在每個級別都是由若干張圖塊組成的,它們覆蓋了地球的整個表面。例如您所看到包括:馬路街道、建筑、公園、學校、湖泊等內(nèi)容就是在一個圖層上,它屬于基本的地圖圖層。衛(wèi)星地圖、街景視圖和交通地圖則分別處在三個獨立的地圖圖層。三種圖層的實現(xiàn)方法分別如下:實景圖: mMapView.setStreetV
42、iew(true);衛(wèi)星圖: mMapView.setSatellite(true);交通圖: mMapView.setTraffic(true);地圖模式切換源碼:ToggleButton satellite =(ToggleButton)findViewById(R.id.SatelliteToggleBtn);satellite.setOnCheckedChangeListener(new OnCheckedChangeListener()public void onCheckedChanged(CompoundButton buttonView,boolean isChecked) i
43、f(isChecked)mMapView.setSatellite(true);mMapView.setTraffic(true);mMapView.setStreetView(true);else mMapView.setSatellite(false);mMapView.setTraffic(false); );3.7 主要類的設計和接口(1)Overlay:覆蓋物的抽象基類,所有的覆蓋物均繼承此類的方法,實現(xiàn)用戶自定義圖層顯示。(2)ItemizedOverlay:Overlay的一個基類,包含了一個OverlayItem列表,相當于一組分條的Overlay,通過繼承此類,將一組搜索的興
44、趣點顯示在地圖上。(3)MyLocationOverlay :能負責顯示用戶當前位置的Overlay。(4)PoiOverlay:本地搜索圖層,提供某一特定地區(qū)的位置搜索服務,比如在北京市搜索“大學”,通過此圖層將搜索的大學結(jié)果顯示在地圖上。(5)RouteOverlay:公交、步行、駕車導航線路圖層,將公交、步行、駕車出行方案的路線及關(guān)鍵點顯示在地圖上。(6) WebView:通過繼承此類可以顯示所搜索景點的各類信息。(7) RecognizerDialog:調(diào)用此接口后啟動錄音進行識別服務,無效參數(shù)會拋出錯誤信息;RecognizerDialogListener:本次識別過程結(jié)束,如果識別
45、成功,對話框自動消失。如果出現(xiàn)錯誤,界面不消失,顯示相應錯誤文字,開發(fā)者不需要對錯誤情況進行處理,用戶根據(jù)界面提示進行下一步操作; RecognizerResult:它有三個參數(shù),命令詞和語法識別時,text表示識別結(jié)果,confidence表示置信度,取值范圍0-100,同時使用semantemet中key為contact的字段和上傳的原詞表進行比對。3.8 用戶界面設計3.8.1地圖導航系統(tǒng)主界面圖3-7地圖導航系統(tǒng)主界面主界面設計主要要是在main.xml文件中,使用了相對布局(RelativeLayout)來進行布局,包括:城市搜索、經(jīng)緯縱橫、公交搜索、景點概覽、路線規(guī)劃、地圖定位、周
46、邊搜索七個功能。頁面可以上下拖動,最下面Menu菜單是用絕對布局固定住的。3.8.2地圖導航系統(tǒng)分界面城市搜索界面 經(jīng)緯縱橫界面圖3-18城市搜索界面 圖3-9經(jīng)緯縱橫界面在EditView中輸入城市和查詢地址的關(guān)鍵字,界面返回值并顯示所搜索地址的結(jié)果和所在位置經(jīng)緯度。地圖通過mMapView.setBuiltInZoomControls(true);可以啟用內(nèi)置的縮放控件。公交路線界面 景點介紹界面圖3-10公交路線界面 圖3-11景點介紹界面在左圖EditView中輸入城市名和查詢公交路線,界面即可返回值并顯示所搜索公交的路線結(jié)果。在右圖TextView中輸入所搜索目的地景點名稱關(guān)鍵字,界
47、面即可返回相關(guān)的景點信息,包括景區(qū)地圖、景點旅游攻略、景點賓館住宿、精彩游記等信息。路線規(guī)劃界面 地圖定位界面圖3-12路線規(guī)劃界面 圖3-13地圖定位界面在左圖EditView中輸入城市名和目的地關(guān)鍵字,再選擇出行方式,界面即可返相應出行方式的路線結(jié)果。在右圖中能顯示用戶的所在位置,單擊satellite按鈕后,界面會顯示衛(wèi)星視圖,再次單擊又會回到普通地圖視圖模式。周邊搜索界面 衛(wèi)星地圖界面圖3-14周邊搜索界面 圖3-15衛(wèi)星地圖界面在左圖中有多個項目關(guān)鍵字可供選擇,選擇其中一個后,系統(tǒng)會跳轉(zhuǎn)到地圖界面并顯示搜索結(jié)果供用戶選擇。3.9界面的實現(xiàn)原理圖3-16界面實現(xiàn)原理界面上有一個放大縮小
48、的控件,用戶操作時通過調(diào)用zoomControls.setIsZoomInEnabled(true);zoomControls.setIsZoomOutEnabled(true);或者mMapView.setBuiltInZoomControls(true);兩種方式來實現(xiàn)放大縮小操作,每次放大或縮小后,系統(tǒng)都會獲取新的地圖數(shù)據(jù)并刷新界面。MapActivity調(diào)用mMapView,而mMapView繼承自MapView,所以可以覆蓋其onDraw方法實現(xiàn)在手機屏幕上貼圖。程序獲取圖片,粘貼圖片的大體流程為:通過監(jiān)聽按鍵,然后根據(jù)的改變從數(shù)據(jù)庫中獲取貼圖,最后采用貼圖算法進行粘貼,更新視圖。系
49、統(tǒng)完成到最后,為了讓風格統(tǒng)一化,以使界面能夠讓人舒心,因此系統(tǒng)界面做了一些精簡,按鈕和文字的顯示我也適當?shù)刈隽诵┬≌{(diào)整,以保持UI友好。同時POI顯示也被略加修改,以適應客戶對界面效果的需求。第4章 系統(tǒng)的重點和難點4.1 重點與難點本系統(tǒng)的重點與難點主要在于搭建好Android開發(fā)環(huán)境平臺,申請百度地圖API和科大訊飛API的使用權(quán)限,并得到上述公司地圖和語音服務的使用授權(quán),獲取百度APIKey和訊飛語音APPID。該系統(tǒng)涉及用戶的位置定位、衛(wèi)星交通地圖和普通地圖視圖之間的切換、路線規(guī)劃、城市周邊關(guān)鍵字搜索及景點信息搜索等內(nèi)容,如何獲取用戶當前的地理位置信息及怎樣去進行路線規(guī)劃并獲取結(jié)果返回
50、顯示,都是該系統(tǒng)需要攻克的重點與難點問題。該系統(tǒng)支持語音錄入文字信息的功能,這就涉及如何正確識別語音并返回結(jié)果這個過程的邏輯處理問題,這也是需要解決的難題之一。此外由于Android平臺的碎片化問題日趨嚴重,同一時間多種版本的存在給用戶以及開發(fā)者帶來了不小的麻煩,不同手機的分辨率不盡相同,這也是碎片化問題存在的根本原因所在,該問題的存在可能導致應用程序無法在相關(guān)安卓設備上運行。于是如何開發(fā)一款能在多種設備上運行的應用程序就成了開發(fā)過程中的難點問題了。目前該系統(tǒng)能在主流的分辨率下(480800)完美運行。4.2重點與難點的解決方案剛開始接觸Android開發(fā)平臺時,Android對我來說還是一個比較陌生的概念。一切都像是從頭開始,從剛開始摸索搭建Android開發(fā)環(huán)境平臺到熟悉Android系統(tǒng)架構(gòu),到API的引入,再到完成這個系統(tǒng)的開發(fā),最后簽名打包發(fā)布,這個過程設計多個領(lǐng)域的知識相結(jié)合:Android、Java、百度API,科大訊飛API等,我通過上網(wǎng)上去查資料,逛論壇,研究DEMO,向別人請教等各種方式,在不斷實踐中吸取經(jīng)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 農(nóng)業(yè)種植新技術(shù)研發(fā)推廣合同書
- 電子商務平臺用戶體驗優(yōu)化及界面設計改進
- 房屋修繕工程施工合同
- 塑料模具的拆裝與設計 課件
- 開展班級興趣小組的步驟計劃
- 七年級生物下冊 第四單元 生物圈中的人 第12章 人體的自我調(diào)節(jié)12.1 神經(jīng)系統(tǒng)與神經(jīng)調(diào)節(jié)教學設計 (新版)北師大版
- 2025-2026學年Unit 2 The tiger lives in Asia.表格教學設計及反思
- 單休公司勞動合同
- 建立幼兒園評估反饋機制計劃
- 劇院場地租賃合同協(xié)議書
- MOOC 中國傳統(tǒng)藝術(shù)-篆刻、書法、水墨畫體驗與欣賞-哈爾濱工業(yè)大學 中國大學慕課答案
- 初中英語跨學科主題學習的探索與實踐
- 猜猜我有多愛你-繪本故事
- 譯林英語六年級下冊期中試卷(含答案)
- 金融領(lǐng)域AI大模型和AGENT實踐
- 鋼板加固梁施工方案
- GDAL源碼剖析與開發(fā)指南
- 《化工腐蝕與防護》課程標準(煤化工技術(shù))
- 土方平衡工程施工方案樣本
- 消防安全知識掌上手冊APP開發(fā)指南
- 培養(yǎng)孩子的人際交往能力
評論
0/150
提交評論