999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Android的手機導航系統設計與實驗

2014-05-02 16:16:28任克強李曉亮
實驗技術與管理 2014年5期
關鍵詞:功能系統

任克強,李曉亮,謝 斌

(江西理工大學 信息工程學院,江西 贛州 341000)

隨著國民經濟的快速發展,汽車的普及越來越高,人們對地圖導航提出了更高的要求。車載導航系統是智能交通系統最重要的組成部分之一,人們可以通過導航、定位等功能提高車輛行駛的速度和安全性[1]。但是,傳統車載導航不僅價格昂貴,而且便攜性也很差,且只能滿足一些有車人的導航需求,對于乘坐公交和其他外出人員則無法為其提供導航服務。因此,設計一種更加方便和廉價,且易于大眾普及的手機導航系統有著現實的市場需求。

近年來,移動手機用戶的數量增加迅速,各種智能手機逐漸普及,手機的功能已經不再局限于通信;同時,無線網絡和Android系統的廣泛應用,為手機應用程序的開發提供了優良的平臺和廣闊的發展空間[2]。本文基于開源的Android系統設計了一種運行在手機上的地圖導航系統,該系統可以利用GPS和無線網絡進行快速、準確的定位,不僅具有傳統車載導航系統的功能,而且能夠實時顯示城市交通路況,實時定位跟蹤多個客戶端,方便各客戶端之間的聯系,擴展了地圖導航的功能,可滿足普通大眾的出行導航需求。

1 開發平臺介紹

1.1 Android系統

Android是Google開發的基于Linux平臺的開源手機操作系統[3]。Android于2007年11月推出后獲得了廣泛的應用,目前,大多數智能手機采用Android系統[4]。Android由操作系統、中間件、用戶界面和應用軟件組成[5],是真正意義上的開放性移動設備綜合平臺,具有豐富的移動電話工作軟件。在Android系統中,應用程序可完全在Android Dalvik上運行,也可利用 Android NDK(android native development kit)技術來解決Java代碼運行速度低的缺陷[6]。Android系統架構采用分層的架構,從高層到低層分別是應用程序層、應用程序框架層、系統運行庫層和Linux內核層[7-8]。在應用程序框架層,開發人員可以像核心應用程序一樣擁有訪問框架API的所有權限。應用的結構化設計簡化了各組件之間的重用,任何應用均可以分發屬于自己的組件,而且在遵循框架的安全性約束前提下,任何應用還可以使用這些分發的組件[9]。開發應用程序常用的應用框架主要包括以下幾類[10]:

(1)ContentProviders(內容提供器):通過 Content Providers可以在某個應用之中訪問其他應用的數據(例如電話簿),也可以共享自己的數據。

(2)ResourceManager(資源管理器):提供使用者對靜態資源的訪問能力,比如國際化文本和布局文件。

(3)NotificationManager(通知管理器):通過通知管理器,所有的應用都能在狀態欄顯示自己的提醒消息。

(4)ActivityManager(活動管理器):用來管理應用的生命周期,還提供了通用的向后導航功能。

1.2 高德地圖

高德是國內領先的電子地圖服務公司,包括谷歌在內的很多公司的內地地圖數據都由其提供。截止到2012年第3季度,中國手機地圖累計賬戶在市場份額排名中,高德地圖以25.9%的份額位居第一。高德地圖API具有良好的穩定性,并且與Google MAP API基本兼容,成為眾多國內開發者的首選。

AutoNavi MAP API是高德公司提供的調用地圖的接口方法。用戶應用程序可以通過AutoNavi MAP API提供的接口方法操作地圖數據,實現位置相關或地圖相關的應用。例如,通過調用AutoNavi MAP API,將地圖數據整合到用戶的應用中,并可將商戶的地理位置信息在地圖上進行標注,以直觀的形式展現給用戶。

2 系統設計

2.1 系統總體架構

手機導航系統采用C/S(client/server,客戶機/服務器)模式,其總體架構如圖1所示。客戶端采用基于Android系統的智能手機,服務器端則用開源的tom-cat服務器實現,兩者通過無線網絡進行通信。服務器端作輕量級設計,主要負責各客戶端之間的通信,并存儲用戶注冊方面的等數據;客戶端功能包括地圖下載、顯示、路線查詢、導航、定位以及與服務器通信等。

