周克輝
摘 要:隨著無線通信技術(shù)和互聯(lián)網(wǎng)的發(fā)展,移動智能終端發(fā)展迅速,特別是基于Android操作系統(tǒng)的移動平臺更是深入到了經(jīng)濟社會生活的各個領(lǐng)域,在這種背景下,本系統(tǒng)結(jié)合當前導航軟件現(xiàn)狀,利用互聯(lián)網(wǎng)技術(shù)和手機導航相關(guān)理論以及導航方法實現(xiàn)了一款手機導航系統(tǒng),該系統(tǒng)采用Android框架進行程序設(shè)計,能提供關(guān)鍵字搜索、用戶位置定位、周邊搜索、指定位置的經(jīng)緯度查詢、出行路線規(guī)劃、景點搜索等功能。為此,深入研究和分析了Android平臺下導航系統(tǒng)的相關(guān)實現(xiàn)技術(shù),并在該平臺下完成了導航系統(tǒng)的開發(fā)工作。按照軟件工程理論,對導航系統(tǒng)在需求的分析與設(shè)計,系統(tǒng)設(shè)計與測試等各個方面進行了詳細闡述。
關(guān)鍵詞:Android;手機導航;GPS定位
中圖分類號:TB
文獻標識碼:A
doi:10.19311/j.cnki.1672-3198.2016.33.191
1 引言
隨著信息化時代的到來,無線通信技術(shù)和互聯(lián)網(wǎng)技術(shù)飛速發(fā)展,在這種背景下,本文提出了在已經(jīng)普及的移動終端上開發(fā)相應(yīng)軟件,利用移動終端的普及性和Android操作系統(tǒng)的一系列優(yōu)點,推廣和普及該系統(tǒng),對于緩解我國手機導航現(xiàn)狀和為手機導航的發(fā)展進步具有十分重要的理論和現(xiàn)實意義。該系統(tǒng)可以為人們大眾提供低成本、高效率、多功能、實時導航、即時性、交互式的手機導航服務(wù)。
2 需求分析與設(shè)計
2.1 系統(tǒng)需求分析
地圖導航系統(tǒng)的功能是非常強大的,它能夠向用戶提供很好的服務(wù),通過地圖以及文字的形式將信息呈現(xiàn)出來。并且它的界面也是非常簡潔、友好的,便于操作。其功能需求包括:
(1)地圖操作:能夠根據(jù)需要將,地圖進行縮放,還可以進行查詢。
(2)定位操作:用戶根據(jù)自己的需要將,定位系統(tǒng)進行設(shè)置之后,導航就能利用GPS和網(wǎng)絡(luò)的配合來獲取具體的位置,并將其呈現(xiàn)出來。
(3)POI定位查詢:在根據(jù)用戶需求對指定位置進行定位的同時,還能對周邊位置一同搜尋,并將之呈現(xiàn)。
(4)衛(wèi)星地圖顯示:還能將衛(wèi)星地圖呈現(xiàn)出來,根據(jù)實際需要和普通地圖模式進行切換。
(5)交通地圖顯示:還能將交通地圖呈現(xiàn)出來,根據(jù)實際需要和交通地圖模式進行切換。
(6)公交查詢:可以根據(jù)需要對全國的各條公交線路進行查詢,并將之呈現(xiàn)。
(7)景點查詢對全國的景點進行定位展示。
2.2 系統(tǒng)設(shè)計
2.2.1 系統(tǒng)架構(gòu)設(shè)計
手機導航系統(tǒng)所采用的主要是三層式結(jié)構(gòu)進行系統(tǒng)的建設(shè),現(xiàn)在大多數(shù)的應(yīng)用類系統(tǒng)于是轉(zhuǎn)向三層分布式架構(gòu)進行發(fā)展,三層結(jié)構(gòu)是系統(tǒng)平臺的主要方式,這些結(jié)構(gòu)是相互獨立的;將整個系統(tǒng)劃分成應(yīng)用層、應(yīng)用框架和數(shù)據(jù)接口。具體系統(tǒng)架構(gòu)結(jié)構(gòu)圖如下圖1所示。
系統(tǒng)應(yīng)用包括:城市搜索、路線規(guī)劃、經(jīng)緯度查詢、地圖定位、公交查詢等等功能。
應(yīng)用框架包括:Activity管理器、Adapter管理器、Animatation動畫管理器等。
類庫包括:Liberary庫和Andriod運行時。
系統(tǒng)采用Android/Html5混合編程實現(xiàn),原生代碼比例占到90%,Html5在查詢統(tǒng)計模塊中會用到,采用Html5的統(tǒng)一模板來實現(xiàn)。實時監(jiān)測詳情里有用到,Html5調(diào)用后臺數(shù)據(jù),原生代碼調(diào)用其XML。
2.2.2 系統(tǒng)功能模塊設(shè)計
系統(tǒng)的主要功能包括城市搜索、經(jīng)緯度查詢、地圖定位、公交查詢、路線規(guī)劃、景點查詢、附近搜索,共六個子系統(tǒng)。各部分之間既獨立,又互相關(guān)聯(lián)。系統(tǒng)功能結(jié)構(gòu)如圖2所示。
(1)城市搜索。
可以根據(jù)城市名稱對城市進行搜索,也可以對城市內(nèi)的各個場所進行定位,并在相應(yīng)的電子設(shè)備上,對其進行呈現(xiàn)和標注。
(2)經(jīng)緯度查詢。
可以根據(jù)城市名稱對城市進行搜索,也可以對城市內(nèi)的各個場所進行定位,并在相應(yīng)的電子設(shè)備上,對其進行呈現(xiàn)和標注。
(3)地圖定位。
當用戶在系統(tǒng)的GPS里進行相關(guān)的設(shè)置之后,系統(tǒng)就能和網(wǎng)絡(luò)進行配合,對用戶的具體位置進行確定,然后按照相關(guān)的算法,將用戶的地理位置進行精確的呈現(xiàn),并對相應(yīng)的位置進行標注。
(4)公交查詢。
當用戶對城市名稱以及公交線路進行輸入以后,系統(tǒng)可以對其進行搜索,并將其具體信息在地圖上呈現(xiàn)出來。
(5)路線規(guī)劃。
系統(tǒng)還能提供,路線規(guī)劃功能,共有三種方式,可以根據(jù)需要進行選擇分別是,駕車,步行以及公交..用戶只需要輸入起始地和目的地,就能得到最佳路線,并且可以在相關(guān)設(shè)備顯上看到,操作簡單,結(jié)果準確。
(6)景點查詢。
系統(tǒng)的景點查詢功能也是非常強大的,只要對景點的信息進行輸入,系統(tǒng)就能進對其進行查詢,并將查詢結(jié)果詳細地呈現(xiàn)出來,具體包括交通、飲食、購物、文化地理等。
3 系統(tǒng)實現(xiàn)
3.1 定位功能的實現(xiàn)
本系統(tǒng)在進行設(shè)計的時候,利用手機的定位功能進行定位,當位置移動時會對GPS再次請求,然后獲取新的位置。當系統(tǒng)感知到位置改變時,就會給手機端配備一個監(jiān)聽器,位置進行移動時會觸發(fā)監(jiān)聽器。在上述功能的基礎(chǔ)上為了將定位功能落實并且實時進行數(shù)據(jù)傳輸,開發(fā)人員在進行定位功能的開發(fā)時,將目前出現(xiàn)的地理位置信息統(tǒng)一上傳到了user agent,極大程度的減少了鏈接次數(shù),提高了系統(tǒng)的響應(yīng)速度。如果用戶移動的速度較快并且移動距離較遠時,在沒有任何網(wǎng)絡(luò)的情況下系統(tǒng)會將位置信息上傳到數(shù)據(jù)庫中以便下次提醒。通過這種方式極大程度的降低了同服務(wù)器鏈接的次數(shù),緩解了服務(wù)器運行的壓力,并且也為用戶省去了流量費用。
本模塊是在GPS定位技術(shù)的基礎(chǔ)上加以改進,很好的解決了定位過程中出現(xiàn)的各種問題。首先需要利用Android手機中的應(yīng)用程序來獲取精確的GPS信息進行準確定位,通常使用4G網(wǎng)絡(luò)以及wifi來獲取GPS信息較為迅速。然后系統(tǒng)將獲取到的地理信息通過http頭里的user agent發(fā)送給服務(wù)器。如果用戶便宜的距離過大,或者定位時間間隔較長,系統(tǒng)會進行單獨的數(shù)據(jù)傳送確保位置的準確。通過上述種種方法最終形成了一個完整的定位系統(tǒng)。
通常在Android系統(tǒng)中含有三種類型的服務(wù)器組件,在Wifi環(huán)境下快速完成定位,獲取到準確的地址。由于服務(wù)器快速的響應(yīng)減少了移動設(shè)備的使用時間,從而降低了電量的使用,在特殊環(huán)境下有著不可忽視的地位。Android手機公司生產(chǎn)的任意一款移動設(shè)備都能夠利用該方法快速定位。每個基站都是在移動運營商基站的基礎(chǔ)上進行快速準確的定位的。并且移動運營商所建立的基站都有對應(yīng)的編號,定位準確。一般來說,如果利用GPS衛(wèi)星三星定位,往往耗電量較大,但是定位最為準確。
3.2 導航功能模塊實現(xiàn)
導航服務(wù)在整個系統(tǒng)中所占的地位是非常重要的,是核心。其實地點就是用戶的當前位置,可以在系統(tǒng)中輸入目的地完成整個導航。系統(tǒng)會利用定位功能對用戶的,具體坐標進行確定,在輸入目的地以后,會對目的地的具體位置進行確定,然后將系統(tǒng)的相關(guān)分析反饋到導航模塊,然后對整個路線進行規(guī)劃,導航,相關(guān)數(shù)據(jù)會在設(shè)備移動設(shè)備上呈現(xiàn)出來,根據(jù)需要對區(qū)間進行呈現(xiàn)。
整個導航是由兩個部分組成的。第一是確定用戶的地點。利用系統(tǒng)的相關(guān)功能對地點進行分析,得到具體的位置信息。由于百度在這一方面做得還不夠完善,所以我們利用谷歌來完成分析操作。
3.3 系統(tǒng)界面的實現(xiàn)
首頁就是門戶頁面,這個頁面必須簡單明了、易于操作,能夠?qū)⒄麄€導航系統(tǒng)非常簡單的呈現(xiàn)出來。這樣可以使用戶對整個導航系統(tǒng)的操作更加便捷。相關(guān)的操作員可以對該手機的APP進行點擊,進入導航系統(tǒng)的主界面,就可以對其進行操作了。
輸入相關(guān)的關(guān)鍵字,可以對城市以及地址進行查找,然后將相關(guān)的地理資料以及位置進行呈現(xiàn),這是利用EditView來完成的。地圖可以對內(nèi)置的縮放控件進行選擇,主要是利用mMapView.setBuiltInZoomctls(true)來完成的。
參考文獻
[1]劉釗,程錦.基于Android的手機導航系統(tǒng)[J].計算機信息,2014,(12):15-17.
[2]P C.Jorgensen.object oriented Analysis and Design Using UML[J].Automated Software Engineering,2011,(5):24-41.
[3]N. Gulzar,K.Ganeshan. Software Testing:A Craftsman's Aproach(Second Ed)[J].Designs, Codes and Cryptography,2013,(9):41.
[4]李盛聰. Android技術(shù)100例[M].北京:人民出版社,2013,(1):28-40.
[5]單錦輝,姜瑛,孫萍.軟件測試研究進展[J].北京大學學報(自然科學版),2015,(1):133-134.