李涵,韋程
(北京信息科技大學(xué) 理學(xué)院,北京 100192)
基于Android系統(tǒng)的數(shù)字校園地圖導(dǎo)覽軟件
李涵,韋程
(北京信息科技大學(xué) 理學(xué)院,北京 100192)
本課題基于Android平臺(tái)上設(shè)計(jì)開發(fā)一款針對(duì)校園的移動(dòng)導(dǎo)航應(yīng)用,滿足新生進(jìn)入校園后盡快適應(yīng)陌生校園環(huán)境的需求。軟件包括定位模塊、地圖顯示模塊、通訊交流模塊、指南針模塊等。通過GPS定位芯片可以實(shí)時(shí)定位用戶所處的校園位置,并且可以快速找到指定的校園地點(diǎn);通過網(wǎng)絡(luò)通訊可以實(shí)現(xiàn)用戶間的交流和獲取校園內(nèi)的最新資訊,并且可以利用手機(jī)傳感器來辨別當(dāng)前的方向。通過運(yùn)行和測(cè)試,實(shí)現(xiàn)界面簡(jiǎn)潔友好、功能強(qiáng)大、操作簡(jiǎn)單。
Android;校園導(dǎo)航;GPS定位;通訊交流;方向辨別
隨著近年來智能手機(jī)的不斷普及,人們的生活發(fā)生了巨大的變化。蓬勃發(fā)展的移動(dòng)互聯(lián)網(wǎng)已滲透到人們?nèi)粘I畹姆椒矫婷?,在不斷為大家?guī)肀憷耐瑫r(shí)也在漸漸地改變著人們的生活方式。本課題所研究的校園導(dǎo)航軟件,可以幫助新入校學(xué)生在初到校園時(shí)能盡快地熟悉校園環(huán)境,利用手機(jī)可以隨時(shí)查看校園中的每一處景點(diǎn)[1]。該游覽校園的移動(dòng)地圖應(yīng)用,可以實(shí)現(xiàn)地圖的放大縮小、景點(diǎn)查詢、定位和景點(diǎn)介紹等功能,大大方便新同學(xué)們熟悉校園的過程,具有很大的實(shí)際意義。系統(tǒng)功能包括:
1)地理位置定位模塊:對(duì)基于Android系統(tǒng)的數(shù)字移動(dòng)設(shè)備進(jìn)行實(shí)時(shí)地理位置定位;
2)數(shù)字校園地圖顯示模塊:可以實(shí)現(xiàn)地圖的拖拽、放大、縮小功能;
3)數(shù)字校園景點(diǎn)介紹:介紹校園各個(gè)景點(diǎn)景觀的詳細(xì)信息;
4)校園導(dǎo)覽模塊:給出校園推薦游覽線路;
5)指南針模塊:幫助用戶識(shí)別校園方向。
1.1Apache Apollo
ActiveMQ是最受歡迎的開源消息中間件,擁有很好的性能,擁有消息持久化和高可用性以及網(wǎng)絡(luò)代理等特性[2-3]。Apache Apollo是下一代的ActiveMQ系統(tǒng),其更新了其線程架構(gòu),可以支持未來百萬級(jí)別的消息目標(biāo)地址和成千上萬的連接[4-5],實(shí)現(xiàn)了高吞吐率以及對(duì)資源的最大程度的利用。
1.2MQTT協(xié)議
MQTT(Message Queuing Telemetry Transport,消息隊(duì)列遙測(cè)傳輸)是IBM公司開發(fā)的一個(gè)即時(shí)通訊協(xié)議,為那些計(jì)算能力有限,且工作在低帶寬、不可靠的網(wǎng)絡(luò)的遠(yuǎn)程傳感器和控制設(shè)備通訊而設(shè)計(jì),未來有可能成為物聯(lián)網(wǎng)的重要組成部分[6-7]。該協(xié)議幾乎支持所有的平臺(tái),幾乎可以把所有的聯(lián)網(wǎng)物品和外部連接起來。
根據(jù)校園導(dǎo)航的需求,本軟件設(shè)計(jì)了GPS定位模塊、地圖模塊、推薦線路模塊、校園找點(diǎn)模塊、指南針模塊。另外還根據(jù)新生對(duì)于剛進(jìn)入學(xué)校的交流需要設(shè)計(jì)了公告欄模塊、結(jié)伴信息模塊。具體模塊結(jié)構(gòu)如圖1所示。
圖1 系統(tǒng)功能模塊圖
Android端服務(wù)器用于向消息中間件Apollo上傳和接收用戶最新發(fā)布的消息,整個(gè)服務(wù)器支撐校園導(dǎo)航應(yīng)用的“結(jié)伴”功能,實(shí)現(xiàn)用戶之間的即時(shí)交流和留言。
整個(gè)通訊系統(tǒng)的大致流程為:當(dāng)用戶發(fā)送消息時(shí)將消息發(fā)送至 Apollo中間件[8-9],Apollo將接收到的消息傳送至Android服務(wù)器上。Android服務(wù)器接收到Apollo轉(zhuǎn)發(fā)過來的消息之后將新的消息加入已有的消息集合內(nèi),再將整個(gè)新的消息集合發(fā)送回Apollo服務(wù)器上[10],Apollo接收到新的消息集合后再將其轉(zhuǎn)發(fā)給所有的用戶。結(jié)伴功能模塊消息流通演示如圖2所示。
“結(jié)伴”模塊消息通信過程說明如下:
1)用戶2發(fā)送一條消息hello;
2)接收到Hello發(fā)送給Android服務(wù)器;
3)將接收到的Hello放入消息集合中,假設(shè)消息集合中原來已有Hi;
4)將Hi和 Hello兩條消息取出;
5)將Hi和 Hello發(fā)送給Apollo消息中間件;
圖2 "結(jié)伴"模塊消息流通演示圖
6)將Hi和Hello發(fā)送給每一個(gè)Android客戶端
用戶第一次使用校園導(dǎo)航應(yīng)用時(shí)會(huì)進(jìn)入到使用指南界面,該界面用于演示校園導(dǎo)航應(yīng)用的校園找點(diǎn)、推薦線路和結(jié)伴消息的功能,用戶可以通過用手指左右滑動(dòng)的方式來平滑的切換瀏覽前一個(gè)引導(dǎo)子界面或下一個(gè)引導(dǎo)子界面,如圖3所示。
圖3 引導(dǎo)界面測(cè)試效果圖
在地圖顯示界面,用戶可以通過雙指縮放操作對(duì)地圖進(jìn)行縮放或是單指移動(dòng)對(duì)地圖進(jìn)行拖拽操作,如圖4所示。
當(dāng)用戶點(diǎn)擊手機(jī)上的菜單鍵時(shí)彈出側(cè)邊欄菜單,可以看到校園導(dǎo)航應(yīng)用中的幾乎所有主要的功能入口。頂部是校園公告欄,以隱現(xiàn)的動(dòng)畫流水顯示當(dāng)前的校園最新公告。如圖5所示。
用戶點(diǎn)擊“指南針”按鈕時(shí)即進(jìn)入指南針功能模塊界面。第一種指南針以對(duì)話框的形式顯示,第二種指南針將會(huì)占據(jù)全屏幕顯示。指南針效果如圖6所示。
當(dāng)用戶在主界面上點(diǎn)擊“衛(wèi)星視圖“按鈕時(shí)將會(huì)進(jìn)入衛(wèi)星視圖的顯示模式。用戶可以直觀立體的了解校園的各個(gè)地點(diǎn)的真實(shí)詳細(xì)的信息。如圖7所示。
用戶按下“2D視圖”按鈕時(shí)將會(huì)回到正常顯示的地圖界面,如圖8所示。
當(dāng)用戶登入結(jié)伴主界面后即可按下“發(fā)布結(jié)伴消息”選項(xiàng)發(fā)布自己的消息。用戶點(diǎn)擊任一條已發(fā)布的消息項(xiàng)即可以對(duì)其進(jìn)行回復(fù)。如圖9和10所示。
當(dāng)用戶點(diǎn)擊“推薦線路”按鈕時(shí)會(huì)出現(xiàn)讓用戶選擇推薦線路的對(duì)話框,其中共有兩條推薦線路可供選擇,效果如圖11所示。點(diǎn)擊“推薦線路2”后回到主界面并且顯示出推薦線路和沿線地點(diǎn)。
點(diǎn)擊“我的位置”按鈕時(shí),用戶當(dāng)前處于學(xué)校范圍內(nèi)且能接收到衛(wèi)星信號(hào)效果如圖12所示。
當(dāng)用戶點(diǎn)擊“校園找點(diǎn)”按鈕時(shí),出現(xiàn)校園找點(diǎn)的對(duì)話框讓用戶選擇需要尋找的校園地點(diǎn)。如圖13所示。
圖4 地圖操作效果圖
圖5 菜單效果圖
圖6 兩種指南針效果圖
圖7 "衛(wèi)星視圖"效果圖
圖8 "2D視圖"切換效果圖
圖9 發(fā)布消息效果圖
本課題基于Android平臺(tái)上設(shè)計(jì)開發(fā)一款針對(duì)校園的移動(dòng)導(dǎo)航應(yīng)用,滿足新生進(jìn)入校園后盡快適應(yīng)陌生校園環(huán)境的需求。軟件包括定位模塊、地圖顯示模塊、通訊交流模塊、指南針模塊等。通過運(yùn)行和測(cè)試,實(shí)現(xiàn)界面簡(jiǎn)潔友好、功能強(qiáng)大。
圖10 回復(fù)消息效果圖
圖11 推薦線路對(duì)話框效果圖
圖12 "我的位置"效果圖
圖13 "校園找點(diǎn)"效果圖
[1]楊豐盛.Android應(yīng)用揭秘開發(fā)[M].北京:機(jī)械工業(yè)出版社,2010:23-54.
[2]Reto Meier.Android2高級(jí)編程[M].2版.北京:清華大學(xué)出版社,2010:14-184.
[3]李剛.瘋狂Android講義[M].北京:電子工業(yè)出版社,2011:52-68.
[4]李佐斌.Android開發(fā)入門與實(shí)戰(zhàn)體驗(yàn)[M].北京:機(jī)械工業(yè)出版社.2011:21-22.
[5]韓超.Android系統(tǒng)原理及開發(fā)要點(diǎn)詳解[M].北京:電子工業(yè)出版社.2010:17-18.
[6]Frank Ableson.Introduction to Android Development[EB/ OL].(2009-3-12)[2015-3-14].http://www.ibm.com/developerworks/library/os-android-devel/
[7]SayedHashimi,SatyaKomatineni,DaveMacLean.精通Android2[M].北京:清華大學(xué)出版社,2010:19-20.
[8]吳亞峰,于復(fù)興.Android應(yīng)用開發(fā)完全自學(xué)手冊(cè)[M].北京:人民郵電出版社,2012:250-275.
[9]索蓋林.Android開發(fā)入門指南[M].北京:機(jī)械工業(yè)出版社. 2010:180-220.
[10]W.FRANKABLESON,CHARLIECOLLINS,ROBISEN. Unlocking Android[M].北京:清華大學(xué)出版社,2012:240-275.
Digital campus map navigation software based on Android platform
LI Han,WEI Cheng
(School of Applied Science,Beijing Information Science&Technology University,Beijing 100192,China)
Nowadays Android is the most popular mobile terminal operating system,and it has been widely used in intelligent mobile phone and panel computer.This project is to design and develop a campus mobile navigation application based on the Android platform.Its purpose is to meet the needs that freshmen who enters unfamiliar campus environment want to have a general and accurate understanding of campus.This software is composed by positioning module,map display module,communication module and compass module.User can position its location quickly and find the specified campus location through GPS chip on the mobile phone.Also user can communicate with others through the network and obtain the latest information about campus,or distinguish the direction by using sensor on mobile phone.Results of running and testing shows that this software with simple and friendly interface,operating simply and has powerful function.
Android;campus navigation;GPS positioning;communication;direction discrimination
TN99
A
1674-6236(2016)21-0180-04
2015-10-26稿件編號(hào):201510180
北京市教委科研計(jì)劃面上項(xiàng)目資助(KM201511232019)
李 涵(1978—),女,山東淄博人,碩士,副教授。研究方向:網(wǎng)絡(luò)安全,移動(dòng)通信,大數(shù)據(jù)應(yīng)用等。