圖1 系統總體架構圖

2.2 客戶端軟件設計

客戶端軟件主要包括系統界面、自我定位、地址查詢、好友定位、路線查詢以及實時路況六大功能模塊。其中,地址查詢包括地名查詢和經緯度查詢,路線查詢包括自駕路線查詢和公交路線查詢,如圖2所示。

圖2 客戶端軟件結構框

軟件設計需要調用高德公司提供的地圖服務,須先在該公司網站進行注冊,取得一個與本程序唯一綁定的開發密鑰(API KEY),同時在androidMainfest.xml注冊程序中所需要的權限。AutoNavi MAP API將自動從androidMainfest.xml文件中獲取用戶的開發密鑰,無需用戶在程序中輸入。注冊完成后,才能進行下一步的程序開發。

2.2.1 客戶端 UI模塊

系統界面主要包括登錄界面、功能選單(菜單)和功能按鈕。功能選單包括自我定位、地址查詢、好友定位、路線查詢、實時路況以及退出6個選單選項;功能按鈕包括實時路況和自我定位2個常用功能,實時路況按鈕位于屏幕左下角,自我定位按鈕位于屏幕右下角。

選單和按鈕的布局設計保存在layout文件夾的“*.xml”文件中,利用LinearLayout(線性布局)、FrameLayout(單幀布局)、AbsoulteLayout(絕對布局)、RelativeLayout(相對布局)和 TableLayout(表格布局)這5種布局模式,通過不同布局模式的組合可以實現各種形式的UI界面。

2.2.2 自我定位模塊

自我定位功能是通過GPS所獲得的經緯度信息,將客戶端所處位置置于屏幕中央,并加以標注;或者進行其他操作后需要再次定位時,點擊屏幕右下方的“自我定位”按鈕實現重新定位。定位有以下兩種方法:

(1)調用API的定位方法。程序首先需要啟動MyLocation和指南針,然后通過繼承Overlay類,并重寫draw方法實現定位圖標的標注,其關鍵代碼如下:

該方法定位準確,但無法獲得具體經緯度值。

(2)利用Criteria類的定位方法。Criteria類用于選擇位置服務provider,Criteria類為應用程序提供了多種因素的參數設置,包括精準度、用電量、海拔、速度、方向和資費等。locationManager根據設置的參數選擇最優的provider。通過Location類中的getLongitude和getLatitude方法獲得具體的經緯度數值,并且可以在LocationListener中對位置數據監聽,當客戶端位置發生改變時,重新獲得新位置的經緯度數據。其關鍵代碼如下:

其 中,locationManager.requestLocationUpdates中的第1個參數bestProvider可以是LocationManager.NETWORK_PROVIDER 或 LocationManager.GPS_PROVIDER。

LocationManager.NETWORK_PROVIDER 使用無線網絡進行定位,精度較低,但速度快;Location-Manager.GPS_PROVIDER使用GPS進行定位,精度高,但一般需要10~60s才能開始第1次定位,并且在室內基本上無法定位。這兩種Provider實際上是互補的,故本系統同時開啟2個監聽,但基于無線網絡的監聽只執行一次,而基于GPS的監聽則一直持續下去,直至用戶停止監聽。

2.2.3 地址查詢模塊

地址查詢需要通過地理編碼進行轉換。地理編碼是對地址或經緯度地圖坐標的編碼,兩者之間可以進行轉換,以便為基于位置的服務和基于地圖的活動中所使用的位置或坐標提供一個可識別的上下文[11]。

地址查詢包括通過經緯度查詢地名以及通過地名查詢經緯度兩種方式。由經緯度查詢地名時是將具體的經緯度數值通過反向地理編碼得到該經緯度對應的地名;由地名查詢經緯度是將具體的地名通過正向地理編碼得到該地名對應的經緯度。其關鍵代碼如下:

2.2.4 “好友”定位模塊

所謂“好友”是指授權可以查看彼此位置信息的客戶端。“好友”定位功能使得“好友”之間可以隨時相互了解彼此的最新位置,為“好友”結伴出行,以及兒童安全等提供實時、直觀的定位。

每個客戶端都有一個唯一的ID,服務器對不同的“好友”圈進行分組,每個群組內部各個客戶端定時將自己的位置信息發到服務器,并接受服務器發來的本群組內部的其他客戶端的位置信息,然后將他們在地圖上標志出來。

