華商紅利優(yōu)選靈活配置基金投資價(jià)值分析報(bào)告畢業(yè)設(shè)計(jì)說(shuō)明書(shū)_第1頁(yè)
華商紅利優(yōu)選靈活配置基金投資價(jià)值分析報(bào)告畢業(yè)設(shè)計(jì)說(shuō)明書(shū)_第2頁(yè)
華商紅利優(yōu)選靈活配置基金投資價(jià)值分析報(bào)告畢業(yè)設(shè)計(jì)說(shuō)明書(shū)_第3頁(yè)
華商紅利優(yōu)選靈活配置基金投資價(jià)值分析報(bào)告畢業(yè)設(shè)計(jì)說(shuō)明書(shū)_第4頁(yè)
華商紅利優(yōu)選靈活配置基金投資價(jià)值分析報(bào)告畢業(yè)設(shè)計(jì)說(shuō)明書(shū)_第5頁(yè)
已閱讀5頁(yè),還剩25頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

畢業(yè)設(shè)計(jì)說(shuō)明書(shū)題目:基于安卓的公交客戶端的設(shè)計(jì)與實(shí)現(xiàn)產(chǎn)品設(shè)計(jì)工藝設(shè)計(jì)方案設(shè)計(jì)√類(lèi)型:學(xué)生姓名:_______________________學(xué)號(hào):___________________學(xué)院:___________軟件學(xué)院_____________專(zhuān)業(yè):_____軟件技術(shù)(軟件開(kāi)發(fā)方向)___班級(jí):______________學(xué)校指導(dǎo)教師:________企業(yè)指導(dǎo)教師:_____________________2016年03 月15日摘要在信息快速發(fā)展的今天,人們的出行變得越來(lái)越密切,所以在出行的時(shí)候借助一些地圖類(lèi)的工具會(huì)特別的方便。畢竟在這個(gè)時(shí)代,幾乎人手一個(gè)手機(jī),于是就出現(xiàn)了各種各樣的出行類(lèi)的app。但是外面這個(gè)多種類(lèi)繁雜的app到底哪個(gè)好用呢?于是就出現(xiàn)了一款叫做伴你隨行的公交旅行軟件。它的主要功能是擁有實(shí)時(shí)定位功能,讓你不再擔(dān)心迷路。公交查詢(xún)功能可以讓你的出行不再是個(gè)難題,線路規(guī)劃功能讓你隨時(shí)隨地想去哪就去哪。還有一個(gè)比較實(shí)用性的功能就是周邊旅游功能。它可以通過(guò)服務(wù)器實(shí)時(shí)獲取最新的周邊信息,讓你的生活充滿了無(wú)限的樂(lè)趣。該系統(tǒng)是基于Android平臺(tái)的設(shè)計(jì),其主要功能公交查詢(xún)實(shí)時(shí)地圖等是通過(guò)調(diào)用第三方API來(lái)實(shí)現(xiàn)的,使用第三方API的好處是第三方平臺(tái)都已經(jīng)將其方法分裝好了,用戶只需直接調(diào)用,然后進(jìn)行一些自己想要的操作與實(shí)現(xiàn)的功能就可以了。本次開(kāi)發(fā)使用的工具是AndroidStudio,JAVAJDK。服務(wù)器采用第三方框架Bmob,使用Bmob的一大好處就是它已經(jīng)將網(wǎng)絡(luò)請(qǐng)求全部封裝好了,用戶只需要直接調(diào)用方法即可得到你想要的數(shù)據(jù),這樣極大地提高了開(kāi)發(fā)的效率,讓開(kāi)發(fā)人員節(jié)省了大量的時(shí)間和代碼量。關(guān)鍵詞:公交;地圖;旅游;安卓

