基于Android平臺軌跡追蹤的應(yīng)用設(shè)計與實現(xiàn)畢設(shè)論文_第1頁
基于Android平臺軌跡追蹤的應(yīng)用設(shè)計與實現(xiàn)畢設(shè)論文_第2頁
基于Android平臺軌跡追蹤的應(yīng)用設(shè)計與實現(xiàn)畢設(shè)論文_第3頁
基于Android平臺軌跡追蹤的應(yīng)用設(shè)計與實現(xiàn)畢設(shè)論文_第4頁
基于Android平臺軌跡追蹤的應(yīng)用設(shè)計與實現(xiàn)畢設(shè)論文_第5頁
已閱讀5頁,還剩52頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、 湖南大學(xué)畢業(yè)設(shè)計(論文) 第 頁基于移動互聯(lián)網(wǎng)軌跡追蹤的應(yīng)用設(shè)計與實現(xiàn)摘 要在信息高速流動的今天,手機(jī)憑借其便于攜帶和隨時隨地收發(fā)信息的優(yōu)勢,成為了人們工作和生活中必不可少的娛樂和通訊工具。而在手機(jī)移動網(wǎng)絡(luò)所提供的眾多服務(wù)中,基于位置的網(wǎng)絡(luò)地圖服務(wù)已成為一項引人注目的新型業(yè)務(wù)。它能利用移動端的定位技術(shù),提供給用戶與位置相關(guān)的信息,滿足不同用戶的需求。本文深入分析了目前主流手機(jī)操作系統(tǒng)Android平臺的優(yōu)勢和體系架構(gòu),詳盡介紹了Android應(yīng)用程序開發(fā)涉及的關(guān)鍵概念以及應(yīng)用程序的開發(fā)流程。然后,通過對手機(jī)網(wǎng)絡(luò)地圖現(xiàn)狀的分析,選擇了結(jié)合百度地圖與其API庫設(shè)計出一個基于移動互聯(lián)網(wǎng)的軌跡追蹤系

2、統(tǒng)。該系統(tǒng)在實現(xiàn)網(wǎng)絡(luò)地圖一般功能的基礎(chǔ)上,可以根據(jù)用戶GPS定位信息實時監(jiān)控和記錄用戶的移動路線,隨時顯示在手機(jī)百度地圖上,并且能夠?qū)崿F(xiàn)歷史記錄的軌跡重現(xiàn)。本文所設(shè)計的軌跡追蹤系統(tǒng)采用了兩種數(shù)據(jù)庫,SQLite數(shù)據(jù)庫和access數(shù)據(jù)庫來存儲軌跡記錄和注冊用戶的個人信息,通過對數(shù)據(jù)庫的操作實現(xiàn)對軌跡記錄和個人信息的管理。本文的最后在設(shè)計的基礎(chǔ)上逐步實現(xiàn)了系統(tǒng)的各個功能,通過多次真機(jī)測試,已經(jīng)達(dá)到了系統(tǒng)最初的設(shè)計目標(biāo)。該系統(tǒng)在旅行、運(yùn)動和緊急尋人中都能展現(xiàn)一定的價值。關(guān)鍵詞:移動定位,Android平臺,GPS,軌跡記錄,百度地圖 II 湖南大學(xué)畢業(yè)設(shè)計(論文) 第 頁The Design an

3、d Implementation for Tracking System Based on Mobile InternetAbstractIn todays high-speed flow of information, the mobile phone with its easy to carry and receive information anywhere, anytime, has become the peoples work and life indispensable entertainment and communication tools. In many mobile p

4、hone service provided by the network, based on the location of the Web Map Service has become a compelling new services. It can use the mobile side positioning technology, provides users with location-related information, meeting the needs of different users.This paper analyzes the current platform

5、advantages and architecture of Android, a mainstream mobile phone operating system, and detailed descriptions of the key concepts involved in Android application development and general application development process. After analyzing the status of network map, choose the combination of Baidu Maps a

6、nd its API library designed a mobile Internet-based tracking system. The system is realized on the basis of the general features of the network maps, GPS location information based on user real-time monitoring and recording the users mobile line, ready to be displayed on the phone Baidu map, and can

7、 realize the history of track reproduction. This article is designed a tracking system which using two databases, SQLite database and access database to store the track records and register the users personal information, through the operation of the database to realize the track record and manage p

8、ersonal information.Finally, on the basis of the design of the progressive realization of each function of the system through several real test, the system was originally designed to achieve the goal. The system can show its value in traveling, sporting and finding people.Key Words: mobile positioni

9、ng,Android platform,GPS,track record,Baidu Maps目 錄1 緒論11.1 課題背景及目的11.2 國內(nèi)外研究現(xiàn)狀21.2.1 Android手機(jī)平臺現(xiàn)狀分析21.2.2 位置信息服務(wù)系統(tǒng)研究現(xiàn)狀21.3 主要研究內(nèi)容31.4 論文結(jié)構(gòu)安排42 安卓Android平臺概述52.1 Android簡介及發(fā)展歷史52.2 Android平臺特征62.3 Android平臺體系架構(gòu)72.4 Android應(yīng)用程序組成92.5 Android應(yīng)用程序開發(fā)環(huán)境搭建122.6 Android應(yīng)用程序開發(fā)步驟143 定位技術(shù)及百度地圖API163.1 手機(jī)GPS16

10、3.2 百度地圖 API163.3 百度地圖 Android SDK163.3.1 密鑰申請163.3.2 環(huán)境配置174 軌跡追蹤應(yīng)用系統(tǒng)設(shè)計194.1 可行性分析194.1.1 經(jīng)濟(jì)可行性194.1.2 技術(shù)可行性194.2 系統(tǒng)需求分析194.2.1 用戶需求194.2.2 功能需求204.3 功能結(jié)構(gòu)設(shè)計214.4 系統(tǒng)界面設(shè)計244.5 系統(tǒng)狀態(tài)模型274.6 數(shù)據(jù)庫設(shè)計274.6.1 Android平臺數(shù)據(jù)存儲274.6.2 服務(wù)器數(shù)據(jù)庫284.7 服務(wù)器設(shè)計295 軌跡追蹤應(yīng)用系統(tǒng)實現(xiàn)315.1 歡迎界面實現(xiàn)315.2 登錄界面實現(xiàn)325.3 注冊界面實現(xiàn)345.4 設(shè)置服務(wù)器I

