版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、本科生畢業(yè)設(shè)計(jì)基于Android平臺(tái)和百度地圖的應(yīng)用系統(tǒng)ApplicationsystembasedonAndroidbaidumap所屬院(部):數(shù)學(xué)與信息技術(shù)學(xué)院學(xué)生姓名:指導(dǎo)教師:研究起止日期:二0一五年三月至二0一五年五月【摘要】在電子信息技術(shù)的帶動(dòng)下,移動(dòng)操作系統(tǒng)飛速發(fā)展,在手機(jī)、平板等移動(dòng)終端上的定位系統(tǒng)應(yīng)用更為普及,地圖導(dǎo)航的功能和應(yīng)用也得到不斷延伸和拓展,GPS功能在手機(jī)上的開(kāi)發(fā)應(yīng)用一度成為開(kāi)發(fā)的熱點(diǎn),能夠大量的減少人們尋找地點(diǎn)的時(shí)間成本,不斷滿足人們快速生活節(jié)奏的客觀需求,因此終端上的地點(diǎn)定位的地圖的相關(guān)軟件的應(yīng)用能夠產(chǎn)生很大的實(shí)際效用,尤其是在手機(jī)Android系統(tǒng)上的地圖
2、系統(tǒng)的開(kāi)發(fā),比如百度地圖就是在這樣的大背景下被開(kāi)發(fā)出來(lái)的。在本文中介紹了選題背景,介紹了關(guān)鍵技術(shù),對(duì)系統(tǒng)進(jìn)行了需求分析,對(duì)系統(tǒng)進(jìn)行了詳細(xì)設(shè)計(jì),系統(tǒng)的實(shí)現(xiàn)以及系統(tǒng)中的測(cè)試,對(duì)百度地圖應(yīng)用系統(tǒng)從分析到設(shè)計(jì)再到具體實(shí)現(xiàn),有了詳細(xì)的過(guò)程。百度地圖系統(tǒng)的開(kāi)發(fā)運(yùn)用了Java語(yǔ)言,主要針對(duì)Android和SDK系統(tǒng)的運(yùn)用進(jìn)行設(shè)計(jì),用戶可以通過(guò)在手機(jī)系統(tǒng)中,安裝軟件APP,然后快速的實(shí)現(xiàn)搜索地址的功能,使得用戶出門更加方便,不需要擔(dān)心迷路,使得用戶對(duì)出門變得方便。關(guān)鍵詞:地圖導(dǎo)航;百度地圖;Java;Android;APIAbstractWiththerapiddevelopmentofmobileplatf
3、ormstoextendtheoperatingsystemandmapnavigationapplications,expandingGPSfunctiononcellphoneshasbecomeahotmobileapplicationdevelopment.Inordertofindaplace,peopleoftenneedtospendalotofenergy,soalongwiththeacceleratingpaceofmodernlife,real-timelocationinformationisbecomingoneoftheinformationitislookingf
4、or.Therefore,thedesignandoptimizationmaplocationservicesapplicationswithverypracticalvalue,BaiduMapsAndroid-basedapplicationsystemthusarises.Inthispaperweintroducethebackground,thekeytechnologies,thesystemneedsanalysis,detaileddesignofthesystem,implementation,andsystemtestsystemforBaidumapapplicatio
5、nsystemfromanalysistodesigntoimplementation,withthedetailedprocess.ThesystemusestheJavalanguage,usingtheAndroidplatformandSDK,useBaiduMapsAPIinAndroidsystemwillsearchforBaidumapapplicationsystemsandrouteplanninghavebeenachieved,sothattheuserismoreconvenienttogoout,donotworryaboutgettinglost,sothatth
6、euserItbecomeseasytogoout.Keywords:mapnavigation;Baidumap;Java,;Android;API目錄第1章緒論11.1 課題背景11.2 課題意義11.3 研究現(xiàn)狀21.4 研究?jī)?nèi)容2第2章課題設(shè)計(jì)相關(guān)技術(shù)42.1 Java語(yǔ)言42.2 Android架構(gòu)42.3 AndroidSDK6第3章系統(tǒng)需求分析73.1 可行性分析73.2 需求分析83.3 業(yè)務(wù)流程圖83.4 非功能性需求9第4章百度key申請(qǐng)114.1 注冊(cè)百度賬號(hào)114.2 申請(qǐng)百度key114.3 百度密鑰應(yīng)用到程序13第5章系統(tǒng)設(shè)計(jì)145.1 系統(tǒng)功能結(jié)構(gòu)145.2 權(quán)限
7、設(shè)計(jì)145.3 基本配置設(shè)計(jì)16第6章系統(tǒng)實(shí)現(xiàn)176.1 系統(tǒng)運(yùn)行環(huán)境和開(kāi)發(fā)平臺(tái)176.2 系統(tǒng)實(shí)現(xiàn)176.2.1 系統(tǒng)主界面176.2.2 實(shí)時(shí)路況界面216.2.3 視角界面216.2.4 搜索界面226.2.5 路線界面256.2.6 導(dǎo)航界面286.2.7 數(shù)據(jù)的緩存30第7章系統(tǒng)測(cè)試327.1 測(cè)試內(nèi)容327.2 測(cè)試預(yù)期結(jié)果327.3 測(cè)試用例337.4 測(cè)試結(jié)果33結(jié)論35參考文獻(xiàn)36致謝37第1章緒論1.1 課題背景移動(dòng)互聯(lián)網(wǎng)時(shí)代的來(lái)臨,說(shuō)明是一個(gè)新的時(shí)代的開(kāi)始。移動(dòng)通信和互聯(lián)網(wǎng)合在一起就是所謂的移動(dòng)互聯(lián)網(wǎng),移動(dòng)設(shè)備(手機(jī)和上網(wǎng)本)可以隨時(shí)的訪問(wèn)互聯(lián)網(wǎng)的資源和查找的應(yīng)用。智能手
8、機(jī)是互聯(lián)網(wǎng)時(shí)代有目的有標(biāo)志的客戶端工具,它就像一臺(tái)小電腦”,有自己的獨(dú)立的操作系統(tǒng),可以自行安裝和卸載軟件,可以實(shí)現(xiàn)無(wú)線網(wǎng)絡(luò)的接入通過(guò)通信網(wǎng)絡(luò),有很大的存儲(chǔ)和計(jì)算的能力,這就是它和傳統(tǒng)手機(jī)的區(qū)別。在飛速發(fā)展的今天,對(duì)于移動(dòng)終端設(shè)備一個(gè)大的趨勢(shì)是傳統(tǒng)WEB上的應(yīng)用出現(xiàn)在手機(jī)終端。而基于Android的百度地圖應(yīng)用系統(tǒng),良好地體現(xiàn)了這一趨勢(shì),百度地圖應(yīng)用系統(tǒng)的開(kāi)發(fā),能很好的為用戶提供便捷的服務(wù),用戶通過(guò)運(yùn)用地圖,在地圖上輸入想去的地方的地址就能找到。通過(guò)Android的百度地圖應(yīng)用系統(tǒng),與傳統(tǒng)WEB應(yīng)用進(jìn)行良好的互補(bǔ)。在移動(dòng)手機(jī)大面積普及應(yīng)用的時(shí)代,為了滿足人們?cè)谕饷婵焖僬业较胍サ牡攸c(diǎn),很多軟件
9、開(kāi)發(fā)員開(kāi)發(fā)了新的地圖導(dǎo)航系統(tǒng),其中最為成功和典型的一個(gè)就是手機(jī)的GPS功能,這能夠大量的減少人們尋找地點(diǎn)的時(shí)間成本,不斷滿足人們快速生活節(jié)奏的客觀需求,因此終端上的地點(diǎn)定位的地圖的相關(guān)軟件的應(yīng)用能夠產(chǎn)生很大的實(shí)際效用,尤其是在手機(jī)Android系統(tǒng)上的地圖系統(tǒng)的開(kāi)發(fā)。1.2 課題意義在日益創(chuàng)新的網(wǎng)絡(luò)技術(shù)促進(jìn)下,我國(guó)白通訊技術(shù)已經(jīng)進(jìn)入第四代,4G時(shí)代的到來(lái),讓人們享受到了更快速的網(wǎng)絡(luò)傳輸速度和便捷的移動(dòng)通訊。在現(xiàn)在的社會(huì),手機(jī)已經(jīng)成為了人們?nèi)粘I钪胁豢扇鄙俚囊徊糠?。隨著現(xiàn)代科技的進(jìn)步和人們生活質(zhì)量的不斷地提高,普通只可以打電話發(fā)信息手機(jī)已經(jīng)無(wú)法滿足人們的要求,手機(jī)在時(shí)代的發(fā)展中不斷更新?lián)Q代,開(kāi)
10、發(fā)者們使得手機(jī)變得更加人性化和智能化,于是產(chǎn)生了智能手機(jī)。從人們對(duì)智能手機(jī)的使用率反復(fù)的調(diào)查研究來(lái)看,可以說(shuō)智能手機(jī)使用率在現(xiàn)代社會(huì)已經(jīng)達(dá)到了90%以上,智能手機(jī)的功能也被開(kāi)發(fā)得越來(lái)越人性化,人們可以通過(guò)手機(jī)完成很多的需求,可以說(shuō)人們的生活已經(jīng)離不開(kāi)智能手機(jī)了?,F(xiàn)在人們更多的使用Andriod平臺(tái)來(lái)幫助人們解決問(wèn)題,因此由這個(gè)課題擴(kuò)展開(kāi)來(lái),延伸并廣泛的使用在百度地圖API對(duì)Android系統(tǒng)的結(jié)合中,由于對(duì)地址查詢最原始方式是使用PC版的百度地圖,相比之下,顯得就很麻煩,人們不可能隨身攜帶電腦,并且不能保證電腦隨時(shí)隨地都能夠用有線或WIFI的方式上網(wǎng),但是在手機(jī)上,人們只需要在Andriod手
11、機(jī)上下載這個(gè)系統(tǒng),就能選擇搜索想去的地址,使得出行找路變得更加方便快捷。1.3 研究現(xiàn)狀從手機(jī)等移動(dòng)終端逐步為人們的生活帶來(lái)越來(lái)越多的便利,不斷涌現(xiàn)出來(lái)的手機(jī)地圖系統(tǒng)軟件為在外急需找到某個(gè)地點(diǎn)的人提供了途徑,節(jié)約了時(shí)間也提高了效率。因此手機(jī)地圖軟件的相關(guān)研究在學(xué)術(shù)研究中逐步顯現(xiàn),其中包括很多數(shù)據(jù)市場(chǎng)研究和應(yīng)用研究。在數(shù)據(jù)研究手機(jī)地圖系統(tǒng)軟件的報(bào)告中,中國(guó)IT研究中心的相關(guān)研究就對(duì)現(xiàn)在市場(chǎng)中市場(chǎng)份額排名前幾位的地圖軟件展開(kāi),它們通過(guò)市場(chǎng)調(diào)查,對(duì)前幾位的軟件進(jìn)行了排名,據(jù)結(jié)果顯示,現(xiàn)排名第一的是百度手機(jī)地圖,其市場(chǎng)份額高達(dá)55.2%,更多的人愿意用百度手機(jī)地圖來(lái)進(jìn)行地圖搜索,排名第二的是高德地圖,
12、其市場(chǎng)份額是20.7%,排名第三的是搜狗地圖,市場(chǎng)份額為占了6.3%。研究者們還對(duì)我國(guó)的智能手機(jī)使用情況進(jìn)行了分析論述,他們都認(rèn)為大量普及使用的職能手機(jī)作為手機(jī)地圖軟件的使用載體,普及率的高低將直接影響軟件的使用情況,據(jù)研究顯示,我國(guó)的智能手機(jī)用戶已經(jīng)接近人口的一半,達(dá)到7.15億人,這為手機(jī)地圖軟件的應(yīng)用推廣提供了基礎(chǔ)。1.4 研究?jī)?nèi)容1 .地點(diǎn)搜索和位置定位在手機(jī)地圖軟件中,用戶可以隨意搜索想要去的地點(diǎn),手機(jī)軟件將會(huì)把用戶需要的街道、道路等內(nèi)容進(jìn)行詳細(xì)的顯示,用戶可以通過(guò)簡(jiǎn)單的GPRS定位,讓手機(jī)自動(dòng)顯示當(dāng)前所在位置,在根據(jù)當(dāng)前的位置規(guī)劃出最佳的路線,供用戶參考。2 .路線規(guī)劃跟電腦地圖搜
13、索查詢結(jié)果相同,手機(jī)地圖軟件的規(guī)劃結(jié)果,也將隨著用戶的選擇的不同而不同,用戶可選擇步行、公交或駕車其中一種模式。3 .公交線路查詢?cè)谑謾C(jī)地圖軟件的查詢結(jié)果中,用戶只需簡(jiǎn)單的輸入起點(diǎn)和終點(diǎn),在選擇公交模式,用戶將輕松的得到多條線路信息。4 .GPS導(dǎo)航手機(jī)地圖軟件還可提供智能的導(dǎo)航功能,用戶在輸入終點(diǎn)和起點(diǎn)后,將進(jìn)入導(dǎo)航模式。第2章課題設(shè)計(jì)相關(guān)技術(shù)2.1 Java語(yǔ)言作為被開(kāi)發(fā)人員常用的開(kāi)發(fā)語(yǔ)言之一的Java語(yǔ)言,是一種能夠?qū)崿F(xiàn)跨平臺(tái)應(yīng)用的設(shè)計(jì)語(yǔ)言,被廣泛應(yīng)用的Java語(yǔ)言,性能很好、穩(wěn)定性高、效率高,所以被很多開(kāi)發(fā)人員采用,現(xiàn)在我們用的很多的軟件都是用Java語(yǔ)言開(kāi)發(fā)出來(lái)的,移動(dòng)電話、個(gè)人電腦
14、、平板電腦等終端上的很多軟件都是在Java開(kāi)發(fā)出來(lái)的。Java語(yǔ)言是Sun公司開(kāi)發(fā)出來(lái)的,是一種能夠被開(kāi)放使用的技術(shù),Sun公司對(duì)Java編程語(yǔ)言的解釋是:Java語(yǔ)言是一種動(dòng)態(tài)的編程語(yǔ)言,具有很好的性能,安全性高,試用對(duì)象廣泛,編程方式簡(jiǎn)單,可進(jìn)行移植。2.2 Android架構(gòu)現(xiàn)在我們的智能手機(jī)主要采用的系統(tǒng)有3類,一是蘋(píng)果系統(tǒng),二是安卓系統(tǒng),三是塞班系統(tǒng),本文主要在這里解析安卓系統(tǒng)。Android是一種操作系統(tǒng),是給予自由開(kāi)放代碼的,常用于移動(dòng)終端中,比如智能手機(jī)等,它的開(kāi)發(fā)是由谷歌公司和開(kāi)放手機(jī)聯(lián)盟共同完成的,在中國(guó)雖然應(yīng)用很廣,但是卻還沒(méi)有對(duì)其有統(tǒng)一的稱呼。Android的開(kāi)發(fā)者是A
15、ndyRubin。在Android系統(tǒng)中,是形成了完整的系統(tǒng)架構(gòu)的,下面我們將對(duì)其進(jìn)行詳細(xì)的分析。LinuxKernel:在Android系統(tǒng)的實(shí)際操作中,首先需要的是LinuxKernel的支持,有了LinuxKernel的支持才能基本保證Android系統(tǒng)的功能實(shí)現(xiàn),LinuxKernel由很多的驅(qū)動(dòng)程序組成,這些驅(qū)動(dòng)程序能夠完成對(duì)硬件的驅(qū)動(dòng)。AndroidRuntime:Android系統(tǒng)的運(yùn)行需要良好的運(yùn)行環(huán)境,這就是AndroidRuntime,這里AndroidRuntime里的CoreLibraries就相當(dāng)于java的JDK,是運(yùn)行android應(yīng)用程序所需要的核心庫(kù),Dalv
16、ikVirtualMachine就相當(dāng)于JVM,這是Android系統(tǒng)運(yùn)行所需的特定的虛擬機(jī)。Liberaries:Android系統(tǒng)的所有數(shù)據(jù)需要儲(chǔ)存在特別的地方,這就是Liberaries。ApplicationFramework:這是Android系統(tǒng)的所有程序的框架,有了框架,系統(tǒng)中所有的程序才能夠被放到里面,才能保證系統(tǒng)程序的正常運(yùn)行。Application:這個(gè)就是我們開(kāi)發(fā)的Application了。HorneAppucationsPheneApfilicatioisFrameworkWrwto*MarujperVie*SyitcmTelepfiowManajprRriourteL
17、ocjuohMcxfkiticmMirujpcrMimfcrMsn4crLinuxKernelDttptiyOrwerRai61MemoryOnwrBnderOwerWifiDrivtrKcfpdrdDrrffrAlkJwiOrh*erPo*wMjdidijecTifrt圖2-1系統(tǒng)架構(gòu)圖從Android系統(tǒng)被開(kāi)發(fā)以來(lái),不斷得到技術(shù)創(chuàng)新和系統(tǒng)優(yōu)化,谷歌公司已經(jīng)不斷進(jìn)行了新的版本,現(xiàn)在已經(jīng)可以更新到4.0.0版本了,已經(jīng)具備了很高的穩(wěn)定性,但是仍然有很多的開(kāi)發(fā)者更愿意在SDK2.2上進(jìn)行開(kāi)發(fā)工作。Android應(yīng)用基于Java,支持SQL,由于底層是Linux所以底層支持C/C+。目前有兩種編程
18、:一是基于ADT的JAVA編程,官方推薦用JDK+ECLIPSE+ADT+ADK(WINDOWS開(kāi)發(fā)環(huán)境下,是基于NDK的C編程APK是AndroidPackage的縮寫(xiě),即Android安裝包(anapk)。APK是類似SymbianSis或Sisx的文件格式。在進(jìn)行安裝和執(zhí)行的過(guò)程中,主要是通過(guò)APK文件,然后直接傳輸?shù)紸ndroid模擬器中。在Android系統(tǒng)中,Androidsdk編譯的安裝文件需要在apk中完成格式的轉(zhuǎn)換,是將zip格式的文件轉(zhuǎn)換成apk格式的文件,然后才能完成被unzip解壓到Dex中,Dex是DakikVMexecutes的全稱,即AndroidDalvik執(zhí)行
19、程序,并非JavaME的字節(jié)碼而是Dakik字節(jié)碼。在Android系統(tǒng)的軟件開(kāi)發(fā)中,開(kāi)發(fā)人員可通過(guò)訪問(wèn)API框架來(lái)完成核心應(yīng)用程序的使用,在這個(gè)框架中,所有的應(yīng)用程序需要進(jìn)行簡(jiǎn)化后的組件重用,所有基于這個(gè)框架開(kāi)發(fā)出來(lái)的應(yīng)用程序都需要有一個(gè)功能塊,這個(gè)功能塊是可以不遵循框架的安全性限制的,Android系統(tǒng)的API框架,可以運(yùn)用可替換的程序,即實(shí)現(xiàn)程序的重用機(jī)制,并且在每一個(gè)程序的后面,都有一系列發(fā)揮服務(wù)功效的小系統(tǒng),下面將重點(diǎn)分析這些小系統(tǒng):1、用來(lái)搭建應(yīng)用程序的視圖(Views),這種試圖是可實(shí)現(xiàn)豐富的可擴(kuò)展的功效,試圖又由一些基本的要素促成,包括表(lists),網(wǎng)格(grids),文本
20、框(textboxes),按鈕(buttons),甚至可嵌入白Wweb瀏覽器。2、可以兼容應(yīng)用程序的內(nèi)容提供器(ContentProviders),在這個(gè)系統(tǒng)中可以在訪問(wèn)一個(gè)程序的時(shí)候,再訪問(wèn)另一個(gè)程序。3、能夠?qū)崿F(xiàn)非代碼的資源訪問(wèn)的資源管理器(ResourceManager),主要由字符、圖形和布局文件(layoutfiles)組成。4、通知管理器(NotificationManager),在Android系統(tǒng)中通過(guò)這個(gè)小系統(tǒng)能夠?qū)崿F(xiàn)自定義的提示信息的顯示。5、活動(dòng)管理器(ActivityManager),這個(gè)小系統(tǒng)是能夠完成導(dǎo)航功能的定退的,用來(lái)管理程序生命周期的。2.3 AndroidS
21、DKSDK:(softwaredevelopmentkit)軟件開(kāi)發(fā)工具包。在特定的軟件開(kāi)發(fā)過(guò)程中,軟件開(kāi)發(fā)師會(huì)用軟件開(kāi)發(fā)工具包進(jìn)行特定的開(kāi)發(fā)工作,比如在搭建軟件的框架或硬件的平臺(tái)的時(shí)候,都需要運(yùn)用。在安卓系統(tǒng)中,軟件開(kāi)發(fā)工具包就是AndroidSDK。在Android系統(tǒng)中,有一個(gè)SharedPreferences類的平臺(tái),這個(gè)平臺(tái)能夠提供軟件配置參數(shù)的保存,使用SharedPreferences保存數(shù)據(jù),其背后是用xml文件存放數(shù)據(jù),文件存放在/data/data/shared_prefs目錄下。所謂的SharedPreferences,是特指在Android系統(tǒng)中,用來(lái)存儲(chǔ)信息的特定機(jī)制
22、。最重要的是在Android系統(tǒng)中,開(kāi)放的服務(wù)是不需要收費(fèi)的,開(kāi)發(fā)者提供第三方平臺(tái)的更大的自由度,開(kāi)發(fā)人員不需要進(jìn)行較高費(fèi)用的支出,就可以進(jìn)行軟件的開(kāi)發(fā)。第3章系統(tǒng)需求分析3.1 可行性分析系統(tǒng)開(kāi)發(fā)不光涉及到開(kāi)發(fā)過(guò)程在技術(shù)上是否可行的問(wèn)題,還需要進(jìn)行綜合全面的可行性分析,一個(gè)系統(tǒng)能夠被成功的開(kāi)發(fā)出來(lái),不僅需要有成熟的技術(shù),還需要有充足的開(kāi)發(fā)資金做保證,所以下面將從技術(shù)可行性、經(jīng)濟(jì)可行性和法律可行性進(jìn)行分析。1 .技術(shù)可行性手機(jī)地圖軟件的開(kāi)發(fā)所需要的技術(shù)最主要的是開(kāi)發(fā)設(shè)計(jì)語(yǔ)言,這種設(shè)計(jì)語(yǔ)言需要在手機(jī)等移動(dòng)系統(tǒng)上安裝應(yīng)用,從現(xiàn)階段的開(kāi)發(fā)語(yǔ)言的技術(shù)來(lái)看,主要有Java語(yǔ)言、C語(yǔ)言等等,這些開(kāi)發(fā)語(yǔ)言都
23、是長(zhǎng)時(shí)間打磨所得的,已經(jīng)較為成熟了。還需要的就是高速的網(wǎng)絡(luò)做保障,從我國(guó)的現(xiàn)狀來(lái)看,網(wǎng)速已經(jīng)在不斷的加快,足以滿足手機(jī)地圖軟件的需求。(1)硬件操作系統(tǒng):WindowsXP或者Windows7Web服務(wù)器:tomcat7.0及以上開(kāi)發(fā)工具:Eclipse4.4,MacromediaDreamweaver8.0數(shù)據(jù)庫(kù):MySQL數(shù)據(jù)庫(kù)JDK開(kāi)發(fā)包:jdk7Update5以上版本(2)系統(tǒng)軟件在百度地圖軟件的設(shè)計(jì)過(guò)程中,需要能夠滿足在手機(jī)系統(tǒng)中運(yùn)行的要求,所以需要采用特定的開(kāi)發(fā)語(yǔ)言,其中Java語(yǔ)言因高穩(wěn)定性、通用性等優(yōu)點(diǎn),被開(kāi)發(fā)人員運(yùn)用到地圖軟件的開(kāi)發(fā)中,作為最主要的設(shè)計(jì)語(yǔ)言。2 .經(jīng)濟(jì)可行性所
24、有開(kāi)發(fā)地圖軟件的工程師,最終的目的都是為了獲得經(jīng)濟(jì)上的收益,在實(shí)際的開(kāi)發(fā)過(guò)程中,也需要充分考慮是否有足夠的經(jīng)濟(jì)支持,從百度地圖的開(kāi)發(fā)成本來(lái)看,所需要的系統(tǒng)開(kāi)發(fā)人員不用很多,會(huì)涉及到的開(kāi)發(fā)費(fèi)用不高,投資者、開(kāi)發(fā)人員都不用投入大量的前期資本,所以從以上兩方面來(lái)看經(jīng)濟(jì)上是可行的。3 .法律可行性7基于Android的百度地圖應(yīng)用系統(tǒng)是畢業(yè)設(shè)計(jì),僅僅只是作為畢業(yè)時(shí),進(jìn)行的設(shè)計(jì),該軟件并不作商業(yè)用途,因此在法律上是沒(méi)有問(wèn)題的,在法律上是可行的。4 .結(jié)論全文在可行性分析的過(guò)程中,進(jìn)行了經(jīng)濟(jì)、技術(shù)和法律層面的深度研究,通過(guò)研究得出之所以百度地圖能夠在所有的手機(jī)地圖軟件中占有第一名的市場(chǎng)份額,被大多數(shù)用戶選
25、擇,就是百度地圖優(yōu)化的信息化方式,百度地圖的人性化服務(wù)方式。3.2 需求分析軟件工程建設(shè)的第一階段就是需求分析,它是十分重要的階段,因?yàn)椋茖W(xué)并且合理的需求分析能在成本上得到節(jié)約,還能夠?qū)㈨?xiàng)目建設(shè)做到事半功倍的效果,反之,如果需求分析不合理,不實(shí)用,只會(huì)給項(xiàng)目建設(shè)帶來(lái)負(fù)擔(dān),不但會(huì)使建設(shè)成本大幅度上升,還會(huì)直接影響開(kāi)發(fā)建設(shè)的成功與否,因此在軟件工程的建設(shè)中,必須充分的考慮到用戶的需求,所有的在Android系統(tǒng)手機(jī)上開(kāi)發(fā)的地圖軟件,都要體現(xiàn)用戶的最根本需求,對(duì)于百度地圖開(kāi)發(fā)來(lái)所更是如此。用戶能夠公交路線,周邊。用戶能夠查看實(shí)時(shí)路況以及使用不同模式查看地圖,包才3D俯瞰圖,2D平面圖以及衛(wèi)星圖。用
26、戶可以搜索附近地點(diǎn),比如公交站,銀行等。用戶能夠搜索路線,包括:駕車,公交車,走路。用戶可通過(guò)百度地圖在駕車過(guò)程中完成導(dǎo)航。3.3 業(yè)務(wù)流程圖工作過(guò)程。業(yè)務(wù)流程圖能夠反應(yīng)出工作運(yùn)行的具體的過(guò)程,按照規(guī)定要用指定的符合來(lái)表示,業(yè)務(wù)流程圖的繪制過(guò)程,是幫助分析員分析整理結(jié)果的重要過(guò)程,能夠幫助分析出其中可能存在的不合理的地方或問(wèn)題,也方便交流,如3-1所示:業(yè)務(wù)處理單位數(shù)據(jù)表格制作數(shù)據(jù)/文件存檔業(yè)務(wù)處理功能描述收集/統(tǒng)計(jì)數(shù)據(jù)信息傳遞過(guò)程圖3-1業(yè)務(wù)流程圖的基本符號(hào)圖3-2業(yè)務(wù)流程圖使用百度地圖應(yīng)用3.4 非功能性需求(1)系統(tǒng)的安全性安全性對(duì)于一個(gè)任意一個(gè)系統(tǒng)來(lái)說(shuō)是極為重要的,本系統(tǒng)設(shè)計(jì)時(shí)考慮了加
27、密權(quán)限和必要的保密措施,以此保證系統(tǒng)安全可靠。要滿足數(shù)據(jù)保存的完整,在手機(jī)地圖軟件中,必須要有備份的功能,才能確保系統(tǒng)的整體性,同時(shí)要考慮到數(shù)據(jù)在遭受意外破壞時(shí)也能及時(shí)恢復(fù),系統(tǒng)必須滿足用戶運(yùn)營(yíng)方面的需求,能夠長(zhǎng)期運(yùn)行,需要額外的網(wǎng)絡(luò)安全防火墻,傳輸數(shù)據(jù)是加密的。當(dāng)然,設(shè)計(jì)者還應(yīng)當(dāng)對(duì)開(kāi)發(fā)系統(tǒng)中的硬件配置給予充分的注意和考慮。(2)系統(tǒng)的響應(yīng)時(shí)間本系統(tǒng)在線測(cè)試速度性能不超過(guò)10毫秒,根據(jù)用戶的需要可以進(jìn)一步提高,響應(yīng)時(shí)間是一個(gè)系統(tǒng)非功能部分中的一個(gè)重要性能,能夠保證系統(tǒng)的運(yùn)行,添加餐品,搜索信息,操作完成立刻能夠返回信息,不能產(chǎn)生有等待的感覺(jué),這是用戶正常需要的性能。(3)系統(tǒng)的可擴(kuò)展性作為一個(gè)
28、百度地圖應(yīng)用系統(tǒng)來(lái)說(shuō),系統(tǒng)應(yīng)充分考慮未來(lái)的可擴(kuò)展性,例如查詢的條件會(huì)不斷的增加和變化,這要求系統(tǒng)由足夠的條件進(jìn)行功能的完善和擴(kuò)展。,實(shí)現(xiàn)此應(yīng)通過(guò)系統(tǒng)的擴(kuò)展配置來(lái)完成,系統(tǒng)在設(shè)計(jì)時(shí)要符合一定的配置標(biāo)準(zhǔn),可以方便未來(lái)加入和減少系統(tǒng)的模塊,通過(guò)軟件的升級(jí)、改善系統(tǒng)錯(cuò)誤和增加功能。104.1注冊(cè)百度賬號(hào)第4章百度key申請(qǐng)根據(jù)提示,填寫(xiě)注冊(cè)信息。如圖4-1百度注冊(cè)百劇曲號(hào)手機(jī),甑輸圖4-1注冊(cè)百度賬號(hào)4.2 中請(qǐng)百度key登陸百度賬號(hào),百度百度地圖API”,點(diǎn)開(kāi)百度地圖API的官網(wǎng)。進(jìn)官網(wǎng),選擇Android開(kāi)發(fā)可以進(jìn)行了解下百度地圖,點(diǎn)擊申請(qǐng)密鑰的按鈕進(jìn)去。如圖4-211圖4-2百度API在這里因?yàn)?/p>
29、是展示Android百度API的應(yīng)用,所以點(diǎn)擊創(chuàng)建應(yīng)用,如圖4-3抵的野鼻川附越圖4-3創(chuàng)建應(yīng)用在應(yīng)用類型窗口中選擇AndroidSDK,應(yīng)用名稱可以隨便設(shè)置。關(guān)鍵安全碼設(shè)置:要求Android簽名證書(shū)的shal彳直+;+packagenanB(:數(shù)字簽名+分號(hào)+包名)Android簽名證書(shū)的sha1值:可以在eclipse中直接查看:windows-preferences-Android-build.如圖4-5包名:Android應(yīng)用程序本身在AndroidManifest.xml上定義的,如圖4-6在填寫(xiě)安全碼后,點(diǎn)擊確定”完成應(yīng)用的配置工作,得到一個(gè)創(chuàng)建的key,如圖4-7苜山開(kāi)盤(pán)-性T
30、費(fèi)明社區(qū)“松直鶴雕yQ產(chǎn)fllliW,匚歪匕皿事主反一*ArdtLi-KDS.日馬弓價(jià)1通用母茁I啰郭苣at考陋做底WeWQ!H發(fā)昌信總AjMM的勢(shì)站據(jù)皿:時(shí)利Ut限歲加工修,封霞方封!1口137去6皿暴占殳工=克聽(tīng)中5學(xué)口修力3,一噂用區(qū)坨1.=3=1如血圖4-4創(chuàng)建應(yīng)用填表12ml!itefTUffillIDDM匹伊F);g():圖4-5shal值查找-marifestxnlns:android=卜士tp:/圖4-6包名的查找W3517BMymaphHT5XGCYcfTfiMfpnlQa3mlHq/Android;設(shè)置刪除圖4-7百度key4.3 百度密鑰應(yīng)用到程序?qū)?chuàng)建的的key應(yīng)用到開(kāi)
31、發(fā),在AndroidManifest.xml和MainActivity.java添加key如圖4-8,圖4-9圖4-8AndroidManifest.xml上/*0DK垃證密甥*/privatefinalstaticStringACCESS_KEY-hHT9KGCYd7EMc;eniQm3mtHqy1圖4-9MainActivity.java上13第5章系統(tǒng)設(shè)計(jì)5.1 系統(tǒng)功能結(jié)構(gòu)百度地圖應(yīng)用系統(tǒng)主要由前臺(tái)使用組成。前臺(tái)是用戶能夠進(jìn)行查詢路線操作,以及一些導(dǎo)航操作,由于該界面是針對(duì)用戶,也考慮了用戶想要操作的簡(jiǎn)潔和方便性,與此同時(shí)開(kāi)發(fā)者在應(yīng)用外觀設(shè)計(jì)上也進(jìn)行了精心的設(shè)計(jì),讓用戶看著賞心悅目。應(yīng)
32、用從前臺(tái)方面進(jìn)功能設(shè)計(jì),主要功能包括搜索公交路線,周邊;查看實(shí)時(shí)路況以及使用不同模式查看地圖;查看附近的基本信息,包括:公交站,銀行等;搜索路線,包括:駕車,公交車,走路;使用該系統(tǒng)進(jìn)行導(dǎo)航等核心功能。基于Android的百度地圖應(yīng)用系統(tǒng)杳一洵公交珞線實(shí)時(shí)路線不同視覺(jué)地圖附近信息搜索路線導(dǎo)航圖4-1系統(tǒng)功能結(jié)構(gòu)圖5.2 權(quán)限設(shè)計(jì)14155.3基本配置設(shè)計(jì)menuxmlns:android=http:16第6章系統(tǒng)實(shí)現(xiàn)6.1 系統(tǒng)運(yùn)行環(huán)境和開(kāi)發(fā)平臺(tái)表6-1系統(tǒng)運(yùn)行環(huán)境和開(kāi)發(fā)平臺(tái)需求表需求名稱詳細(xì)要求CPUCore15、6GHz內(nèi)存6G硬盤(pán)500G顯示器分辨率1024X768像素以上網(wǎng)絡(luò)20M以上
33、操作系統(tǒng)Windowsxp或Windows7或者Linux數(shù)據(jù)庫(kù)MySQL5.5以上開(kāi)發(fā)工具Eclipse4.4軟件ADT23.0.2,AndriodSDK和ADT版本fWeb服務(wù)器Tomcat6.2 系統(tǒng)實(shí)現(xiàn)6.2.1 系統(tǒng)主界面該界面是用戶登錄系統(tǒng)的界面,設(shè)計(jì)主界面簡(jiǎn)潔,用戶在該界面中能夠進(jìn)行搜索,路線查看,附近,以及導(dǎo)航。17MyM叩protectedvoidonCreate(BundlesavedInstanceState)(調(diào)用父類的onCreate構(gòu)造函數(shù),保存當(dāng)前Activity的狀態(tài)信息super.onCreate(savedInstanceState);MyApplicati
34、onapp=(MyApplication)this.getApplication();初始化bMapManagerbMapManager=app.bMapManager;if(bMapManager=null)bMapManager=newBMapManager(getApplicationContext();/*如果BMapManager沒(méi)有初始化則初始化BMapManager*/bMapManager.init(newMyApplication.MyGeneralListener();記住BMapManager的初始化要在setContentView之前完成,否則是會(huì)報(bào)錯(cuò)的setConte
35、ntView(R.layout.activity_main);getBMapView();data=newLocationData();/定位功能mLocationClient=newLocationClient(getApplicationContext();聲明LocationClient類18myOverlay=newLocationOverlay(getApplicationContext(),mMapView,data);initPopupOverLay();/創(chuàng)建彈出泡泡圖層myOverlay.createPaopao();myOverlay.enableCompass();set
36、LocationOption();/注冊(cè)位置監(jiān)聽(tīng)mLocationClient.registerLocationListener(locationListener);/發(fā)起定位請(qǐng)求if(mLocationClient!=null&!mLocationClient.isStarted()mLocationClient.requestLocation();mLocationClient.start();/位置服務(wù),沒(méi)有則初始化elseLog.e(LocSDK3,locClientisnullornotstarted);popup=newPopupOverlay(mMapView,newPopupC
37、lickListener()privateObjectaddress_msg;OverridepublicvoidonClickedPopup(intindex)switch(index)case0:/單擊周邊搜索圖標(biāo)Intentintent=newIntent(MainActivity.this,PoiSearchActivity.class);intent.putExtra(MyLocation,true);startActivity(intent);Activity之間傳遞的消息break;case1:/單擊我的位置圖標(biāo)if(address_msg=null)Toast.makeText
38、(MainActivity.this,定位服務(wù)進(jìn)行中Toast.LENGTH_SHORT).show();elseToast.makeText(MainActivity.this,”我的位置:+address_msg,Toast.LENGTH_SHORT).show();break;case2:/單擊線路查詢圖標(biāo)intent=newIntent(MainActivity.this,生成Intent對(duì)象RoutePlanActivity.class);intent.putExtra(MyLocation,+address_msg);/將地址信息發(fā)給線19路查詢界面startActivity(in
39、tent);/popup.hidePop();break;);/初始化導(dǎo)航引擎BaiduNaviManager.getInstance().initEngine(this,getSdcardDir(),mNaviEngineInitListener,ACCESS_KEY,mKeyVerifyListener);privatevoidsetLocationOption()/設(shè)置相關(guān)參數(shù),設(shè)置條件LocationClientOptionoption=newLocationClientOption();option.setOpenGps(true);option.setLocationMode(Lo
40、cationMode.Device_Sensors);/定位模式option.setAddrType(all);option.setCoorType(bd09ll);option.setScanSpan(1000);option.disableCache(true);option.setPoiNumber(5);option.setPoiDistance(1000);/poi查詢距離option.setPoiExtraInfo(true);mLocationClient.setLocOption(option);privatevoidgetBMapView()mMapView=(MapView
41、)findViewById(R.id.bmapsView);mMapView.setBuiltInZoomControls(true);MapControllermMapController=mMapView.getController();/設(shè)置啟用內(nèi)置的縮放控件mMapController.setZoom(15);/設(shè)置地圖zoom級(jí)別findViewById(R.id.search).setOnClickListener(btnListener);findViewById(R.id.route).setOnClickListener(btnListener);findViewById(R
42、.id.nearby).setOnClickListener(btnListener);findViewById(R.id.navigation).setOnClickListener(btnListener);layer=(ImageButton)findViewById(R.id.maplayers);layer.setOnClickListener(btnListener);roadCondition=(ImageButton)findViewById(R.id.roadcondition);roadCondition.setOnClickListener(btnListener);20
43、6.2.2 實(shí)時(shí)路況界面這是百度地圖應(yīng)用系統(tǒng)的實(shí)時(shí)路況界面,能夠看到目前為止道路的狀況,綠色的線代表暢通。9萬(wàn)山樂(lè)心喜云擇愚惜楮網(wǎng)忖*-6.2.3 視角界面這是視圖模式界面,用戶可以使用三種方式查看地圖,衛(wèi)星圖,2D平面圖以及3D俯瞰圖。210158146.2.4 搜索界面這是百度地圖應(yīng)用系統(tǒng)的搜索界面,用戶能夠進(jìn)行搜索,包括:公交路線,KFC以及KTV,這樣的娛樂(lè)以及快餐的地方。22MyMap但1搜索公交線路KFCKTV這是KTV的界面,用戶能夠在地圖上表紅標(biāo)的地方進(jìn)行放大縮小。這是公交路線的界面,通過(guò)填寫(xiě)目的地城市以及公交車的路線,就能在地圖上進(jìn)行顯示,23還能看到公交車的具體路線,公交車
44、的首班車以及末班車時(shí)間。舅|MyMapI南京函攫索protectedvoidstartSearch()city=cityEt.getText().toString().trim();busno=busnoEt.getText().toString().trim();if(TextUtils.isEmpty(city)24city=address;)if(TextUtils.isEmpty(busno)Toast.makeText(BusLineSearchActivity.this,搜索內(nèi)容不能為空,Toast.LENGTH_SHORT).show();return;)intent=newIn
45、tent(BusLineSearchActivity.this,ShowBusLineResult.class);bundle.putString(ConstantUtil.KEY_CITY,city);bundle.putString(ConstantUtil.KEY_BUSNO,busno);intent.putExtras(bundle);startActivity(intent);)privatevoidparseBundle()intent=this.getIntent();bundle=intent.getExtras();address=bundle.getString(Cons
46、tantUtil.KEY_LOCATION);Log.d(TAG,地址:+address);address=address.substring(0,address.indexOf(市);Log.d(TAG,城市:+address);)6.2.5 路線界面這是路線的界面,用戶能夠選擇三種方式對(duì)路線進(jìn)行選擇,包括:駕車,公家以及步行。25以下是搜索的駕車路線。以下是搜索步行路線圖26步行方案:江蘇省南京市江寧區(qū)行知大遒_新山口時(shí)間656小時(shí),路程2a63公里privateRouteOverlayrouteOverlay;privateMKRouteroute=null;/保存駕車/步行路線數(shù)據(jù)的變量,供瀏覽節(jié)點(diǎn)時(shí)使用privateStringstartAddr=null;privateLocationClientclient;privateLocationOverlaymyOverlay;/我的位置覆蓋物privateLocationDatadata;/定位信息privatebooleanbmyLocal=true;/是否定
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 吉林省八年級(jí)數(shù)學(xué)下冊(cè)19矩形菱形與正方形19.1矩形19.1.1矩形的性質(zhì)聽(tīng)評(píng)課記錄1新版華東師大版
- 小學(xué)二年級(jí)數(shù)學(xué)口算競(jìng)賽試題
- 人教版地理七年級(jí)上冊(cè)《3.3降水的變化與分布》聽(tīng)課評(píng)課記錄
- 北師大版歷史八年級(jí)下冊(cè)第14課《各民族的團(tuán)結(jié)與發(fā)展》聽(tīng)課評(píng)課記錄
- 小學(xué)六年級(jí)數(shù)學(xué)下冊(cè)《面積的變化》聽(tīng)評(píng)課記錄
- 人教版七年級(jí)道德與法治七年級(jí)上冊(cè)聽(tīng)課評(píng)課記錄:第一單元成長(zhǎng)的節(jié)拍第三課 發(fā)現(xiàn)自己第一課時(shí)認(rèn)識(shí)自己
- 公司員工廉潔自律協(xié)議書(shū)范本
- 二零二五年度汽車修理廠汽車美容與維修一體化服務(wù)合同
- 二零二五年度網(wǎng)絡(luò)劇導(dǎo)演專項(xiàng)聘用合同
- 二零二五年度肉類產(chǎn)品食品安全監(jiān)管合同協(xié)議
- 腕踝針中醫(yī)技術(shù)
- 2024年二級(jí)建造師繼續(xù)教育考核題及答案
- 物流公司員工守則以及管理制度
- 2024人形機(jī)器人產(chǎn)業(yè)半年研究報(bào)告
- 【正當(dāng)防衛(wèi)的限度條件及司法認(rèn)定問(wèn)題淺析10000字(論文)】
- 市政管網(wǎng)工程投標(biāo)方案(技術(shù)方案)
- 購(gòu)買演唱會(huì)門票的合同模板
- 頂管工程施工及驗(yàn)收技術(shù)標(biāo)準(zhǔn)
- 【基于現(xiàn)金流的企業(yè)財(cái)務(wù)風(fēng)險(xiǎn)探究文獻(xiàn)綜述4100字】
- TD/T 1036-2013 土地復(fù)墾質(zhì)量控制標(biāo)準(zhǔn)(正式版)
- 安全警示教育的會(huì)議記錄內(nèi)容
評(píng)論
0/150
提交評(píng)論