目錄1.緒論 .緒論1.1系統(tǒng)開(kāi)發(fā)與背景來(lái)到一個(gè)陌生的城市,如果想去一個(gè)地方,可以乘坐出租車(chē)但是價(jià)格相對(duì)較貴,最省錢(qián)的辦法應(yīng)該是坐公交車(chē),當(dāng)然你說(shuō)是走路最省錢(qián)的話我無(wú)話可說(shuō)。但是對(duì)于一個(gè)陌生的城市我們并不了解,那么怎么才能查詢(xún)公交車(chē)信息呢?所以隨著移動(dòng)應(yīng)用的飛速發(fā)展,掌上app成為了人們喜愛(ài)的一種方式。所以作為軟件開(kāi)發(fā)方面的學(xué)子,有必要為城市的公共交通做出一份貢獻(xiàn)。1.2社會(huì)現(xiàn)狀城市公共交通是與人民群眾生產(chǎn)生活息息相關(guān)的重要基礎(chǔ)設(shè)施。改革開(kāi)放以來(lái),我國(guó)城市公共交通有了較快發(fā)展,但隨著經(jīng)濟(jì)社會(huì)發(fā)展和城鎮(zhèn)化進(jìn)程的加快,一些城市交通擁堵、群眾出行不便等問(wèn)題日益突出,嚴(yán)重影響了城市發(fā)展和人民群眾生活水平的提高。優(yōu)先發(fā)展城市公共交通是提高交通資源利用效率,緩解交通擁堵的重要手段。為解決好城市交通問(wèn)題,促進(jìn)城市健康發(fā)展,現(xiàn)就優(yōu)先發(fā)展城市公共交通提出以下意見(jiàn):一、進(jìn)一步提高認(rèn)識(shí)我國(guó)土地資源稀缺,城市人口密集,群眾收入水平總體還不高,優(yōu)先發(fā)展公共交通符合城市發(fā)展和交通發(fā)展的實(shí)際,是貫徹落實(shí)科學(xué)發(fā)展觀和建設(shè)節(jié)約型社會(huì)的重要舉措。各地區(qū)和有關(guān)部門(mén)要進(jìn)一步提高認(rèn)識(shí),確立公共交通在城市交通中的優(yōu)先地位,明確指導(dǎo)思想和目標(biāo)任務(wù),采取有力措施,加快發(fā)展步伐。要通過(guò)科學(xué)規(guī)劃和建設(shè),提高線網(wǎng)密度和站點(diǎn)覆蓋率,優(yōu)化運(yùn)營(yíng)結(jié)構(gòu),形成干支協(xié)調(diào)、結(jié)構(gòu)合理、高效快捷并與城市規(guī)模、人口和經(jīng)濟(jì)發(fā)展相適應(yīng)的公共交通系統(tǒng)。要進(jìn)一步放開(kāi)搞活公共交通行業(yè),完善支持政策,提高運(yùn)營(yíng)質(zhì)量和效率,為群眾提供安全可靠、方便周到、經(jīng)濟(jì)舒適的公共交通服務(wù)。要充分發(fā)揮公共交通運(yùn)量大、價(jià)格低廉的優(yōu)勢(shì),引導(dǎo)群眾選擇公共交通作為主要出行方式。二、充分發(fā)揮規(guī)劃調(diào)控作用(一)科學(xué)編制公共交通規(guī)劃。交通規(guī)劃是城市總體規(guī)劃的重要組成部分。城市人民政府要在對(duì)交通現(xiàn)狀、需求和發(fā)展前景進(jìn)行充分調(diào)查研究的基礎(chǔ)上,以公共交通為核心,通過(guò)編制實(shí)施城市綜合交通體系規(guī)劃、公共交通專(zhuān)項(xiàng)規(guī)劃和軌道交通建設(shè)規(guī)劃,科學(xué)配置和利用交通資源,建立以公共交通為導(dǎo)向的城市發(fā)展和土地配置模式。城市交通規(guī)劃要與城市總體布局和人口產(chǎn)業(yè)分布相協(xié)調(diào),確定發(fā)展戰(zhàn)略目標(biāo)、任務(wù)、有關(guān)技術(shù)和經(jīng)濟(jì)政策;綜合考慮各種交通方式、換乘樞紐配置,以及與對(duì)外交通的銜接,重點(diǎn)確定公共交通結(jié)構(gòu)、線網(wǎng)分布、場(chǎng)站布局、用地規(guī)模、建設(shè)計(jì)劃等。(二)保障規(guī)劃的編制和組織實(shí)施。城市人民政府要大力支持公共交通規(guī)劃編制工作,將規(guī)劃編制所需經(jīng)費(fèi)納入財(cái)政預(yù)算,確保編制任務(wù)的完成。要保持規(guī)劃的嚴(yán)肅性和穩(wěn)定性,保障規(guī)劃的組織實(shí)施。采取有力措施,切實(shí)防止和糾正違反規(guī)劃、侵占公共交通基礎(chǔ)設(shè)施及其建設(shè)用地的行為,保證優(yōu)先發(fā)展公共交通的需要。(三)建立健全法律法規(guī)和標(biāo)準(zhǔn)體系。要從實(shí)際出發(fā),借鑒國(guó)內(nèi)外優(yōu)先發(fā)展公共交通的成功經(jīng)驗(yàn),從規(guī)劃、建設(shè)、管理等方面,加快建立確保公共交通優(yōu)先發(fā)展的法律法規(guī)體系。要健全場(chǎng)站建設(shè)、車(chē)輛配備與更新、設(shè)施裝備、服務(wù)質(zhì)量等方面的技術(shù)標(biāo)準(zhǔn)體系。進(jìn)一步強(qiáng)化法律法規(guī)和標(biāo)準(zhǔn)的指導(dǎo)作用,促進(jìn)城市公共交通健康有序發(fā)展。1.3研究的內(nèi)容公交查詢(xún)系統(tǒng)是一款通過(guò)第三方地圖SDK獲取地圖信息的最新的移動(dòng)應(yīng)用,本研究的目的在于為廣大出行的市民和旅客朋友提供便利的交通,還能為外出游玩的游客推薦一些好玩的值得去的景點(diǎn),也能達(dá)到某種商業(yè)目的。研究的主要內(nèi)容包括以下幾個(gè)方面:安卓開(kāi)發(fā)包括安卓的UI開(kāi)發(fā)、移動(dòng)端對(duì)于服務(wù)端的訪問(wèn)。百度地圖API開(kāi)發(fā)百度地圖SDK的調(diào)用、地圖功能的實(shí)現(xiàn)、路線規(guī)劃、公交查詢(xún)等方面。(3)BmobAPI開(kāi)發(fā)BmobSDK的使用、客戶端與Bmob的通訊、添加數(shù)據(jù)到Bmob服務(wù)器、從Bmob服務(wù)器獲取數(shù)據(jù)。1.4文章的組織結(jié)構(gòu)文章的組成結(jié)構(gòu)安排如下:第一章緒論介紹了系統(tǒng)開(kāi)發(fā)的背景與意義,對(duì)文章的研究?jī)?nèi)容和組織進(jìn)行了闡述。第二章主要討論了系統(tǒng)的需求以及與實(shí)現(xiàn)相關(guān)的關(guān)鍵技術(shù)。第三章詳細(xì)說(shuō)明了系統(tǒng)的業(yè)務(wù)建模與設(shè)計(jì)。對(duì)系統(tǒng)的用戶角色以及功能需求進(jìn)行了詳細(xì)的介紹。2.系統(tǒng)需求分析與關(guān)鍵技術(shù)隨著智能手機(jī)和3G、4G網(wǎng)絡(luò)的普及,基于移動(dòng)端的公交查詢(xún)系統(tǒng)具備了非常完備的運(yùn)行平臺(tái)。從經(jīng)濟(jì)、技術(shù)以及運(yùn)營(yíng)方面來(lái)分析,該系統(tǒng)開(kāi)發(fā)成本低廉,容易實(shí)現(xiàn)。另外,本系統(tǒng)服務(wù)于各個(gè)城市的市民、全國(guó)各地旅游的游客,核心功能包括公交查詢(xún)、線路規(guī)劃等實(shí)用性功能。2.1可行性分析2.1.1經(jīng)濟(jì)可行性開(kāi)發(fā)該系統(tǒng)所需的相關(guān)資料可以通過(guò)已存在的相關(guān)系統(tǒng)進(jìn)行調(diào)查和采集,所需的軟件系統(tǒng)和硬件平臺(tái)都易于獲取,開(kāi)發(fā)成本很低,容易實(shí)現(xiàn),從經(jīng)濟(jì)角度來(lái)考慮,是可以正常運(yùn)行的。2.1.2技術(shù)可行性技術(shù)可行性主要考慮到現(xiàn)有的技術(shù)是否能夠順利的完成開(kāi)發(fā)工作,軟件與硬件設(shè)施是否滿足開(kāi)發(fā)需求。本系統(tǒng)采用的J2EE開(kāi)發(fā)體系、AndroidSDK以及百度地圖SDK還有Bmob后端云都是開(kāi)源體系??梢詮木W(wǎng)上下載相關(guān)內(nèi)容,易于獲得,并且網(wǎng)上有大量的案例、開(kāi)發(fā)文檔和參考資料。當(dāng)前的計(jì)算機(jī)硬件配置也完全滿足開(kāi)發(fā)的需求,因此技術(shù)上是絕對(duì)可行的。2.1.3運(yùn)營(yíng)可行性本系統(tǒng)是全方位解決市民出行方面的問(wèn)題。例如:公交查詢(xún)、線路規(guī)劃、周邊旅游等一系列出行問(wèn)題的移動(dòng)應(yīng)用軟件,非常具有實(shí)用價(jià)值。隨著“綠色出行、低碳生活”理念的深入人心,未來(lái)市民們出行的選擇會(huì)更多的偏向于公共交通,采用低碳環(huán)保的出行方式,例如公交車(chē)、地鐵等交通工具。一旦用戶量上來(lái),附著在移動(dòng)應(yīng)用上的廣告推送費(fèi)用是非??捎^的。2.2功能分析2.2.1客戶端功能客戶端主要面向的是用戶,主要完成實(shí)時(shí)地圖定位、公交查詢(xún)、線路規(guī)劃等操作。還可以進(jìn)行登錄操作,這樣就可以獲取用戶信息,進(jìn)行其他的操作。實(shí)時(shí)地圖定位用戶可以在主界面通過(guò)點(diǎn)擊進(jìn)入實(shí)時(shí)地圖定位界面,用戶可以通過(guò)點(diǎn)擊頁(yè)面上的三個(gè)按鈕進(jìn)行不同的操作。分別是定位到當(dāng)前位置、顯示交通狀況、切換圖層顯示。圖層顯示分為平面圖和衛(wèi)星圖,可以滿足不同用戶的不同需求。公交查詢(xún)同樣通過(guò)主界面點(diǎn)擊進(jìn)入公交查詢(xún)頁(yè)面,用戶通過(guò)輸入城市和公交車(chē)名字來(lái)獲取該趟車(chē)的站點(diǎn)信息,早晚班時(shí)間等相關(guān)信息。給用戶提供了便捷的服務(wù)同時(shí)還考慮了用戶的體驗(yàn)感。線路規(guī)劃線路規(guī)劃界面也是采用主界面點(diǎn)擊事件來(lái)進(jìn)行跳轉(zhuǎn)的,用戶通過(guò)輸入目的地來(lái)進(jìn)行搜索,查詢(xún)結(jié)果包括駕車(chē)、步行和騎行三種方式,基本上涵蓋了所有用戶的需求。2.2.2服務(wù)端功能該系統(tǒng)的服務(wù)端是使用的目前比較流行的Bmob后端云來(lái)實(shí)現(xiàn)的。使用Bmob后端云技術(shù)的主要優(yōu)勢(shì)是簡(jiǎn)單方便,開(kāi)發(fā)人員只需要下載相應(yīng)的SDK導(dǎo)入jar包到工程中即可使用。具體操作是Bmob后端云會(huì)根據(jù)開(kāi)發(fā)人員創(chuàng)建的java對(duì)象來(lái)自動(dòng)創(chuàng)建數(shù)據(jù)庫(kù)表,然后利用對(duì)象進(jìn)行數(shù)據(jù)的增刪改查操作,方便快捷。開(kāi)發(fā)人員進(jìn)行數(shù)據(jù)的管理可以登錄Bmob后端云的網(wǎng)站通過(guò)登陸之后進(jìn)入相應(yīng)的頁(yè)面進(jìn)行數(shù)據(jù)的操作,使用起來(lái)非常的方便快捷。2.3關(guān)鍵技術(shù)2.3.1百度地圖API百度地圖API是為開(kāi)發(fā)者免費(fèi)提供的一套基于百度地圖的應(yīng)用接口,包括JavaScriptAPI、Web服務(wù)API、AndroidSDK、iosSDK、定位SDK等多種開(kāi)發(fā)工具與服務(wù),提供基本地圖展現(xiàn)、搜索、定位、路線規(guī)劃、LBS云儲(chǔ)存與檢索等功能。開(kāi)發(fā)人員只需注冊(cè)百度賬號(hào),通過(guò)開(kāi)發(fā)者認(rèn)證之后,創(chuàng)建一個(gè)項(xiàng)目獲取百度地圖的key即可。百度地圖API適用于PC端、移動(dòng)端、服務(wù)端等多種設(shè)備,多種操作系統(tǒng)。百度移動(dòng)版地圖SDK,分為Android版與Symbian版,為移動(dòng)設(shè)備地圖應(yīng)用開(kāi)發(fā)提供基本地圖、本地搜索、路線規(guī)劃、定位等服務(wù)。若用戶使用該套SDK,也需要先申請(qǐng)key。百度地圖定位SDK,與百度移動(dòng)版地圖SDK相比,是以更小的體積提供給開(kāi)發(fā)者,幫助開(kāi)發(fā)者完成位置信息獲取與應(yīng)用開(kāi)發(fā)的工具。百度地圖目前提供Android和Symbian版本,且開(kāi)發(fā)者是不需要申請(qǐng)key就可使用。百度地圖車(chē)聯(lián)網(wǎng)API,是百度地圖于2012年6月推出的,為車(chē)聯(lián)網(wǎng)行業(yè)定制的一套API。提供地圖顯示、地址解析、位置描述、本地搜索、周邊搜索、駕車(chē)路徑規(guī)劃、信息發(fā)送、天氣、交通事件等多種服務(wù)。百度地圖LBS云,是百度地圖2012年8月底新推出的,也是在百度世界大會(huì)2012為開(kāi)發(fā)者提供的”七大武器“之一,即百度地圖針對(duì)LBS開(kāi)發(fā)者全新推出的服務(wù),借助百度云服務(wù)與云計(jì)算,通過(guò)地圖API,實(shí)現(xiàn)用戶的海量位置數(shù)據(jù)云存儲(chǔ),同時(shí),也可實(shí)現(xiàn)快速云檢索。LBS·云將位置數(shù)據(jù)存儲(chǔ)、空間檢索、地圖展現(xiàn)等任務(wù)一站式托管在百度云端,為開(kāi)發(fā)者降低開(kāi)發(fā)成本,有利于開(kāi)發(fā)者提高開(kāi)發(fā)效率。2.3.2BmobSDK對(duì)于很多Android/ios/wp個(gè)人移動(dòng)開(kāi)發(fā)者來(lái)說(shuō),開(kāi)發(fā)一個(gè)具有網(wǎng)絡(luò)功能的應(yīng)用不是一件容易的事,不僅需要購(gòu)買(mǎi)/租賃服務(wù)器,還必須掌握一門(mén)諸如Java/.net/php這類(lèi)的服務(wù)器開(kāi)發(fā)語(yǔ)言,每開(kāi)發(fā)一款移動(dòng)應(yīng)用程序,就必須開(kāi)發(fā)維護(hù)對(duì)應(yīng)的服務(wù)器程序。這一切對(duì)于移動(dòng)開(kāi)發(fā)者來(lái)說(shuō),都是一個(gè)冗長(zhǎng)的噩夢(mèng)。如何讓移動(dòng)開(kāi)發(fā)者從繁瑣的機(jī)械勞動(dòng)中解脫出來(lái),將更多精力投入到移動(dòng)應(yīng)用程序的創(chuàng)意研發(fā),從而不斷提升產(chǎn)品質(zhì)量呢?Bmob移動(dòng)應(yīng)用云儲(chǔ)存平臺(tái)的誕生就很好地解決了以上難題。在Bmob平臺(tái)上,只需注冊(cè)一個(gè)帳號(hào),成功后申請(qǐng)創(chuàng)建任意多個(gè)數(shù)據(jù)庫(kù),獲得對(duì)應(yīng)的Key,下載對(duì)應(yīng)版本的SDK并將其嵌入到移動(dòng)應(yīng)用中,便可以調(diào)用存取API,進(jìn)行數(shù)據(jù)的任意操作。有了Bmob,您在5分鐘內(nèi)就可以學(xué)會(huì)如何開(kāi)發(fā)一個(gè)云存儲(chǔ)的移動(dòng)應(yīng)用軟件,給應(yīng)用軟件快速添加一個(gè)安全靈活的后臺(tái)管理系統(tǒng),方便您瀏覽終端保存的各種信息。2.3.3AndroidSDKAndroid是谷歌(Google)公司推出的手機(jī)開(kāi)發(fā)平臺(tái)。與iPhone相似,Android采用WebKit瀏覽器引擎,具備觸摸屏、高級(jí)圖形顯示和上網(wǎng)功能,用戶能夠在手機(jī)上查看電子郵件、搜索網(wǎng)址和觀看視頻節(jié)目等,比iPhone等其他手機(jī)更強(qiáng)調(diào)搜索功能,界面更強(qiáng)大,可以說(shuō)是一種融入全部Web應(yīng)用的單一平臺(tái)。SDK:(SoftwareDevelopmentKit)軟件開(kāi)發(fā)工具包一般都是一些軟件工程師為特定的軟件包、軟件框架、硬件平臺(tái)、操作系統(tǒng)等建立應(yīng)用軟件時(shí)的開(kāi)發(fā)工具的集合。安卓系統(tǒng)其吸引力之處在于它的卡放心和服務(wù)免費(fèi)性。Android對(duì)第三方軟件完全開(kāi)放,這樣使得開(kāi)發(fā)者在開(kāi)發(fā)程序時(shí)擁有更大的自由度,同事與其他廠商不同。1.安裝下載好AndroidSDK后,開(kāi)始安裝,AndroidSDK采用了Java語(yǔ)言,所以需要先安裝JDK5.0及以上版本。直接下載jdk安裝文件安裝更為方便。AndroidSDK不用安裝,下載后,直接解壓即可,將下載后的SDK的壓縮包解壓到適當(dāng)?shù)奈恢?,就這么簡(jiǎn)單;SDK安裝OK。使用Eclipse進(jìn)行android應(yīng)用開(kāi)發(fā)需要給Eclipse裝adt插件,這樣Eclipse就可以和androidsdk建立連接,可以在Eclipse中啟動(dòng)android模擬器進(jìn)行程序調(diào)試等ADT插件安裝這里不再累贅,插件的安裝URL為:也可以下載adt的zip包安裝安裝完插件后,需要做一些簡(jiǎn)單的配置:(1)在Eclipse中,選擇Window>Preference;(2)從左側(cè)的菜單中,選擇Android項(xiàng);(3)設(shè)置SDKLocation,點(diǎn)Browse選擇SDK的安裝根目錄;(4)OK,完成。2.發(fā)展情況Android項(xiàng)目目前正在從手機(jī)運(yùn)營(yíng)商、手機(jī)廠商、開(kāi)發(fā)者和消費(fèi)者那里獲得大力支持。谷歌移動(dòng)平臺(tái)主管安迪·魯賓(AndyRubin)表示,與軟件開(kāi)發(fā)合作伙伴的密切接觸正在進(jìn)行中。從2007年11月開(kāi)始,谷歌開(kāi)始向服務(wù)提供商、芯片廠商和手機(jī)銷(xiāo)售商提供Android平臺(tái),并組建“開(kāi)放手機(jī)聯(lián)盟”,其成員超過(guò)30家。2014年3月10日早間消息,谷歌(1214.79,-4.82,-0.40%)Android、應(yīng)用和Chrome高級(jí)副總裁桑達(dá)爾·皮采(SundarPichai)上周六在SXSW互動(dòng)大會(huì)上宣布,該公司很快就將推出針對(duì)可穿戴設(shè)備設(shè)計(jì)的AndroidSDK(軟件開(kāi)發(fā)套件)。谷歌將在SDK中向開(kāi)發(fā)者闡述谷歌對(duì)該市場(chǎng)運(yùn)作方式的愿景。從拉斯維加斯國(guó)際消費(fèi)電子展(CES)到巴塞羅那移動(dòng)世界大會(huì)(MWC),可穿戴設(shè)備一直都是今年各大科技盛會(huì)的重要主題??纱┐髟O(shè)備中那些體積小巧、性能強(qiáng)大的芯片將給Android帶來(lái)巨大提升,他對(duì)這一前景頗感振奮。這一新的SDK不僅是針對(duì)智能手表的。谷歌的職責(zé)是為開(kāi)發(fā)者提供系統(tǒng)軟件和API(應(yīng)用編程接口),而具體針對(duì)哪種產(chǎn)品進(jìn)行開(kāi)發(fā),則取決于開(kāi)發(fā)者和合作伙伴。3.業(yè)務(wù)建模與設(shè)計(jì)本系統(tǒng)包括兩個(gè)部分,面向用戶的Android移動(dòng)端,提供公交查詢(xún)、實(shí)時(shí)定位、線路規(guī)劃等功能;還有就是服務(wù)器端,本系統(tǒng)采用的是Bmob后端云技術(shù)作為后臺(tái)數(shù)據(jù)的提供,給客戶端提供數(shù)據(jù)的添加的查詢(xún)。3.1系統(tǒng)整體設(shè)計(jì)系統(tǒng)采用J2EE開(kāi)發(fā)體系、百度地圖服務(wù)、Bmob后端云服務(wù)、主流移動(dòng)端操作系統(tǒng)Android軟件開(kāi)發(fā)技術(shù),充分考慮與其他信息系統(tǒng)的開(kāi)放互聯(lián)、多源數(shù)據(jù)接口、數(shù)據(jù)之間的關(guān)聯(lián)以及網(wǎng)絡(luò)環(huán)境的開(kāi)放性基礎(chǔ)上,繼承地圖SDK查詢(xún)功能和路徑規(guī)劃等相關(guān)功能。系統(tǒng)主要是Android客戶端來(lái)實(shí)現(xiàn)所有的操作,給用戶提供了公交查詢(xún)、線路規(guī)劃、周邊旅游推薦等功能。主要面向的是用戶,用戶無(wú)需登錄即可進(jìn)行查詢(xún)操作,也可以選擇登陸添加個(gè)人信息。Android客戶端采用J2EE平臺(tái),使用Bmob后端云技術(shù)進(jìn)行數(shù)據(jù)的儲(chǔ)存與讀取,同時(shí)作為后臺(tái)服務(wù)器管理用戶數(shù)據(jù)。只要使用AndroidSDK開(kāi)發(fā)平臺(tái)以及百度地圖API和Bmob后端云技術(shù)。3.2業(yè)務(wù)用例建模業(yè)務(wù)建模(BusinessModeling)是以軟件模型方式描述企業(yè)管理和業(yè)務(wù)所涉及的對(duì)象和要素、以及它們的屬性、行為和彼此關(guān)系,業(yè)務(wù)建模強(qiáng)調(diào)以體系的方式來(lái)理解、設(shè)計(jì)和構(gòu)架企業(yè)信息系統(tǒng)。3.2.1角色分析本系統(tǒng)中所涉及的角色主要是用戶,即使用該系統(tǒng)的人,他們可以利用移動(dòng)客戶端進(jìn)行公交系統(tǒng)查詢(xún)、線路規(guī)劃服務(wù)、實(shí)時(shí)定位功能和周邊旅游服務(wù)。3.2.2客戶端用例分析客戶端主要具有的功能有公交查詢(xún),實(shí)時(shí)地圖,路徑規(guī)劃,周邊旅游和登錄注冊(cè)功能,具體用例如圖3.1所示。