為了保證信息傳輸的可靠,客戶端與服務器之間的通信采用TCP/IP協議。通信過程利用了TCP/IP網絡通信的基本操作單元socket套節字,每個客戶端與服務器通信至少需要一對套節字[12]。具體的通信過程為:客戶端向服務器發送socket連接請求,服務器監聽到該請求后建立socket連接,同時服務器繼續監聽其他客戶端的連接請求,建立連接后雙方進行數據傳輸,傳輸完畢后關閉socket套接字。其關鍵代碼如下:

2.2.5 路線查詢模塊

路線查詢功能可以選擇自駕路線或公交路線,根據用戶輸入的起始地址和目標地址進行查詢。地址信息既可以輸入也可以直接點擊屏幕,程序根據點擊位置自動生成相應的地址信息。路線查詢需要調用PoiSearch方法,該方法搜索地址有3種方式:關鍵字搜索、地域搜索以及類型搜索。本系統采用關鍵字搜索,其中關鍵代碼如下:

2.2.6 實時路況模塊

AutoNavi MAP API支持全國33個城市的實時路況查詢。實時路況查詢可以通過調用MapView類中的方法setTraffic()來實現,setTraffic(true)打開實時路況顯示,setTraffic(false)關閉實時路況顯示。選擇打開實時路況顯示后,將自動導入當前地圖的實時路況信息,地圖上的道路會出現紅、黃、綠3種顏色。紅色代表擁堵,黃色代表緩慢,綠色代表暢通。其關鍵代碼如下:

其中,isChecked為實時路況標志,isChecked=true表示打開實時路況顯示,isChecked=false則關閉實時路況顯示。

3 系統實驗

系統設計完成后,即對本系統進行了實驗,以測試系統功能的正確性。Android手機的參數為:Android版本2.3.6、內核版本2.6.38.6-perf、版本號 www.azdyz.com_w619。實驗結果如圖3所示。

圖3(a)是自我定位功能的測試結果,圓形紅色圖標為客戶端當前所處位置,黑色長框為定位成功后系統提示的位置名稱。圖中客戶端所處位置為“江西理工大學應用科學學院”,與系統提示的位置“江西省章貢區江西理工大學應用科學學院研究生公寓附近”一致。

圖3(b)是地址查詢功能的測試結果,在查詢框中輸入“江西省贛州市江西理工大學”并點擊“確定”后,下方彈出該位置對應的經緯度值分別為:114.92915、25.852138,地址查詢結果正確。

圖3(c)是“好友”定位功能的測試結果,圖中圓形紅色圖標為己方位置,圓形藍色圖標為“好友”位置,“好友”定位正確。

圖3(d)和圖3(e)是路線查詢功能的測試結果,起始地址為“江西理工大學”,目標地址為“江西理工大學應用科學學院”。圖3(d)所示路線為兩地的最佳路線,圖3(e)所示路線與公交線路一致。

圖3(f)是實時路況功能的測試結果。目前,高德地圖僅支持全國33個城市的實時路況查詢,圖中為北京故宮附近的實時路況。

以上實驗結果表明:該系統功能準確,程序運行穩定可靠,定位和查詢精度較高,滿足了手機導航的要求。

4 結束語

本文設計并實現了一種C/S模式的Android手機導航系統,服務器端作輕量級設計,使用開源的tomcat服務器;客戶端軟件采用模塊化設計,利用開源的Android系統和高德 MAP API開發客戶端程序。該系統全部為軟件實現,可根據需要擴展系統功能,具有成本低、便于攜帶以及系統升級和維護方便等特點,能夠穩定、可靠地運行于絕大多數Android手機或其他Android設備,具有較好的應用前景。

圖3 實驗結果

[1]陳浩,張敏.基于ARM的車載導航接收機應用軟件設計與實現[J].計算機測量與控制,2013,21(3):813-815.

[2]邵志舉,崔光輝.手機導航系統研究與實例[J].計算機仿真,2008,25(3):142-144,170.

[3]董劍,張源,楊珉.利用硬件加速層優化Android顯示系統[J].小型微型計算機系統,2012,33(7):1546-1550.

[4]李東煒,劉鎮章.基于Android智能手機的實驗室預約系統設計[J].實驗技術與管理,2012,29(12):196-198,202.