11、P界面實現(xiàn)355.5 地圖界面實現(xiàn)365.6 軌跡保存功能實現(xiàn)385.7 軌跡繪制功能實現(xiàn)405.8 軌跡列表界面實現(xiàn)425.9 個人資料編輯功能實現(xiàn)445.10 服務(wù)器連接實現(xiàn)48結(jié)論50致謝51參考文獻(xiàn)52 52 湖南大學(xué)畢業(yè)設(shè)計(論文) 第 頁1 緒論1.1 課題背景及目的隨著移動通訊網(wǎng)絡(luò)在全球覆蓋范圍的擴(kuò)大,智能手機(jī)已經(jīng)成為人們現(xiàn)代社會生活中獲取信息的主要設(shè)備。目前全球智能手機(jī)用戶為21億人,較2014年增長了23%。手機(jī)移動網(wǎng)絡(luò)服務(wù)給人們?nèi)粘I顜砹朔旄驳氐淖兓?,而位置則是這場變革中的關(guān)鍵要素之一。調(diào)查顯示,中國手機(jī)地圖市場規(guī)模在2012年僅1.9億元,到2014年這一規(guī)模增長至

12、4.1億元,同比增長了115.8%??梢?,手機(jī)用戶對地理空間位置信息的需求更加強(qiáng)烈?;谖恢眯畔⑻峁┓?wù)的軌跡追蹤應(yīng)用系統(tǒng)滿足了手機(jī)用戶們這方面的需求,在物流管理、旅游、客運(yùn)公交和尋找走丟的家人等眾多領(lǐng)域,這類軟件都能夠產(chǎn)生積極的影響。2007年11月,Google推出了一個專為移動設(shè)備設(shè)計的軟件平臺Android,由于該平臺提供給第三方開發(fā)商一個十分寬泛、自由的環(huán)境,使得以往開發(fā)內(nèi)嵌式地圖應(yīng)用所面臨的嚴(yán)峻挑戰(zhàn)不復(fù)存在。隨著Android平臺的不斷成熟,各式各樣新穎的Android應(yīng)用如雨后春筍般出現(xiàn)在手機(jī)應(yīng)用市場上,在歐美,Android Market上的應(yīng)用程序已經(jīng)超過了20萬款。而相比之

13、下在中國,Android手機(jī)應(yīng)用程序的本地化發(fā)展速度卻沒有那么快,目前Android Market上的中文版應(yīng)用程序只占2%左右。所以,研究Android應(yīng)用程序開發(fā),創(chuàng)新出符合中國人使用習(xí)慣的Android手機(jī)應(yīng)用軟件意義重大。另一方面,2010年4月23日,百度地圖正式宣布開放地圖API,滿足了移動開發(fā)者對地圖應(yīng)用的開發(fā)需求。相比較多數(shù)Android應(yīng)用中采用的Google Maps,在手機(jī)地圖中接入百度地圖更符合中國人對地理信息獲取和查詢的要求。因此,百度地圖的免費(fèi)性和Android平臺的開源性,使得開發(fā)者能夠在低成本高效率的情況下開發(fā)基于位置信息服務(wù)的Android手機(jī)軟件。本應(yīng)用設(shè)計

14、在這樣的技術(shù)背景下,旨在實現(xiàn)一款A(yù)ndroid平臺手機(jī)軟件,它通過獲取GPS定位數(shù)據(jù),在百度地圖上顯示并記錄用戶的戶外移動軌跡。該軟件可陪伴用戶跑步、騎車、散步,完整記錄鍛煉歷程和所用的時間既能作為美好的回憶也可根據(jù)以往路線的對比來優(yōu)化行程。1.2 國內(nèi)外研究現(xiàn)狀1.2.1 Android手機(jī)平臺現(xiàn)狀分析搭載Android操作系統(tǒng)的智能手機(jī)目前已經(jīng)成為市場上最炙手可熱的智能產(chǎn)品。來自美國市場研究機(jī)構(gòu)Gartner的數(shù)據(jù)顯示,Android操作系統(tǒng)所占的市場份額從2008年的0.5%急劇增長到2010年的22.7%,先后超過微軟的Windows Mobile及蘋果的iOS8。近幾年增長勢頭持續(xù),

15、特別在北美地區(qū),其手機(jī)銷售同比增長高達(dá)707%。如此迅猛的發(fā)展得益于Android平臺自身獨(dú)特優(yōu)勢:它不僅僅是一款手機(jī)操作系統(tǒng),更像是一個對任何開發(fā)人員開放的移動終端開發(fā)平臺。所以一經(jīng)推出便引起世界各地開源愛好者的關(guān)注。目前的Android系統(tǒng),具有成本低廉、良好的用戶體驗、較強(qiáng)的開放性等特點(diǎn),成本低廉使得Android手機(jī)在更注重性價比的中國市場中迅速占據(jù)一席之地,而開源性吸引了更多的開發(fā)商在Android平臺不斷推出各式各樣的應(yīng)用程序。另外,Android智能手機(jī)有AndroidMarket和眾多第三方應(yīng)用商店做后盾,其應(yīng)用方面的資源非常豐富。同時,簡單易懂的操作界面也使Android手機(jī)

16、更受消費(fèi)者的歡迎。1.2.2 位置信息服務(wù)系統(tǒng)研究現(xiàn)狀LBS(Location Based Service,基于位置的服務(wù))最初只是移動運(yùn)營商招徠顧客的一種手段,如今越來越多的消費(fèi)者卻希望能隨時隨地使用這項服務(wù)。LBS結(jié)合空間信息技術(shù)和無線通訊技術(shù),實時獲取移動終端用戶的地理位置信息,能夠在電子地圖平臺支持下為用戶提供這種增值業(yè)務(wù)來輔助解決其他問題2。比如信息查詢、地圖服務(wù)、手持終端的導(dǎo)航、弱勢群體的跟蹤和區(qū)域告警等。目前市場中此類手機(jī)軟件所依賴的網(wǎng)絡(luò)地圖服務(wù)不盡相同,下面對常見的幾種國內(nèi)外地圖服務(wù)進(jìn)行簡要比較分析:1 Google MapsGoogle在2005年2月8日推出了在線地圖服務(wù),

17、隨著Google Maps API的發(fā)布,Google Maps受到了全世界更多軟件開發(fā)商的關(guān)注。到2009年,Google Maps迅速成長為最受歡迎的在線地圖服務(wù)。它界面直觀、內(nèi)容豐富,通過API被整合在許多Web應(yīng)用之中。Google 為了滿足用戶的心理需求,不斷的升級外觀以及改善使用體驗,比如最近推出了餐館預(yù)定服務(wù)和“Uber”功能。Google Maps的創(chuàng)新性和開放性使其在互聯(lián)網(wǎng)上取得了很大成功。2 Bing MapsBing Maps是微軟公司推出的Bing服務(wù)中線上地圖服務(wù),它的亮點(diǎn)是能夠提供45鳥瞰視角。使用鳥瞰模式,用戶眼前的視角和站在5、6層樓房窗前看外面差不多。所以Bi