圖3.1客戶端用例分析圖3.3業(yè)務(wù)流程建模3.3.1周邊旅游信息更新周邊旅游服務(wù)是根據(jù)你不同的地理位置向用戶實(shí)時(shí)推送一些附近的值得去的地方。用戶需要手動(dòng)修改自己所處的城市位置來(lái)更新顯示列表。因?yàn)槊看味既シ?wù)器獲取數(shù)據(jù)的話,對(duì)于內(nèi)存的消耗是很大的,服務(wù)器的壓力也會(huì)隨之變大。其更新的互動(dòng)見(jiàn)圖3.2所示。圖3.2周邊旅游用例分析圖3.3.2地圖功能查詢(xún)地圖功能的查詢(xún)需要打開(kāi)GPS進(jìn)行精準(zhǔn)的獲取當(dāng)前位置。地圖的查詢(xún)是通過(guò)請(qǐng)求百度地圖的服務(wù)器返回?cái)?shù)據(jù)顯示。詳情見(jiàn)圖3.3所示。圖3.3地圖查詢(xún)功能用例分析圖3.4系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)基于安卓的公交查詢(xún)系統(tǒng)主要是通過(guò)調(diào)用第三方API進(jìn)行數(shù)據(jù)的查詢(xún),所以該功能不需要實(shí)現(xiàn)數(shù)據(jù)庫(kù)的創(chuàng)建,但是在周邊旅游功能中的數(shù)據(jù)來(lái)自于服務(wù)器。為了減輕服務(wù)端的壓力,我們會(huì)將用戶上一次訪問(wèn)的數(shù)據(jù)進(jìn)行緩存到本地,采用SQLite本地?cái)?shù)據(jù)庫(kù)來(lái)緩存。這樣用戶在新打開(kāi)程序的情況下不至于每次都采用網(wǎng)絡(luò)請(qǐng)求,還有在用戶在網(wǎng)絡(luò)連接異常的時(shí)候可以顯示上一次的數(shù)據(jù)。3.4.1SQLite本地?cái)?shù)據(jù)庫(kù)緩存的創(chuàng)建以下列出周邊旅游表的數(shù)據(jù)庫(kù)創(chuàng)建代碼。createtabletravel( travel_titlevarchar(40), travel_contentvarchar(200), travel_authorvarchar(20), travel_datedate, travel_picvarchar(100),--存儲(chǔ)圖片路徑 travel_content_picvarchar(100)--存儲(chǔ)圖片路徑)以下列出公告信息表的數(shù)據(jù)庫(kù)創(chuàng)建代碼。createtablenotice( notic_titlevarchar(40), notic_contentvarchar(200), notic_authorvarchar(20), notic_datedate, notic_picvarchar(100),--存儲(chǔ)圖片路徑 notic_content_picvarchar(100)--存儲(chǔ)圖片路徑)4.系統(tǒng)實(shí)現(xiàn)及應(yīng)用4.1客戶端4.1.1客戶端主要功能Android客戶端中的實(shí)時(shí)地圖功能,用戶可以通過(guò)右上方的三個(gè)按鈕來(lái)進(jìn)行相應(yīng)的操作,從上到下分別為:實(shí)時(shí)定位、切換衛(wèi)星/平面圖和顯示或關(guān)閉交通狀況。具體情況如圖4.1所示。圖4.1實(shí)時(shí)地圖功能圖Android客戶端中的公交查詢(xún)功能的具體操作是在屏幕上方第一個(gè)輸入框輸入城市名,第二個(gè)輸入框輸入相應(yīng)的公交路線點(diǎn)擊查詢(xún)按鈕即可在地圖上顯示相應(yīng)的具體的公交線路圖,用戶還可以點(diǎn)擊線路按鈕跳轉(zhuǎn)頁(yè)面查看該路公交車(chē)所有的站點(diǎn)名稱(chēng),詳情如圖4.2所示。圖4.2公交查詢(xún)功能圖Android客戶端中的地圖線路規(guī)劃功能:用戶通過(guò)在屏幕上方的三個(gè)輸入框內(nèi)分別輸入城市名、起點(diǎn)名和終點(diǎn)名即可。然后在輸入框下方四個(gè)按鈕選擇需要的路徑規(guī)劃類(lèi)型即可顯示對(duì)應(yīng)的線路詳情,具體操作顯示如圖4.3所示。圖4.3線路規(guī)劃功能截圖4.1.2調(diào)用百度地圖SDK主要代碼通過(guò)調(diào)用第三方百度地圖SDK來(lái)顯示地圖和進(jìn)行相應(yīng)的地圖操作。主要是通過(guò)清單文件注冊(cè)添加百度地圖開(kāi)發(fā)平臺(tái)提供的key來(lái)進(jìn)行驗(yàn)證,代碼如下:<meta-data

