陳靜涵 邢健 殷旭東
摘要:隨著科學(xué)教育的不斷發(fā)展進(jìn)步,我國眾多的科研院所與科研企業(yè)的科研工作日益增多,隨之而來的科研管理工作也日益繁雜化,那么對科研管理系統(tǒng)的建設(shè)便成了強(qiáng)化科研單位管理水準(zhǔn)的關(guān)鍵因素。文章通過對系統(tǒng)需求的深入分析、為科研管理人員設(shè)計(jì)出一套便利的軟件系統(tǒng),為科研管理工作提供了保障。
關(guān)鍵詞:科研系統(tǒng);系統(tǒng)設(shè)計(jì);開發(fā);Java
0引言
隨著人們生活水平的提高,現(xiàn)在的節(jié)假日期間,人們往往會選擇旅游來放松自己、享受生活。但是,跟團(tuán)旅游存在著很多限制和弊端,所以越來越多的人鐘愛于自駕游。然而,去哪旅游、怎么去、住在哪里、天氣是否適宜等等便成為了實(shí)質(zhì)性問題。而手機(jī)導(dǎo)游軟件恰能很好地解決這些問題,給人們旅游度假提供方便。因此開發(fā)一款能夠運(yùn)行在Android等智能手機(jī)上的導(dǎo)游應(yīng)用具有較好的價值。
這款導(dǎo)游軟件可以將旅游信息等與移動互聯(lián)網(wǎng)結(jié)合,通過旅游應(yīng)用為游客提供旅游路線推薦、景區(qū)景點(diǎn)介紹、景點(diǎn)信息交互、交通住宿購物等服務(wù),使人們擺脫傳統(tǒng)導(dǎo)游的限制,完全按照自己的興趣來自助安排旅游行程,人們的旅游自主性大大提高,使人們更方便地獲得更佳的旅游生活體驗(yàn)。
1系統(tǒng)需求與總體結(jié)構(gòu)
1.1需求分析
該系統(tǒng)的目標(biāo)是面向Android手機(jī)用戶。統(tǒng)計(jì)顯示,現(xiàn)在越來越多的人依賴手機(jī)應(yīng)用程序,例如人們會在這些軟件上尋找滿意的餐廳、滿意的旅店等,而Android是目前用戶量最大的一個智能移動設(shè)備平臺。所以開發(fā)該系統(tǒng)具有良好的目標(biāo)用戶群體。該應(yīng)用不像以往的軟件只有某些單一的功能,這次將開發(fā)一款軟件,把這些服務(wù)集中在一起,讓用戶不用再去安裝超負(fù)荷的軟件。
1.2系統(tǒng)總體結(jié)構(gòu)
該系統(tǒng)是一個基于Android開發(fā)的智能手機(jī)導(dǎo)游系統(tǒng),主要實(shí)現(xiàn)對江蘇省常熟地區(qū)相關(guān)景點(diǎn)的自助導(dǎo)游。游客可以通過該系統(tǒng)走遍常熟、玩遍常熟。用戶可以通過“常熟導(dǎo)游”或者“旅游路線”來自主選擇行程,制定一個詳細(xì)的規(guī)劃;用戶還可以使用“交通推薦”功能,以最快最好的方式,到達(dá)目的地;用戶可以使用“住宿推薦”和“餐廳推薦”功能,選擇滿意的旅店和餐廳。
2關(guān)鍵技術(shù)
2.1興趣點(diǎn)標(biāo)注和POI搜索
在旅游相關(guān)應(yīng)用的開發(fā)中,興趣點(diǎn)標(biāo)注和信息搜索是一個重要的基礎(chǔ)功能。本系統(tǒng)使用百度地圖SDK實(shí)現(xiàn)這些功能,該SDK提供的檢索服務(wù)包括以下功能模塊:POI檢索,多關(guān)鍵字檢索,公交方案檢索,駕車路線檢索,步行路線檢索,地理編碼,反地理編碼,公交詳情檢索,在線建議查詢,短串分享。每個檢索功能模塊都包括一個主檢索對象,一個用于構(gòu)造檢索參數(shù)的Option結(jié)構(gòu)體,和一個用于接收檢索結(jié)果回調(diào)的Delegate,所有檢索服務(wù)都使用異步回調(diào)模式。使用檢索服務(wù)時,需要先初始化主檢索對象,然后通過主檢索對象以包含檢索參數(shù)的Option做為參數(shù)發(fā)起檢索,最后實(shí)現(xiàn)相應(yīng)的檢索功能模塊的Delegate處理返回結(jié)果。系統(tǒng)整體結(jié)構(gòu)如圖1所示。
2.2顯示自定義氣泡
在使用的百度地圖上標(biāo)注自己定義的覆蓋物,定義一個MyPoiOverlay類繼承百度地圖SDK中PoiOverlay類,重寫onTap()方法獲取點(diǎn)擊地圖的具體位置,如果是旅游景點(diǎn)則彈出自定義的氣泡(顯示景點(diǎn)名稱和導(dǎo)航、詳細(xì)信息按鈕)。如果這個景點(diǎn)有詳細(xì)信息調(diào)用poiDetailSearch()方法顯示。導(dǎo)航按鈕則跳轉(zhuǎn)到RounteAetivity。
2.3定位功能
實(shí)現(xiàn)BDLocationListener接口,BDLocationListener中實(shí)現(xiàn)兩個方法,實(shí)現(xiàn)接受異步返回的定位結(jié)果,實(shí)現(xiàn)接受異步返回POi查詢結(jié)果,參數(shù)都是BDLocation。再次通過LocationClientOption類設(shè)置定位參數(shù)。例如打開GPS、設(shè)置坐標(biāo)類型、發(fā)起定位請求的間隔。最后發(fā)起定位返回onReeeiveLocation。
2.4路線規(guī)劃
通過輸入一個目的地,可以發(fā)起路線規(guī)劃,支持多個途徑點(diǎn)和多種算路方式,最多支持添加3個途徑點(diǎn),通過NE RoutePlan Mode類。通過設(shè)置算路結(jié)果監(jiān)聽器IRouteResultObserver,可以獲取算路的結(jié)果。通過定位功能取得當(dāng)前位置,通過上個Activity獲取景點(diǎn)坐標(biāo)。設(shè)置算路方式可以選擇步行、公交車、和自駕游。設(shè)置顯示方案個數(shù),顯示出合理的規(guī)劃路徑。
2.5導(dǎo)航功能
算路成功后會獲得算路結(jié)果RoutePlanModel,然后即可以根據(jù)算路結(jié)果發(fā)起導(dǎo)航,導(dǎo)航方式分為模擬導(dǎo)航和真實(shí)GPS導(dǎo)航兩種。進(jìn)入到模擬導(dǎo)航或者GPS導(dǎo)航后,點(diǎn)擊轉(zhuǎn)向標(biāo)按鈕即可以切換到文字導(dǎo)航,在文字導(dǎo)航界面,可以切換到HUD模式。mRoutePlanModel是算出的成功的導(dǎo)航路徑結(jié)果。
3設(shè)計(jì)與實(shí)現(xiàn)
3.1主界面設(shè)計(jì)
主界面是一個可以滑動的Galley空間,使用項(xiàng)目res/layout中的main.xml來定義。根據(jù)手勢的判斷,當(dāng)手勢的滑行超過12像素就切換另一張圖片。主界面上的9個按鈕對面9個模塊。點(diǎn)擊任意一個時在其onClick事件中,使用Intent中封裝的Activity信息,調(diào)用startActivity()方法啟動相應(yīng)的Activity組件進(jìn)入新的模塊。用戶點(diǎn)擊對應(yīng)的按鈕,就能跳轉(zhuǎn)到相應(yīng)的頁面,得到想要查詢的信息界面如圖2所示。
3.2主要功能設(shè)計(jì)與實(shí)現(xiàn)
用戶可以訪問的功能和能夠進(jìn)行的操作都從主頁面進(jìn)入,主頁面上分布著9個控件,分別對應(yīng)相應(yīng)的頁面。如果用戶點(diǎn)擊某個按鈕,就能跳轉(zhuǎn)到對應(yīng)的頁面,得到相應(yīng)的服務(wù),這些功能模型包括:(1)常熟導(dǎo)游:用戶使用該功能就能對整個常熟市的基本情況和旅游信息有一個總體的了解。這里包括常熟的所有地區(qū)和交通線路,對于不熟悉本市情況的用戶很有實(shí)用性。(2)旅游路線:用戶選擇想要游玩的地點(diǎn),該系統(tǒng)就會推薦一條或幾條途徑這些的地點(diǎn)的可行線路,來供用戶選擇。(3)景點(diǎn)介紹:系統(tǒng)將常熟市所有的景點(diǎn)都涵蓋在了這一塊,里面包含了對景點(diǎn)的概況和介紹,讓游客有一個客觀的了解。(4)地圖導(dǎo)航:開啟該功能,就能對用戶選擇的路線進(jìn)行導(dǎo)航,智能且實(shí)用。(5)旅游問答:用戶使用該控件,就能對旅行途中的問題進(jìn)行一個簡單的提問,加強(qiáng)對該景點(diǎn)的了解。(6)景點(diǎn)掃描:該功能是讓用戶能夠?qū)包c(diǎn)進(jìn)行掃描,從而得到景點(diǎn)的詳細(xì)信息。(7)交通推薦:用戶選擇好目的地后,系統(tǒng)會進(jìn)行一個路線推薦,里面包含了步行或者打的等方式到達(dá),用戶根據(jù)自身?xiàng)l件進(jìn)行選擇。(8)住宿推薦:用戶使用該功能,就能檢索自己選擇的地區(qū)的附近的所有可居住的旅店,用戶根據(jù)自身?xiàng)l件,自主進(jìn)行選擇。(9)餐廳推薦:系統(tǒng)將常熟地區(qū)的比較好的餐廳都錄入了,用戶確定好地區(qū)后,系統(tǒng)就會推薦幾種餐廳,供用戶選擇,用戶可以根據(jù)某些限制條件如價格、環(huán)境等進(jìn)行篩選。
4系統(tǒng)測試
該系統(tǒng)是在Eclipse集成開發(fā)環(huán)境下開發(fā)的,包含JDK插件和IDE環(huán)境,利用Java語言開發(fā)而成。這也是Android開發(fā)過程中必不可少的。自從2006年發(fā)布以來,不斷改進(jìn)完善,目前最新版本為Mars的4.5版。軟件的調(diào)試是利用一個AVD虛擬機(jī)來進(jìn)行的,也可以使用真實(shí)的手機(jī)進(jìn)行。使用DDMS工具中的LogCat進(jìn)行錯誤定位和信息查詢。在Android4.4和5.0的多款真實(shí)機(jī)型上對該軟件進(jìn)行了測試,結(jié)果表明,該系統(tǒng)能夠正常運(yùn)行。
傳統(tǒng)的導(dǎo)游軟件都是通過定位來查看當(dāng)前位置以及周邊的情況,本系統(tǒng)操作與此類似。圖3為搜索興趣點(diǎn)的地圖界面,顯示當(dāng)前附近的景點(diǎn)信息和道路狀況。在定位之后,用戶可以根據(jù)自己需要選擇自己的目的地。在選擇好地點(diǎn)后可以準(zhǔn)確定位當(dāng)前位置和旅游景點(diǎn)的目的位置,方便用戶導(dǎo)航到目的地。選擇目的地的功能我們目前實(shí)現(xiàn)的是通過查詢公交直達(dá)來查詢路線。另外通過飲食的具體圖片以及商家信息,提供用戶更好的咨詢方式如圖4所示。
5結(jié)語
文章開發(fā)的是集旅游路線推薦、景區(qū)景點(diǎn)介紹、景點(diǎn)信息交互、交通住宿購物等功能于一體的智能手機(jī)軟件,它設(shè)計(jì)操作方便、富有人性化、準(zhǔn)確而實(shí)時,是人們在外旅游的很好伙伴。在功能的實(shí)現(xiàn)上提供了豐富的UI界面和良好的人機(jī)交互。相對于其他導(dǎo)游軟件而言,更加簡約美觀,具有較好的實(shí)用價值。