18、ng Maps一問世便吸引了大眾的注意。最近微軟又對Bing Maps進(jìn)行了多項改進(jìn),最新支持的 12 種室內(nèi)地圖總數(shù)升至 900多個,同時新增3D建筑顯示,對用戶來說顯示方式更加友好。不過Bing Maps在國內(nèi)市場并未普及,因為其地圖服務(wù)僅限于北美地區(qū),其他地區(qū)的地圖不是很詳盡甚至是錯誤的。3 高德地圖近年來,高德在移動互聯(lián)網(wǎng)領(lǐng)域可謂是風(fēng)生水起。易觀國際統(tǒng)計數(shù)據(jù)顯示,2013年第一季度,高德地圖占據(jù)中國手機(jī)客戶端市場29.8%的份額,位居第一。高德地圖的優(yōu)勢在于它精確和人性化的導(dǎo)航功能,并擁有自己的地圖數(shù)據(jù)資源,這使得眾多車載軟件使用高德地圖。4 百度地圖百度地圖在中國有著龐大的用戶群,相

19、比Google Maps,在中國地區(qū)使用百度地圖能夠得到更詳細(xì)精確的地理位置信息。百度地圖容納了超過500萬生活服務(wù)類數(shù)據(jù),與它進(jìn)行深度合作的數(shù)據(jù)合作伙伴有60余家,日均定位請求數(shù)超過35億次?,F(xiàn)在,百度地圖已經(jīng)從定位軟件向生活工具演進(jìn),為用戶提供了大量實用的功能,如路徑規(guī)劃、導(dǎo)航、公交查詢、查找周邊生活服務(wù)、通過地理圍欄技術(shù)幫助用戶知道停車場的實時空位狀態(tài)等。1.3 主要研究內(nèi)容本文在深入分析Android平臺相關(guān)概念和技術(shù)的基礎(chǔ)上,結(jié)合百度地圖API庫設(shè)計并實現(xiàn)了一個Android平臺軌跡追蹤系統(tǒng),該系統(tǒng)能夠?qū)崿F(xiàn)自我定位、實時軌跡追蹤、歷史軌跡管理等核心功能。不同身份用戶使用該系統(tǒng)時系統(tǒng)的

20、不同數(shù)據(jù)處理方式,是研究的重點(diǎn)之一,也是本文的創(chuàng)新點(diǎn)。1.4 論文結(jié)構(gòu)安排本文共分六章,結(jié)構(gòu)安排如下:第1章 緒論。主要介紹研究背景和目的,分析目前Android系統(tǒng)發(fā)展和國內(nèi)外手機(jī)位置信息服務(wù)系統(tǒng)的研究現(xiàn)狀,給出本文研究內(nèi)容。第2章 Android平臺概述。主要介紹Android技術(shù)的發(fā)展,深入研究和分析Android平臺體系架構(gòu)和應(yīng)用組成,并闡述了開發(fā)環(huán)境的搭建過程。第3章 定位技術(shù)及百度地圖API。重點(diǎn)介紹百度地圖API接口的使用方法和相關(guān)的環(huán)境配置,同時簡單介紹了手機(jī)定位技術(shù)。第4章 軌跡追蹤應(yīng)用系統(tǒng)設(shè)計。從總體設(shè)計的角度分析了系統(tǒng)需求、功能模塊劃分、界面設(shè)計和數(shù)據(jù)存儲方式,并對系統(tǒng)狀

21、態(tài)進(jìn)行建模。第5章 軌跡追蹤應(yīng)用系統(tǒng)實現(xiàn)。實現(xiàn)了系統(tǒng)各界面和模塊,并給出了相應(yīng)代碼。第6章 總結(jié)。對本文內(nèi)容進(jìn)行了總結(jié),以及對未來工作作出展望。2 安卓Android平臺概述2.1 Android簡介及發(fā)展歷史Android的意思是“機(jī)器人”,是Google于2007年11月5日基于Linux開發(fā)的一個開源操作系統(tǒng),主要應(yīng)用于便攜設(shè)備。Android操作系統(tǒng)由底層的Linux操作系統(tǒng)、中間件和核心的應(yīng)用程序組成,其中應(yīng)用程序是由Java語言開發(fā)的3。同時,Google宣布組建一個全球性的開發(fā)聯(lián)盟,這一聯(lián)盟包括手機(jī)生產(chǎn)商、手機(jī)芯片生產(chǎn)商及網(wǎng)絡(luò)運(yùn)營商,他們將共同支持Google發(fā)布新的系統(tǒng)及應(yīng)用程

22、序,共同開發(fā)Android系統(tǒng)的開放源代碼。Android手機(jī)操作系統(tǒng)推出后,版本更新非常快,幾乎每隔半年就推出一個新版本。從2008年9月23日發(fā)布的最早的版本Android 1.0到2014 年 10 月 15 日的全新操作系統(tǒng)Android 5.0,每個版本都對以前的版本功能加以完善,同時增強(qiáng)了界面的美化。下面對Android版本的發(fā)展歷程作簡單介紹:1 Android 1.0版本2008年9月發(fā)布的Android 1.0 如今看起來略微簡陋,主要功能有:能夠?qū)崿F(xiàn)多任務(wù)處理、WiFi、藍(lán)牙和即時通訊,支持完整的HTML網(wǎng)絡(luò)瀏覽和瀏覽器多頁面瀏覽,在內(nèi)置的Android Market 軟件

23、市場完成APP下載和升級。2 Android 1.5版本Android1.5版本相比之前的1.1版本增加了插件和對屏幕虛擬鍵盤的支持,同時增加了視頻錄制功能,用戶可直接從手機(jī)上傳視頻和照片到特定網(wǎng)站。Android1.5還改進(jìn)了GPS功能,定位庫使用了A-GPS技術(shù),搜星速度大幅提高,結(jié)果更加精確。3 Android 2.0/2.1版本在Android 1.6支持CDMA網(wǎng)絡(luò)的基礎(chǔ)上,優(yōu)化了硬件速度,屏幕分辨率更高,對Google Maps 3.1.2進(jìn)行改進(jìn),同時支持藍(lán)牙2.1標(biāo)準(zhǔn)。4 Android 4.0版本Android 4.0目前是最為普及、市場份額最大的Android版本,改進(jìn)后的