android:name="com.baidu.lbsapi.API_KEY"

android:value="UWb4dz9lC8rIaSiG8Ii0tslUh5qKgfQB"/>開(kāi)啟定位服務(wù)通過(guò)在清單文件中添加服務(wù)來(lái)實(shí)現(xiàn),代碼如下:<service

android:name="com.baidu.location.f"

android:enabled="true"

android:process=":remote">

</service>下面是實(shí)時(shí)地圖界面的代碼:publicclassMapActivityextendsAppCompatActivity{

BaiduMapbaiduMap;

MapViewmapView;

MyViewmv;

ImageViewshow,close;

//定位

privateLocationClientlocationClient=null;

privatestaticfinalintUPDATE_TIME=5000;

//privatestaticintLOCATION_COUTNS=0;

privatedoublelat;

privatedoublelng;

@Override

protectedvoidonCreate(BundlesavedInstanceState){

super.onCreate(savedInstanceState);

SDKInitializer.initialize(getApplicationContext());//初始化

setContentView(R.layout.activity_map);

//初始化iamgeView組件

show=(ImageView)findViewById(R.id.show);

close=(ImageView)findViewById(R.id.close);

//自定義actionBar

mv=(MyView)findViewById(R.id.mv);

mv.setTitle("實(shí)時(shí)地圖");

mv.isHiddenEdit(true);

mv.setBackListener(newView.OnClickListener(){

@Override

publicvoidonClick(Viewv){

MapActivity.this.finish();

}

});

//得到地圖

mapView=(MapView)findViewById(R.id.mapView);

baiduMap=mapView.getMap();//得到地圖對(duì)象

baiduMap.setMapType(BaiduMap.MAP_TYPE_NORMAL);//平面圖

//定位

locationClient=newLocationClient(this);

//設(shè)置定位條件

LocationClientOptionoption=newLocationClientOption();

option.setOpenGps(true);//是否打開(kāi)GPS

option.setCoorType("gcj02");//設(shè)置返回值的坐標(biāo)類(lèi)型。

option.setPriority(LocationClientOption.NetWorkFirst);//設(shè)置定位優(yōu)先級(jí)

option.setProdName("Bus");//設(shè)置產(chǎn)品線名稱(chēng)。強(qiáng)烈建議您使用自定義的產(chǎn)品線名稱(chēng),方便我們以后為您提供更高效準(zhǔn)確的定位服務(wù)。

option.setScanSpan(UPDATE_TIME);//設(shè)置定時(shí)定位的時(shí)間間隔。單位毫秒

locationClient.setLocOption(option);

//注冊(cè)位置監(jiān)聽(tīng)器

locationClient.registerLocationListener(newBDLocationListener(){

@Override

publicvoidonReceiveLocation(BDLocationlocation){

//TODOAuto-generatedmethodstub

if(location==null){

return;

}

lat=location.getLatitude();

lng=location.getLongitude();

System.out.println(lat+"、"+lng);

}

});

}

publicvoidloc(Viewview){

//定位到當(dāng)前位置

if(locationClient==null){

return;

}

if(locationClient.isStarted()){

locationClient.stop();

}else{

locationClient.start();

baiduMap.setMyLocationEnabled(true);//開(kāi)啟定位

MyLocationDatalocationData=newMyLocationData.Builder()

.latitude(30.770069)

.longitude(114.210569)

.build();

baiduMap.setMyLocationData(locationData);

baiduMap.setMyLocationConfigeration(

newMyLocationConfiguration(

MyLocationConfiguration.LocationMode.FOLLOWING,true,null));

MapStatusUpdatemsu1=MapStatusUpdateFactory.zoomTo(17);

baiduMap.setMapStatus(msu1);//設(shè)置地圖等級(jí)為15級(jí)

LatLnglal=newLatLng(30.770069,114.210569);

MapStatusUpdatemsu2=MapStatusUpdateFactory.newLatLng(lal);

baiduMap.animateMapStatus(msu2);//動(dòng)畫(huà)效果

locationClient.requestLocation();

}

}

publicvoidchange(Viewview){

//更換顯示模式

if(baiduMap.getMapType()==BaiduMap.MAP_TYPE_NORMAL){

baiduMap.setMapType(BaiduMap.MAP_TYPE_SATELLITE);//設(shè)置為衛(wèi)星圖

}elseif(baiduMap.getMapType()==BaiduMap.MAP_TYPE_SATELLITE){

baiduMap.setMapType(BaiduMap.MAP_TYPE_NORMAL);

}

}

publicvoidshow_traffic(Viewview){

//顯示交通狀況

baiduMap.setTrafficEnabled(true);//顯示交通狀況

show.setVisibility(View.INVISIBLE);

close.setVisibility(View.VISIBLE);

}

publicvoidclose_traffic(Viewview){

//顯示交通狀況

baiduMap.setTrafficEnabled(false);//顯示交通狀況

close.setVisibility(View.INVISIBLE);

show.setVisibility(View.VISIBLE);

}

@Override

protectedvoidonResume(){

super.onResume();

mapView.onResume();

}

@Override

protectedvoidonDestroy(){

super.onDestroy();

if(locationClient!=null&&locationClient.isStarted()){

locationClient.stop();

locationClient=null;

}

}

}4.1.3通過(guò)類(lèi)管理器來(lái)實(shí)現(xiàn)雙擊返回鍵退出整個(gè)程序?qū)⒎椒ǚ庋b好了之后,只需在每個(gè)activity中調(diào)用ActivityManager.getInstance().addActivity();方法即可,然后在退出程序界面調(diào)用ActivityManager.getInstance().exit();即可實(shí)現(xiàn)該功能。具體代碼如下:publicclassActivityManager{

privateList<Activity>activityList=newLinkedList<Activity>();

privatestaticActivityManagerinstance;

publicActivityManager(){

//

}

//單例模式中獲取唯一的MyApplication實(shí)例

publicstaticActivityManagergetInstance(){

if(null==instance){

instance=newActivityManager();

}

returninstance;

}

//將activity添加到容器

publicvoidaddActivity(Activityactivity){

activityList.add(activity);

}

//遍歷所有activity并finish

publicvoidexit(){

for(Activityactivity:activityList){

activity.finish();

}

System.exit(0);

}

}4.2服務(wù)端為了降低開(kāi)發(fā)成本,本系統(tǒng)采用第三方Bmob作為服務(wù)器來(lái)作為數(shù)據(jù)的提供源,使用起來(lái)簡(jiǎn)單方便、快捷高效,不用考慮服務(wù)器的成本。4.2.1調(diào)用第三方BmobAPI使用BmobAPI作為服務(wù)器主要是通過(guò)導(dǎo)入jar包到工程,然后調(diào)用其方法進(jìn)行數(shù)據(jù)的增刪改查即可。具體操作代碼如下:publicclassRimTravelActivityextendsActivity{

MyViewmv;

ListViewlv_travel;

TravelAdapteradapter;

ArrayList<HashMap<String,Object>>datas;

@Override

protectedvoidonCreate(BundlesavedInstanceState){

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_travel);

mv=(MyView)findViewById(R.id.mv);

mv.setTitle("周邊旅游");

mv.isHiddenEdit(true);

View.OnClickListenerlistener=newView.OnClickListener(){

@Override

publicvoidonClick(Viewv){

RimTravelActivity.this.finish();

}

};

mv.setBackListener(listener);

datas=newArrayList<>();

initDatas();

lv_travel=(ListView)findViewById(R.id.lv_travel);

adapter=newTravelAdapter(this,datas);

lv_travel.setAdapter(adapter);

lv_travel.setOnItemClickListener(newAdapterView.OnItemClickListener(){

@Override

publicvoidonItemClick(AdapterView<?>parent,Viewview,intposition,longid){

//通過(guò)意圖跳轉(zhuǎn)傳遞參數(shù)

Intentit=newIntent(RimTravelActivity.this,TravelDetailsActivity.class);

it.putExtra("title",datas.get(position).get("title").toString());

it.putExtra("content",datas.get(position).get("content").toString());

it.putExtra("date",datas.get(position).get("date").toString());

startActivity(it);

}

});

}

//加載數(shù)據(jù)>從網(wǎng)絡(luò)獲取

publicvoidinitDatas(){

BmobQuery<TravelInfo>bmobQuery=newBmobQuery<TravelInfo>();

bmobQuery.findObjects(this,newFindListener<TravelInfo>(){

@Override

publicvoidonSuccess(List<TravelInfo>list){

//查詢(xún)成功

for(TravelInfotravelInfo:list){

//迭代輸出

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論