[5]劉勝前,陳立定.基于Android平臺的車輛導航系統設計與實現[J].自動化與儀表,2012(4):1-4.

[6]劉巍然,劉建偉.Android操作系統可信計算平臺架構[J].武漢大學學報:理學版,2013,59(2):159-164.

[7]黃宏程,胡敏,陳如松.Android移動應用設計與開發[M].北京:人民郵電出版社,2012.

[8]雷鳴,靳婷,徐曉亮,等.面向龍芯平臺的Android系統移植研究[J].計算機工程與應用,2012,48(22):71-73,87.

[9]姚昱旻,劉衛國.Android的架構與應用開發研究[J].計算機系統應用,2008(11):110-112,24.

[10]倪紅軍.基于Android平臺的移動終端GPS研究[J].計算機技術與發展,2012,22(5):198-201.

[11]Reto Meier.Professional Android 2Application Development[M].王超,譯.北京:清華大學出版社,2011.

[12]熊軍華,贠超,王亭嶺.基于多源信息融合的熱缺陷監測系統研究[J].電力系統保護與控制,2012,41(5):146-150.

猜你喜歡
功能系統
也談詩的“功能”
中華詩詞(2022年6期)2022-12-31 06:41:24
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
關于非首都功能疏解的幾點思考
中西醫結合治療甲狀腺功能亢進癥31例
辨證施護在輕度認知功能損害中的應用
主站蜘蛛池模板: 亚洲综合第一页| 亚洲无码四虎黄色网站| 欧美日本一区二区三区免费| 丰满人妻一区二区三区视频| 亚洲无码视频喷水| 国产成人亚洲综合A∨在线播放 | 免费人成又黄又爽的视频网站| 日韩精品一区二区三区大桥未久| 凹凸国产熟女精品视频| 日本a级免费| 国产高潮流白浆视频| 精品人妻系列无码专区久久| 国产一级妓女av网站| 男女男免费视频网站国产| 午夜视频www| 四虎精品黑人视频| 91美女视频在线观看| 国产午夜不卡| 午夜日本永久乱码免费播放片| 97一区二区在线播放| 亚洲欧美日韩天堂| 麻豆精品久久久久久久99蜜桃| 亚洲成网777777国产精品| 欧美成人一级| 99在线视频免费| 九九免费观看全部免费视频| 亚洲毛片在线看| 国产精品欧美日本韩免费一区二区三区不卡 | 女人18毛片久久| 久久夜色精品国产嚕嚕亚洲av| 成人久久18免费网站| 国产乱子伦视频三区| 国产精品久久久久无码网站| 国产swag在线观看| 中文字幕亚洲精品2页| 欧美国产精品不卡在线观看| 国产黄色视频综合| 97国产精品视频人人做人人爱| 免费人成视网站在线不卡 | 996免费视频国产在线播放| 99福利视频导航| 99热亚洲精品6码| 国产欧美日韩在线一区| 免费激情网站| 精品国产Av电影无码久久久| 天天躁夜夜躁狠狠躁躁88| 一区二区日韩国产精久久| 亚洲中字无码AV电影在线观看| 91人妻在线视频| 五月天丁香婷婷综合久久| 免费精品一区二区h| 国产欧美在线视频免费| 亚洲日韩精品欧美中文字幕| 亚洲综合天堂网| 欧美午夜一区| 国产精品自在线拍国产电影| 91人妻日韩人妻无码专区精品| 91欧美在线| 天天色天天综合| 一区二区三区四区精品视频| 国产精品久久精品| 91亚洲免费| 极品尤物av美乳在线观看| 怡春院欧美一区二区三区免费| 一级成人欧美一区在线观看| 97精品国产高清久久久久蜜芽| 亚洲人成成无码网WWW| 亚洲无码视频图片| 国产一二视频| 一本一本大道香蕉久在线播放| 精品国产香蕉伊思人在线| 91破解版在线亚洲| 高清亚洲欧美在线看| 亚洲精品卡2卡3卡4卡5卡区| 毛片卡一卡二| 成人午夜福利视频| 欧美一级专区免费大片| 国产精品99r8在线观看| 男女性午夜福利网站| 97一区二区在线播放| 亚洲国产精品人久久电影| 国产91精品最新在线播放|