24、Android 4.0的UI界面給用戶更多的新鮮感和流暢性,為使用雙核乃至多核處理器的手機(jī)進(jìn)行專門的優(yōu)化,Android 4.0系統(tǒng)內(nèi)部集成了數(shù)據(jù)追蹤系統(tǒng),可以追蹤、分析移動數(shù)據(jù)流量,設(shè)置移動數(shù)據(jù)使用上限,功能非常齊全。5 Android 5.0版本Android 5.0 是自Android 4.0以來Android系統(tǒng)又一次重大升級,最大的變化在于UI用戶界面的設(shè)計,新系統(tǒng)采用全新的 “Material Design”設(shè)計規(guī)范,界面更加簡潔、色彩更加豐富。Android 5.0對支持的64位應(yīng)用和架構(gòu)進(jìn)行了優(yōu)化,在安全性方面,新增了訪客模式,優(yōu)化了面部解鎖等。可以說,Android 5.0帶

25、來了更加直觀的通知、性能和續(xù)航的提升、更聰明的安全功能、以及更出色的開發(fā)者工具。2.2 Android平臺特征Android平臺具有以下特性4:1 系統(tǒng)中的應(yīng)用程序和組件可替換和重用:可以把不喜歡的程序都替換掉,安裝自己滿意的程序,如系統(tǒng)的打電話功能,文件管理功能等。2 用Dalvik虛擬機(jī)來優(yōu)化移動設(shè)備:Android所有應(yīng)用程序都是用強(qiáng)大的Java語言編寫,Java語言編譯過的類文件通過DX工具轉(zhuǎn)換成.dex文件可在虛擬機(jī)中運(yùn)行;另外Dalvik采用的寄存器模式大大加快了程序的運(yùn)行速度。3 優(yōu)化的圖形圖像庫:Android系統(tǒng)包含了2D、3D圖形庫,這些有利于游戲的開發(fā)。4 強(qiáng)大的數(shù)據(jù)存儲

26、功能:Android平臺提供了多種數(shù)據(jù)存儲方式,如文件存儲、網(wǎng)絡(luò)存儲等,最主要的是集成了SQLite數(shù)據(jù)庫,它采用機(jī)構(gòu)化的存儲方式,給手機(jī)數(shù)據(jù)的存儲帶來了極大便利。5 基于WebKit引擎開發(fā)的內(nèi)部瀏覽器:這意味著手機(jī)相當(dāng)于電腦,基本上結(jié)束了WAP時代,用戶使用手機(jī)就可以像使用電腦一樣在互聯(lián)網(wǎng)中遨游。6 多媒體支持:Android平臺支持常見的音頻、視頻和靜態(tài)圖像格式(如H.264、MPEG4、AAC、MP3、AMR、PNG、JGP、GIF)7 依賴硬件的技術(shù):GMS電話技術(shù)、藍(lán)牙、WiFi、3G、GPS導(dǎo)航、照相機(jī)、指南針和加速計等。2.3 Android平臺體系架構(gòu)Android平臺采用了

27、分層的架構(gòu),從架構(gòu)圖看分為四層,從上層到下層分別是應(yīng)用程序?qū)印?yīng)用程序框架層、系統(tǒng)運(yùn)行庫層以及Linux內(nèi)核層,架構(gòu)圖如圖2.1所示。圖2.1 Android平臺架構(gòu)1 應(yīng)用程序?qū)覣ndroid應(yīng)用層由運(yùn)行在Android設(shè)備上的所有應(yīng)用共同構(gòu)成,它不僅包括隨Android系統(tǒng)一起預(yù)裝在移動設(shè)備上的通話、短信、聯(lián)系人等系統(tǒng)應(yīng)用,還包括其他后續(xù)安裝到設(shè)備中的第三方應(yīng)用。Android的應(yīng)用都是基于Java語言開發(fā)的,但在部分應(yīng)用中需要使用開源C/C+類庫,或者進(jìn)行圖形處理和運(yùn)算。通過Java來實現(xiàn)會存在執(zhí)行效率低和移植成本高等問題。因此,在Android開發(fā)中可使用C/C+來實現(xiàn)底層模塊,并添加

28、相應(yīng)接口與上層Java交互,最后利用Android提供的交叉編譯工具生成類庫并添加到應(yīng)用中3。2 應(yīng)用程序框架層框架層是由多個系統(tǒng)服務(wù)共同組成的,包括窗口管理服務(wù)、組件管理服務(wù)、電源管理服務(wù)、地理信息服務(wù)、通話管理服務(wù)等8。所有服務(wù)都寄宿在系統(tǒng)的核心進(jìn)程中,運(yùn)行時每個服務(wù)占據(jù)獨(dú)立的線程,彼此通過進(jìn)程間的通信機(jī)制發(fā)送消息和傳輸數(shù)據(jù)8。從系統(tǒng)設(shè)計的角度來看,框架層是Android系統(tǒng)中最核心的部分,它進(jìn)行著全局統(tǒng)籌,參與到應(yīng)用層的每一次操作中。每一次構(gòu)造窗口、處理用戶交互事件、繪制界面、獲得當(dāng)前地理信息、了解設(shè)備信息等操作,都是在各個系統(tǒng)服務(wù)的支持下實現(xiàn)的。而對于開發(fā)者而言,框架層最直觀的體現(xiàn)就是

29、SDK,它通過一系列的Java功能模塊,來實現(xiàn)應(yīng)用所需的功能。SDK的設(shè)計決定了上層應(yīng)用的開發(fā)模式、開發(fā)效率及能夠?qū)崿F(xiàn)的功能范疇。3 系統(tǒng)運(yùn)行庫層系統(tǒng)運(yùn)行庫包括核心類庫和Android運(yùn)行庫。核心類庫由一系列的二進(jìn)制動態(tài)庫共同構(gòu)成,通常使用C/C+進(jìn)行開發(fā),核心類庫不能夠獨(dú)立運(yùn)行于線程中,需要系統(tǒng)服務(wù)加載其到進(jìn)程空間,再通過類庫提供的JNI接口進(jìn)行調(diào)用3。核心類庫的來源主要有兩種,一種是系統(tǒng)原生類庫,以便Android使用C/C+來實現(xiàn)一些性能關(guān)鍵模塊來提高框架層的執(zhí)行效率,如:資源文件管理模塊、基礎(chǔ)算法庫等4。而另一種則是第三方類庫,大部分是移植優(yōu)秀開源項目,它們保障了Android能夠提供

