李昀
摘要:隨著世界信息產(chǎn)業(yè)和通訊設(shè)備制造產(chǎn)業(yè)的迅猛發(fā)展,手機(jī)已經(jīng)成為人們?nèi)粘I钪胁豢扇鄙俚囊徊糠?。智能手機(jī)日益趨向于移動(dòng)智能綜合服務(wù)平臺(tái)方向的發(fā)展??梢灶A(yù)想在未來的世界,手機(jī)將為人們提供移動(dòng)辦公、信息分享和獲取、電子支付、游戲娛樂等等的服務(wù),而地圖導(dǎo)航就是其中一個(gè)非常重要的應(yīng)用服務(wù)。
關(guān)鍵詞:Android;Activity;Google Maps;GPS;MapActivity;MapView
1 背景
隨著整個(gè)手機(jī)與通訊行業(yè)的發(fā)展,可以預(yù)見手機(jī)將超過PC成為未來的IT產(chǎn)業(yè)的主導(dǎo)。很長一段時(shí)間里,應(yīng)用軟件的開發(fā)都以PC應(yīng)用軟件為主導(dǎo),而隨著智能手機(jī)的出現(xiàn)及性能的提升,手機(jī)通訊網(wǎng)絡(luò)逐漸與互聯(lián)網(wǎng)融合,高速的移動(dòng)網(wǎng)絡(luò)和日益低廉的通信費(fèi)用,手機(jī)應(yīng)用軟件的開發(fā)將成為潮流。
但是現(xiàn)有的手機(jī)系統(tǒng)缺乏PC系統(tǒng)跨平臺(tái)的優(yōu)越性,被各大手機(jī)廠商人為地劃分為不同的領(lǐng)地,在一定程度上阻礙了手機(jī)應(yīng)用軟件的發(fā)展,而且開發(fā)費(fèi)用高昂,像地圖應(yīng)用軟件,軟件開發(fā)者需要向地圖數(shù)據(jù)提供商支付大量的費(fèi)用才能獲得技術(shù)支持。但Android的出現(xiàn)改變了這一現(xiàn)狀,
Android平臺(tái)的開放性和較低的開發(fā)成本等特點(diǎn)促進(jìn)平臺(tái)自身的創(chuàng)新,還可以使運(yùn)營商根據(jù)自己的特點(diǎn)制定特色化產(chǎn)品,以便形成自己的競爭優(yōu)勢,這對(duì)他們形成的巨大的吸引力。因此,Android平臺(tái)具有很大的市場潛力。
3G高速網(wǎng)絡(luò)在中國的普及,Android系統(tǒng)的出現(xiàn)和Google提供的Google Maps API(開發(fā)者可以自由免費(fèi)的獲取地圖信息)為地圖導(dǎo)航軟件的開發(fā)提供了溫床,相信大量優(yōu)秀的地圖導(dǎo)航應(yīng)用軟件將會(huì)大量出現(xiàn)。
2 Google Maps深入研究
2.1 手機(jī)地圖及導(dǎo)航
本課題來源于科研項(xiàng)目,智能手機(jī)在移動(dòng)手機(jī)領(lǐng)域中獲得廣泛的應(yīng)用。隨著Android系統(tǒng)的發(fā)展,使得用戶移動(dòng)路徑的實(shí)時(shí)定位設(shè)計(jì)與實(shí)現(xiàn)成為了可能,能帶來與傳統(tǒng)PC不同的用戶體驗(yàn)。
關(guān)于如何定位,這里主要用到全球定位系統(tǒng)(GPS)。全球定位系統(tǒng)是最準(zhǔn)確的,但是限制條件也比較多,如在屋內(nèi),信息獲得的延遲會(huì)比較大。
2.2 Google Maps簡介
2004年10月Google收購了以矢量地圖測繪為主要業(yè)務(wù)的Keyhole公司。2005年4月,Google正式推出了Google Maps,它是一種開放式的免費(fèi)地圖服務(wù),有傳統(tǒng)地圖、衛(wèi)星地圖和混合地圖三種模式,某些地區(qū)還提供街景模式。
Google Maps提供的API為免費(fèi)資源,只需要申請(qǐng)一個(gè)Key便能使用Google Maps,降低了二次開發(fā)的門檻,并且Google Maps定期更新地圖數(shù)據(jù),提高了地圖服務(wù)水平,對(duì)于開發(fā)更加豐富多彩的地圖服務(wù)應(yīng)用具有十分重要的意義。
3 系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
3.1 功能需求分析
本項(xiàng)目的功能是,為用戶提供需要的目標(biāo)定位處理,即用戶設(shè)置一個(gè)目標(biāo)后,可以在后臺(tái)啟動(dòng)一個(gè)Service,能夠定時(shí)讀取GPS數(shù)據(jù)以獲得用戶目前所在的位置信息,并將其保存在數(shù)據(jù)庫中。用戶也可以選擇其他目標(biāo)信息,也能夠?qū)⑦@些軌跡顯示在地圖上面。
主界面中包括新建、設(shè)置,在設(shè)置界面上可以選擇map等級(jí)和gps更新頻率,當(dāng)在新建界面上輸入name和desc后,出現(xiàn)地圖界面,該地圖上可實(shí)現(xiàn)地圖的管理以及軌跡管理。
3.2 數(shù)據(jù)存儲(chǔ)需求
數(shù)據(jù)存儲(chǔ)方式有幾種,分別是可以數(shù)據(jù)存儲(chǔ)在文件系統(tǒng)中,或者數(shù)據(jù)庫中。為了以后擴(kuò)展方便,這里選擇數(shù)據(jù)庫存儲(chǔ)方式。在Android上,可以非常方便地使用SQLite數(shù)據(jù)存儲(chǔ)。
這個(gè)程序需要保存3類數(shù)據(jù),一類是跟蹤名稱,另外一類是每次跟蹤過程中讀取的位置信息,還有一類是設(shè)置配置信息。
3.3 總體設(shè)計(jì)
整個(gè)系統(tǒng)功能通過數(shù)據(jù)存儲(chǔ)模塊、系統(tǒng)主模塊、地圖展示模塊、新建跟蹤模塊以及遠(yuǎn)程跟蹤模塊來實(shí)現(xiàn)的。
該系統(tǒng)主要完成開發(fā)的是系統(tǒng)客戶端的操作。手機(jī)客戶基本可以實(shí)現(xiàn)跟蹤軌跡的存儲(chǔ)、GPS更新頻率設(shè)置和地圖等級(jí)設(shè)置、跟蹤軌跡的展示和添加描述日記信息。
3.4 主界面設(shè)計(jì)
主界面主要顯示以往的歷史記錄,按下模擬器上的MUNE鍵后,主界面下面出現(xiàn)新建、設(shè)置以及推出按鈕,通過按鈕即可跳到別的頁面上。
3.5 新建界面設(shè)計(jì)
新建界面主要用于新建一個(gè)目標(biāo)信息,同時(shí)可以寫下一寫說明性文字,也可作為用戶此地的標(biāo)注或日記信息的填寫。
3.6 設(shè)置界面的設(shè)計(jì)
設(shè)置界面主要是實(shí)現(xiàn)GPS更新頻率和地圖等級(jí)的設(shè)置,方便用戶自主選擇GPS更新頻率以及地圖的等級(jí)。
3.7 地圖界面的設(shè)計(jì)
地圖界面上主要通過MapView組件來顯示地圖,并通過設(shè)置的按鈕來控制地圖,如放大、縮小、移動(dòng)和模式轉(zhuǎn)換(如:衛(wèi)星、交通、街景、GPS)。
3.8 數(shù)據(jù)庫的設(shè)計(jì)
數(shù)據(jù)存儲(chǔ)既可以通過文件系統(tǒng)實(shí)現(xiàn),也可以通過專用數(shù)據(jù)庫工具來實(shí)現(xiàn)。未來便于系統(tǒng)日后維護(hù),本項(xiàng)目采用通過專用數(shù)據(jù)庫工具方式,選擇最常見的SQLite數(shù)據(jù)庫。
根據(jù)前面介紹的系統(tǒng)需求分析,本系統(tǒng)用到3種數(shù)據(jù),—種是目標(biāo)名,另一種是每次追蹤的目標(biāo)信息,另外是配置信息。
4 結(jié)語
校園智能手機(jī)路徑日記系統(tǒng)的建立是校園數(shù)字化的一種體現(xiàn),為學(xué)院今后建立綜合校園管理體系奠定了良好的基礎(chǔ)。通過使用數(shù)據(jù)SQLITE實(shí)現(xiàn)了離線地圖的存儲(chǔ),方便更快更準(zhǔn)查地找自己曾經(jīng)走過的路程,并提供當(dāng)時(shí)所記錄的日記信息。通過測試,本系統(tǒng)為學(xué)生記錄一天所走路程以及相關(guān)事宜做了系統(tǒng)的記錄,方便學(xué)生進(jìn)行導(dǎo)航、查詢?cè)?jīng)到過的地方,從而滿足學(xué)生對(duì)曾經(jīng)走過的地方個(gè)回顧?;贏ndroid平臺(tái)便于快速有效地進(jìn)行系統(tǒng)開發(fā),極大地減少了程序開發(fā)的工作量,縮短了開發(fā)周期。便于實(shí)現(xiàn)高效、無縫的系統(tǒng)集成,這是未來軟件開發(fā)的發(fā)展趨勢。隨著手機(jī)的快速更新發(fā)展,相信其應(yīng)用領(lǐng)域也將有更大的拓展。