30、豐富功能,如:Android 的多媒體處理,依賴于開源項目OpenCORE的支持;瀏覽器控件的核心實現(xiàn),是從Webkit移植而來;而數(shù)據(jù)庫功能,則是得益于SQLite4。Android運(yùn)行庫由Java核心類庫和Java虛擬機(jī)Dalvik共同構(gòu)成,來實現(xiàn)Java程序在運(yùn)行階段的二次編譯。Java核心類庫涵蓋了Android框架層和應(yīng)用層所要用到的基礎(chǔ)Java庫,包括Java對象庫、文件管理庫、網(wǎng)絡(luò)通信庫等。Dalvik 是為Android量身打造的Java虛擬機(jī),采取了基于寄存器的虛擬機(jī)架構(gòu)設(shè)計,負(fù)責(zé)動態(tài)解析執(zhí)行應(yīng)用、分配空間、管理對象生命周期等工作,Dalvik 執(zhí)行效率很高,更能夠發(fā)揮高端硬

31、件的能力。4 Linux內(nèi)核層Linux內(nèi)核的優(yōu)勢在于進(jìn)程管理、大內(nèi)存管理、共享庫支持、基于權(quán)限的安全模型、代碼開源、統(tǒng)一的驅(qū)動模型等。Linux具有強(qiáng)大的可移植性,Linux可以運(yùn)行在各式各樣的芯片架構(gòu)和硬件環(huán)境下,而依托于它的Android系統(tǒng),也便有了強(qiáng)大的可移植性。同時,Linux 內(nèi)核也作為硬件和軟件棧之間的抽象層,像一座橋梁將Android的上層實現(xiàn)與底層硬件連接起來,使它們可以不必直接耦合,因此降低了移植的難度。2.4 Android應(yīng)用程序組成Android應(yīng)用程序一般主要由以下四個部分組成:Activity、Broadcast Receiver、Service和Content

32、 Provider4。每個android應(yīng)用程序都包含一個必不可少的文件AndroidManifest.xml,每個Activity、service、Content Provider都需要在AndroidManifest文件中進(jìn)行配置,而Broadcast Receive的注冊分靜態(tài)注冊(在AndroidManifest文件中進(jìn)行配置)和通過代碼動態(tài)創(chuàng)建方式注冊至系統(tǒng)。這四大組件之間的關(guān)系如圖2.2所示。圖2.2 Android組件關(guān)系下面對每個組件作簡要介紹:1 Activity組件Activity是Android應(yīng)用程序最基礎(chǔ)的組件,它代表手機(jī)屏幕的一屏,是用戶與應(yīng)用程序的交互接口。Act

33、ivity相當(dāng)于一個UI容器,開發(fā)者可以在Activity中添加一些View,并對這些View做一些事件處理,比如通過對某些控件如TextView,Button的操作,實現(xiàn)Activity之間的跳轉(zhuǎn)。一個應(yīng)用程序中的多個Activity是通過棧來管理的,多個 Activity遵循著后進(jìn)先出的原則通過壓棧和彈棧來實現(xiàn)界面的跳轉(zhuǎn),棧頂?shù)腶ctivity是當(dāng)前屏幕顯示的、集中處理用戶動作的Activity。當(dāng)一個新的activity啟動時,這個新的activity將壓入棧中,成為正在運(yùn)行中的 activity,前一個activity保留在棧中;當(dāng)用戶使用后退按鈕時,當(dāng)前的activity將從棧中彈出

34、,而前面的那個activity恢復(fù)成運(yùn)行中狀態(tài)。在棧管理中,Activity有四種狀態(tài),這四種狀態(tài)共同構(gòu)成了Activity的生命周期,如圖2.3所示。 圖2.3 Activity生命周期在Activity的整個生命周期中,當(dāng)一個Activity被啟動時,首先是調(diào)用onCreate()方法設(shè)置初始化界面全部信息,如界面的views、buttons和分配的引用變量等;初始化完成后會調(diào)用onStart()方法,此時用戶可看到界面;當(dāng)用戶與界面進(jìn)行交互時就會調(diào)用onResume()方法;而調(diào)用onPause()方法時,此Activity是可見但不可交互的,即這個Activity依然保持著所有的連接狀

35、態(tài),但系統(tǒng)會停止部分消耗CPU的事情。當(dāng)被其他Activity覆蓋時調(diào)用onStop()方法,該Activity不可見。在后面的這兩種情況下都會調(diào)用onSaveInstanceState()方法來暫時保存被覆蓋的Activity的狀態(tài),在這些被覆蓋的Activity重新回到界面上的時候會恢復(fù)這些狀態(tài);調(diào)用onDestroy()方法后所有資源釋放,Activity從棧中移除。2 Broadcast Receiver組件應(yīng)用程序可以使用Broadcast Receiver對外部事件進(jìn)行過濾,只對感興趣的外部事件進(jìn)行接收并做出響應(yīng)。Broadcast Receiver沒有用戶界面,它是通過啟動act

36、ivity、使用NotificationManager或者在狀態(tài)欄顯示一個圖標(biāo)來通知用戶某些事情的發(fā)生,比如用閃動背燈和震動等方式通知用戶電池電量低、電話呼入、數(shù)據(jù)網(wǎng)絡(luò)可用等。所有Broadcast Receiver均繼承自BroadcastReceiver基類,一個應(yīng)用程序可以擁有任意數(shù)量的廣播接收器。注冊廣播事件有兩種方式:一種是在AndroidManifest.xml文件中定義,稱為靜態(tài)注冊;另一種是在程序中使用Context.registerReceiver注冊,稱為動態(tài)注冊。廣播事件的發(fā)送是通過Context.sendBroadcast來完成的,當(dāng)發(fā)送的廣播被接收器監(jiān)聽到后,會調(diào)用它

37、的onReceive()方法,并將包含消息的Intent對象傳給它。3 Service組件Service是在后臺運(yùn)行不與用戶交互的,一般處理比較耗時以及長時間運(yùn)行的操作,如下載、網(wǎng)絡(luò)獲取和播放音樂等。Service不是一個獨(dú)立的進(jìn)程,它與應(yīng)用程序運(yùn)行在同一個進(jìn)程當(dāng)中。要使用Service,首先要在AndroidManifast.xml配置清單文件中節(jié)點(diǎn)里對服務(wù)進(jìn)行配置,再通過傳遞一個Intent對象至Context.startService()或Context.bindService()啟動服務(wù)。4 Content Provider組件ContentProvider提供了一種通用的接口機(jī)制,實

38、現(xiàn)了不同存儲方式和類型的數(shù)據(jù)共享。當(dāng)應(yīng)用繼承ContentProvider類,并重寫該類用于提供數(shù)據(jù)和存儲數(shù)據(jù)的方法,就可以向其他應(yīng)用共享其數(shù)據(jù)。ContentProvider是基于權(quán)限控制的,為了便于管理和訪問,每個ContentProvider都擁有一個公共的Uri代表著要操作的數(shù)據(jù)。只要一個應(yīng)用程序具有適當(dāng)權(quán)限,就可以對共享數(shù)據(jù)進(jìn)行插入、刪除和更新操作。2.5 Android應(yīng)用程序開發(fā)環(huán)境搭建在windows上搭建Android開發(fā)環(huán)境是任何Android應(yīng)用程序開發(fā)的第一步,Android開發(fā)工具包括:JDK(JAVA development kit)、Eclipse IDE(Ecl

39、ipse Integrated Development)、Android SDK(Android software development kit)和ADT(Android Development Tools)1 安裝JDK:JDK是Java語言的軟件開發(fā)工具包,主要用于移動設(shè)備、嵌入式設(shè)備上的java應(yīng)用程序。進(jìn)入Oracle官方網(wǎng)站JDK下載頁面,選擇電腦系統(tǒng)對應(yīng)版本的JAVA SE(JDK)8進(jìn)行下載,下載完成后運(yùn)行.exe文件按提示進(jìn)行安裝。最后進(jìn)行環(huán)境變量配置(以本人環(huán)境配置為例):JAVA_HOME值為:E:Javajdk1.8.0_40 CLASSPATH值為:.;%JAVA_H

40、OME%lib;%JAVA_HOME%libtools.jarPath值:在開始追加 %JAVA_HOME%bin;安裝成功后可在CMD窗口查看到圖2.4所示對話框。圖2.4 JDK配置成功后窗口顯示2 安裝Eclipse集成開發(fā)環(huán)境:Eclipse是基于Java的開放源代碼的可拓展開發(fā)平臺,它集成了不同軟件工具開發(fā)商的產(chǎn)品,以插件形式提供給用戶,因此用戶可通過相同的接口使用不同開發(fā)工具。在Eclipse官方下載界面上選擇下載Eclipse IDE for JAVA Developers,下載完成后解壓即可使用。3 下載安裝Android SDKAndroid SDK提供了開發(fā)Android應(yīng)

41、用程序所需的API庫和構(gòu)建、測試和調(diào)試Android應(yīng)用程序所需的開發(fā)工具。在Google官網(wǎng)下載Android SDK 后安裝,在安裝目錄下運(yùn)行SDK Manager.exe,可以根據(jù)需求來下載或更新不同版本的SDK包。更新完成后,將tools所在文件夾路徑加入到Path的環(huán)境變量中,將Eclipse中的SDK Location指向Android SDK的安裝路徑,由此完成SDK的配置。4 為Eclipse安裝ADT插件在Eclipse編譯IDE環(huán)境中需安裝ADT,為Android開發(fā)提供開發(fā)工具的升級或者變更,方便調(diào)試Android程序。啟動Eclipse,點(diǎn)擊 Help菜單 - Inst

42、all New Software,點(diǎn)擊彈出對話框中的Add按鈕,在彈出的對話框中的Location處輸入http:/dl- SDK進(jìn)行關(guān)聯(lián)。5 創(chuàng)建AVD模擬器AVD是Android運(yùn)行的虛擬設(shè)備,在Android應(yīng)用程序開發(fā)過程中不可或缺。在Eclipse的Windows菜單下選擇Android AVD Manager.在左側(cè)面板選擇Virtual Devices后點(diǎn)擊new,設(shè)置一些自己的想要的參數(shù),如AVD名稱、Target API、屏幕大小、SDK版本、SD卡大小等,點(diǎn)擊Create后完成創(chuàng)建。選中創(chuàng)建的模擬器,點(diǎn)擊start即可運(yùn)行。創(chuàng)建成功后的模擬器如圖2.5所示。圖2.5 And

43、roid AVD模擬器2.6 Android應(yīng)用程序開發(fā)步驟在進(jìn)入Android應(yīng)用程序編寫代碼工作之前,首先要從宏觀的角度把握應(yīng)用程序,一般需要明確如下問題:1 應(yīng)用程序需要實現(xiàn)的功能:在Android項目開發(fā)之前應(yīng)根據(jù)程序要達(dá)到的目的進(jìn)行需求分析,由需求分析考慮清楚程序應(yīng)具備的功能模塊。本應(yīng)用系統(tǒng)的基本功能有:登錄注冊、實時軌跡繪制顯示、軌跡記錄保存、用戶信息編輯等。2 應(yīng)用程序的界面設(shè)計與界面間跳轉(zhuǎn)流程:首先應(yīng)該明確為實現(xiàn)最終需求需要哪些用戶界面,理清界面之間的邏輯關(guān)系,同時考慮每個界面的布局(如需要添加哪些組件以及組件的相應(yīng)事件等)。在本系統(tǒng)中,點(diǎn)擊登錄界面的注冊按鈕后,程序會跳轉(zhuǎn)至注

44、冊界面;點(diǎn)擊軌跡列表界面的查看軌跡按鈕后,系統(tǒng)會展示地圖界面等。3 應(yīng)用程序需要的數(shù)據(jù):在程序開發(fā)之前應(yīng)該考慮清楚該應(yīng)用程序需要哪些數(shù)據(jù)、數(shù)據(jù)的來源、格式、存儲方式以及數(shù)據(jù)的流動過程等。本系統(tǒng)中的軌跡信息在數(shù)據(jù)庫中以表的形式存儲,當(dāng)用戶查看軌跡時數(shù)據(jù)被提取出來并據(jù)此數(shù)據(jù)繪制軌跡。4 應(yīng)用程序是否要服務(wù)器來支持:根據(jù)需求分析考慮應(yīng)用程序的使用過程中是否需要服務(wù)器支持,如果需要,再考慮服務(wù)器的搭建、與客戶端的連接和服務(wù)器數(shù)據(jù)存儲等問題。在分析完以上問題后就可進(jìn)行Java程序的編寫與調(diào)試,最后在模擬器或真機(jī)上進(jìn)行測試。3 定位技術(shù)及百度地圖API3.1 手機(jī)GPS定位技術(shù)是指內(nèi)置于移動設(shè)備中,及時確

45、定設(shè)備所在位置的技術(shù),這項技術(shù)結(jié)合了硬件(比如一個GPS芯片)和軟件(比如能夠從基站信號中讀取位置的程序)。其中最常用、精度最高,同時也是本系統(tǒng)所采用的定位技術(shù)就是GPS定位。GPS全球定位系統(tǒng)最初由美國軍方研發(fā),具有全天候使用、高達(dá)98%的全球覆蓋率等優(yōu)點(diǎn),后來作為商業(yè)用途發(fā)揮出了巨大能量。地面設(shè)立的監(jiān)測站不斷檢測衛(wèi)星的運(yùn)行狀態(tài),從而獲得衛(wèi)星的星圖軌道信息和時間信號,通過速度時間與距離的公式,再輔助上四點(diǎn)定位的原理來確定移動定位端的位置。目前部分智能手機(jī)采用了改進(jìn)的A-GPS(Asist-GPS,輔助定位系統(tǒng))技術(shù),在衛(wèi)星信號微弱或可見衛(wèi)星數(shù)不能滿足定位要求時,通過網(wǎng)絡(luò)輔助服務(wù)器獲得的定位端

46、大致位置信息,再對比于手機(jī)斷斷續(xù)續(xù)接收到的GPS數(shù)據(jù),得到精確的位置計算結(jié)果。3.2 百度地圖 API百度地圖API是為開發(fā)者提供的一套免費(fèi)的基于百度地圖服務(wù)的應(yīng)用接口,包括JavaScript API、Android SDK、Web服務(wù)API、LBS云等多種開發(fā)工具和服務(wù),幫助開發(fā)者構(gòu)建交互性強(qiáng)、功能豐富的地圖應(yīng)用程序。百度地圖API隱藏并封裝了復(fù)雜的底層邏輯,提供了豐富的類和服務(wù),如地圖展現(xiàn)、定位、搜索、路線規(guī)劃、逆/地理編碼等,適用于多種設(shè)備及操作系統(tǒng)下的地圖應(yīng)用開發(fā)5。3.3 百度地圖 Android SDK百度地圖 Android SDK是一套基于Android 2.1及以上版本設(shè)備

47、的應(yīng)用程序接口。通過調(diào)用Android SDK接口訪問百度地圖服務(wù)和數(shù)據(jù),開發(fā)適用于Android系統(tǒng)移動設(shè)備的地圖應(yīng)用。本應(yīng)用系統(tǒng)使用了兩種百度地圖Android SDK:Android 地圖SDK和Android 定位SDK。3.3.1 密鑰申請用戶要想使用百度地圖Android SDK提供的豐富功能,需要獲取百度地圖移動版開發(fā)密鑰。獲取密鑰方法如下所述:1 創(chuàng)建應(yīng)用:登錄百度賬號后即可訪問API控制臺,點(diǎn)擊創(chuàng)建應(yīng)用,進(jìn)入創(chuàng)建AK頁面,輸入應(yīng)用名稱,將應(yīng)用類型改為:“Android SDK”2 獲取安全碼:安全碼的組成規(guī)則為:Android簽名證書的sha1值+“;”+packagenam

48、e(即:數(shù)字簽名+分號+包名)。在eclipse中查看windows - preferance - android - build,其中“SHA1 fingerprint”值即為Android簽名證書的sha1值,包名是Android應(yīng)用程序本身在AndroidManifest.xml 中定義的名稱,如本應(yīng)用系統(tǒng)為com.example.mytracks。輸入安全碼后點(diǎn)擊“確定”即可得到一個創(chuàng)建的Key。圖3.1為本應(yīng)用系統(tǒng)使用的API Key。圖3.1 百度地圖API Key的申請3.3.2 環(huán)境配置獲得密鑰后還需進(jìn)行環(huán)境配置才能真正在項目中使用百度地圖7。步驟如下:1 創(chuàng)建并配置工程(1)

49、在工程中新建libs文件夾,把開發(fā)包中的baidumapapi_vX_X_X.jar拷貝到libs文件夾根目錄下,再把libBaiduMapSDK_vX_X_X.so拷貝到libsarmeabi目錄下,完成后的目錄如圖3.2所示。圖3.2 百度地圖工程配置(2)在屬性-Java Build Path-Libraries中選擇“Add External JARs”,選定baidumapapi_vX_X_X.jar,點(diǎn)擊確定。2 在AndroidManifest.xml中添加開發(fā)密鑰、所需權(quán)限等信息。(1)添加開發(fā)密鑰,圖3.3為本應(yīng)用系統(tǒng)添加的密鑰信息。圖3.3 添加密鑰(2)添加權(quán)限信息,圖3

50、.4為本應(yīng)用系統(tǒng)添加的權(quán)限信息。圖3.4 添加權(quán)限4 軌跡追蹤應(yīng)用系統(tǒng)設(shè)計4.1 可行性分析4.1.1 經(jīng)濟(jì)可行性本系統(tǒng)是面向個人用戶而非企業(yè)的,因此不會產(chǎn)生企業(yè)級應(yīng)用的成本預(yù)算,另外,本軌跡追蹤系統(tǒng)借助了開源的Android開發(fā)平臺和免費(fèi)的百度地圖接口,也使得系統(tǒng)開發(fā)的成本大幅度降低。開發(fā)過程中的代碼編寫全部在Eclipse環(huán)境中完成,且測試階段只需要一部帶有GPS定位模塊的Android智能手機(jī)和PC機(jī),本人已經(jīng)擁有這些硬件設(shè)備,因此不會產(chǎn)生任何其他硬件設(shè)備費(fèi)用。4.1.2 技術(shù)可行性目前來看,基于Android系統(tǒng)的手機(jī)應(yīng)用軟件開發(fā)的相關(guān)技術(shù)已經(jīng)相對來說較為成熟,Android應(yīng)用軟件也

51、被大眾所熟悉。雖然本人沒有Android開發(fā)經(jīng)驗,也沒有接觸過相關(guān)知識,但在具有一定Java編程能力的基礎(chǔ)上,學(xué)習(xí)Android方面的編程并沒有遇到重大難題。參考著Android開發(fā)相關(guān)書籍和網(wǎng)絡(luò)教學(xué)資料,由淺入深地學(xué)習(xí)Android系統(tǒng),能夠在規(guī)定的時間內(nèi)完成課題。4.2 系統(tǒng)需求分析4.2.1 用戶需求用戶評價一個應(yīng)用系統(tǒng)的好壞,取決于這個系統(tǒng)能否給用戶帶來良好的服務(wù)體驗。本系統(tǒng)在滿足用戶對應(yīng)用的基本功能需求前提下,可以采用文字、圖片、地圖等多種形式與用戶交互,提供情景式服務(wù),因此從用戶的角度來說系統(tǒng)的設(shè)計需要滿足一下幾點(diǎn):1 界面簡潔美觀本系統(tǒng)是直接面對用戶的,所以界面的設(shè)計必須大方簡潔

52、,能夠?qū)⑾到y(tǒng)功能通過界面清晰地傳達(dá)給用戶;同時界面的跳轉(zhuǎn)需要連貫、有邏輯性,如按鈕放置位置、點(diǎn)擊按鈕或者輸入文字后系統(tǒng)的響應(yīng)結(jié)果需符合手機(jī)用戶的行為習(xí)慣和思維模式。2 系統(tǒng)可操作性強(qiáng)系統(tǒng)的設(shè)計應(yīng)該直觀、易于操作,在設(shè)計過程中盡可能使用手機(jī)用戶熟悉的術(shù)語和消息提示,避免生僻詞語和專業(yè)性較強(qiáng)的詞匯,文字的表達(dá)要清晰明了,這樣可以縮短用戶對系統(tǒng)的熟悉時間,使應(yīng)用服務(wù)體驗者能夠快速上手。3 快速響應(yīng)用戶需要的軟件是啟動快、加載時間短的,所以在設(shè)計時要考慮這方面問題;另外,由于本系統(tǒng)需要實時記錄用戶軌跡,這同時要求系統(tǒng)的響應(yīng)迅速,如地圖界面的及時刷新與定位信息的及時更新,都應(yīng)該給用戶流暢的體驗,不能出現(xiàn)

53、界面卡頓或者無法響應(yīng)用戶操作等情況。4.2.2 功能需求本文設(shè)計的軌跡追蹤系統(tǒng)的基本功能是能夠?qū)崟r記錄用戶的軌跡,并能保存查看已有軌跡記錄的相關(guān)信息,同時還實現(xiàn)了網(wǎng)絡(luò)地圖的部分基本功能和用戶的信息管理功能??偟墓δ苄枨鬄橐韵聨c(diǎn):1 地圖控制能夠?qū)崿F(xiàn)地圖展示和地圖的基本操作,如能夠?qū)⒌貓D的移動、旋轉(zhuǎn)、縮放和切換地圖顯示模式。用戶可根據(jù)自己的實際需要來調(diào)整,比如想查看某城市的整體市容就可把地圖切換為衛(wèi)星模式顯示,想查看某一地點(diǎn)或者此刻自己的的詳細(xì)街道位置就可選擇放大功能。2 定位當(dāng)前位置當(dāng)手機(jī)用戶的位置變化時,軌跡追蹤系統(tǒng)能夠及時更新當(dāng)前用戶的位置信息,并能在地圖界面上展現(xiàn)。系統(tǒng)需要用一個特殊的

54、標(biāo)識在百度地圖上把此刻用戶的地理位置標(biāo)記出來,便于用戶查看自己的位置。同時,系統(tǒng)需要獲得地理坐標(biāo)的詳細(xì)信息(如經(jīng)緯度)一并返回給用戶。3 繪制用戶軌跡本系統(tǒng)能夠把用戶某段時間內(nèi)的移動軌跡用有色線條在百度地圖上繪制出來,在實時記錄的情況下,這種展示方式對用戶來說是直觀的;在地圖界面查看軌跡時,已有軌跡的起點(diǎn)和終點(diǎn)能用不同的圖標(biāo)加以標(biāo)示,清楚地呈現(xiàn)移動的方向性。4 管理軌跡記錄用戶在移動的過程中,系統(tǒng)需要把其經(jīng)過的所有點(diǎn)的地理信息記錄在數(shù)據(jù)庫中,這樣在軌跡記錄的列表界面上,通過對數(shù)據(jù)的提取用戶可以對軌跡查看和刪除。同時,軌跡的詳細(xì)信息如記錄時間、距離、時長和起始坐標(biāo)的經(jīng)緯度等能夠在列表中顯示。5

55、編輯用戶個人信息在本系統(tǒng)注冊過的用戶登錄系統(tǒng)后,能夠查看和修改個人資料。此功能只有正確輸入密碼的用戶才能使用,而匿名狀態(tài)下不能查看用戶的個人信息。4.3 功能結(jié)構(gòu)設(shè)計本文所實現(xiàn)的是基于Android平臺和百度地圖下的軌跡追蹤系統(tǒng),根據(jù)對需求的研究與分析,將該系統(tǒng)劃分為地圖控制模塊、記錄控制模塊、軌跡管理模塊、信息管理模塊、登錄模塊、注冊模塊和退出模塊八個模塊,其功能結(jié)構(gòu)設(shè)計如圖4.1。圖4.1 系統(tǒng)功能結(jié)構(gòu)框圖各模塊描述如下:1 地圖控制模塊:地圖控制模塊給用戶提供可視化的地圖界面和地圖操作功能。該模塊由四個子功能組成,分別為地圖顯示、地圖縮放、自我定位和地圖顯示模式切換。(1)地圖顯示根據(jù)用

56、戶打開軟件時的所在位置,系統(tǒng)加載以用戶位置為中心的地圖并顯示出來,初始狀態(tài)地圖的顯示模式為交通圖,縮放級別為17。用戶可以通過手指在手機(jī)屏幕上左、右、上、下移動來驅(qū)動地圖的移動,獲取其他位置區(qū)域信息。(2)地圖縮放當(dāng)用戶想查看某個地點(diǎn)周圍的詳細(xì)信息或者想瀏覽整個軌跡路線時可以使用地圖的縮放功能。實現(xiàn)這項功能有兩種操作方式:一種為觸控方式,即用戶通過手指在手機(jī)屏幕上的捏和伸來改變地圖縮放級別,或連續(xù)兩次快速觸擊屏幕某點(diǎn)也可實現(xiàn)對觸擊點(diǎn)周圍地圖的放大;第二種為控件方式,即用戶通過觸摸地圖顯示界面右下角的“+”和“-”按鈕對地圖大小進(jìn)行控制。(3)自我定位利用GPS獲取的位置信息,確定用戶目前所處的地理位置,將此位置用鮮明顏色的點(diǎn)標(biāo)記在百度地圖上,同時顯示出此位置的經(jīng)緯度。當(dāng)用戶移動時,位置信息和定位點(diǎn)能夠?qū)崟r更新,同時地圖也跟隨用戶的移動而移動來保證用戶的定位點(diǎn)始終處于手機(jī)屏幕的中心位置。(4)地圖顯示模式切換本系統(tǒng)提供給用戶兩種地圖的顯示模式:交通圖和衛(wèi)星圖。交通圖是默認(rèn)加載地圖的顯示方式,當(dāng)用戶想鳥瞰整個區(qū)域的真實概況時可切換為衛(wèi)星圖模式。2 記錄控制模塊記錄控制模塊實

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論