朱婉婷 李俊 吳彤 高星 張粵
摘要:每個(gè)高校都會(huì)有大大小小的活動(dòng),而活動(dòng)的宣傳一直僅僅局限于發(fā)傳單、設(shè)點(diǎn)、宣傳板等方式,而隨著網(wǎng)絡(luò)的飛速發(fā)展,將宣傳放置于網(wǎng)絡(luò)之上已經(jīng)成為一種趨勢(shì),然而中國(guó)大部分高校的宣傳方式并不集中,分布不均勻。研究一種便利、實(shí)時(shí)的活動(dòng)宣傳系統(tǒng)很有必要,該系統(tǒng)提出一種包含Android移動(dòng)客戶端、Web服務(wù)端混合而成的學(xué)生實(shí)時(shí)活動(dòng)信息查看系統(tǒng)。使用基于Android平臺(tái)的移動(dòng)設(shè)備實(shí)現(xiàn)發(fā)布活動(dòng)信息、通過(guò)地圖查看周邊活動(dòng)功能,通過(guò)3G網(wǎng)絡(luò)將用戶端發(fā)布的活動(dòng)數(shù)據(jù)實(shí)時(shí)上傳至服務(wù)器。通過(guò)實(shí)際應(yīng)用表明,系統(tǒng)部署后確能實(shí)時(shí)、便捷地掌握周邊活動(dòng)信息,甚至是店鋪優(yōu)惠,為高校學(xué)生高效活動(dòng)宣傳,豐富課余生活提供了有力的支持。
關(guān)鍵詞:學(xué)生活動(dòng)宣傳;GPS定位;移動(dòng)終端
中圖分類號(hào):TP393 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2016)29-0122-04
據(jù)調(diào)查,目前我國(guó)的大多數(shù)高校,有各種活動(dòng),但是宣傳的方式也較為單調(diào),有發(fā)傳單,畫宣傳板,或者班級(jí)進(jìn)行直接宣傳,但是這樣覆蓋面不夠廣泛,很多同學(xué)都不能夠及時(shí)深入清楚地了解活動(dòng),可能更多的是口口相傳,現(xiàn)如今網(wǎng)絡(luò)宣傳已經(jīng)成為一種趨勢(shì),但是宣傳的方式可能更多的是通過(guò)朋友圈等等一些社交軟件,并沒(méi)有專門的一個(gè)軟件對(duì)各種活動(dòng)進(jìn)行一個(gè)全面的宣傳。此項(xiàng)目方便了主辦方增加了宣傳的廣度,同時(shí)也方便了用戶可以及時(shí)地了解活動(dòng)的具體信息并參與。當(dāng)然此項(xiàng)目也不僅僅只局限于校園的應(yīng)用,可以增加其功能,如果效果好,可以推廣到各個(gè)商家以及各種旅游景點(diǎn)等等,運(yùn)用GPS進(jìn)行即時(shí)定位,顯示活動(dòng)的具體信息,是一款實(shí)用性很強(qiáng)的軟件。
本系統(tǒng)在技術(shù)方面結(jié)合了GPS定位技術(shù)和3D效果展示等多種方式,在對(duì)GPS功能的使用中,增添了一項(xiàng)新的功能,可以將想要找到的地點(diǎn)的具體的周邊環(huán)境通過(guò)3D效果進(jìn)行展示,通過(guò)本系統(tǒng),學(xué)生們可以及時(shí)地通過(guò)校園地圖確定活動(dòng)的具體位置,并且可以了解到活動(dòng)的具體信息,通過(guò)3D效果展示可以更加及時(shí)準(zhǔn)確的找到活動(dòng)的具體位置。到現(xiàn)在為止基于An-droid平臺(tái)的定位研究和應(yīng)用處于不斷增長(zhǎng)的階段,國(guó)內(nèi)相關(guān)領(lǐng)域的研究論文已經(jīng)層出不窮。而基于Android平臺(tái)的校園位置服務(wù)以及活動(dòng)信息的即時(shí)更新服務(wù)卻不常見(jiàn)?,F(xiàn)有的定位技術(shù)主要有PPD定位技術(shù)、GPS衛(wèi)星定位、藍(lán)牙定位、WIFI網(wǎng)絡(luò)定位、GPRS/CDMA移動(dòng)通訊技術(shù)定位等。但是這些也只是單純的進(jìn)行了定位,并沒(méi)有實(shí)現(xiàn)3D效果的展示,也沒(méi)有將活動(dòng)與地圖進(jìn)行有機(jī)的結(jié)合,本系統(tǒng),可以讓用戶快捷地了解到活動(dòng)的信息,并且進(jìn)展的狀況,對(duì)于很多不是對(duì)活動(dòng)不了解,而且方向感較差的同學(xué)提供了方便??梢钥焖贉?zhǔn)確地找到活動(dòng)位置。
1系統(tǒng)設(shè)計(jì)相關(guān)技術(shù)
1.1Android平臺(tái)技術(shù)
1.1.1Android平臺(tái)簡(jiǎn)介
Android是一種基于Linux內(nèi)核的軟件平臺(tái)和操作系統(tǒng),一般統(tǒng)稱為“安卓”或“安致”,尚且沒(méi)有統(tǒng)一的中文名稱,采用軟件堆棧的架構(gòu),其開(kāi)發(fā)者是Andy Rubin,由Google公司收購(gòu)注資組建手機(jī)開(kāi)發(fā)者改良并在2007年11月5日發(fā)布,該平臺(tái)主要由操作系統(tǒng)、用戶界面、中間件和應(yīng)用軟件等四部分組成,主要用于便攜設(shè)備如手機(jī),而后逐漸擴(kuò)展到平板以及其他領(lǐng)域上。隨著4G智能手機(jī)時(shí)代的到來(lái),以及Android平臺(tái)的快速發(fā)展,人們對(duì)Android應(yīng)用開(kāi)發(fā)的需求日趨增多,而作為一款開(kāi)放式的操作系統(tǒng),如今android平臺(tái)已允許開(kāi)發(fā)者使用多不同的編程語(yǔ)言來(lái)開(kāi)發(fā)Android應(yīng)用,不再是只能用Java語(yǔ)言開(kāi)發(fā),受到了許多開(kāi)發(fā)者的歡迎。
1.1.2Android定位技術(shù)-GPS定位和Wifi定位
GPS(Global Positioning System)稱作全球定位系統(tǒng),是20世紀(jì)70年代由美國(guó)衛(wèi)星局研制的新一代空間衛(wèi)星導(dǎo)航系統(tǒng),通過(guò)該系統(tǒng),用戶不僅可以在全球范圍內(nèi)實(shí)現(xiàn)隨時(shí)隨地連續(xù)的二維及三維導(dǎo)航定位和測(cè)速,而且能夠進(jìn)行高精度的準(zhǔn)確定位和時(shí)間傳遞。只要智能設(shè)備支持GPS模塊功能便可支持直接和衛(wèi)星連接來(lái)獲取當(dāng)前經(jīng)緯度從而將自己的位置信號(hào)發(fā)送到定位后臺(tái)實(shí)現(xiàn)手機(jī)定位。Wifi定位是wireless fiddity的英文縮寫,表示無(wú)線相容認(rèn)證。Android Wifi定位是根據(jù)一個(gè)獨(dú)一無(wú)二的WifiMAC地址即手機(jī)Wifi網(wǎng)卡的mac地址,搜索并且收集到的該Wifi熱點(diǎn)的位置信息并且上傳到一個(gè)用于存儲(chǔ)位置信息的數(shù)據(jù)庫(kù)中,然后訪問(wèn)網(wǎng)絡(luò)上的定位服務(wù)以獲得經(jīng)緯度坐標(biāo),因?yàn)閃ifi定位和基站定位都需要使用網(wǎng)絡(luò)所以在Android平臺(tái)中也統(tǒng)稱為Network方式。
1.2Web服務(wù)器技術(shù)
Apache HTTP Server簡(jiǎn)稱Apache,源于“a patchy server"的讀音,意為充滿補(bǔ)丁的服務(wù)器。Apache是軟件基金會(huì)開(kāi)發(fā)并發(fā)布的一個(gè)開(kāi)放源碼的網(wǎng)頁(yè)服務(wù)器,能夠運(yùn)行于大部分的計(jì)算機(jī)操作系統(tǒng),因?yàn)樗亲杂绍浖⑶铱梢詮V泛運(yùn)行在幾乎所有的計(jì)算機(jī)平臺(tái)上,同時(shí)具有極高的安全性,所以不斷有大批的開(kāi)發(fā)者來(lái)為它開(kāi)發(fā)新的功能和特性以及修改原來(lái)的缺陷,經(jīng)過(guò)多次修改,使其成為目前最流行的Web服務(wù)器端軟件之一和世界使用排名第一的Web服務(wù)器軟件。Apache有簡(jiǎn)單、速度快、性能穩(wěn)定的特點(diǎn),可通過(guò)簡(jiǎn)單的API擴(kuò)展,將Perl/Python等解釋器編譯到服務(wù)器中,并具備代理服務(wù)器的功能。
2系統(tǒng)設(shè)計(jì)
2.1設(shè)計(jì)思路
本系統(tǒng)將用戶分為學(xué)生用戶和活動(dòng)發(fā)布者用戶,通過(guò)選擇不同的身份進(jìn)行注冊(cè),進(jìn)人系統(tǒng)后臺(tái)將會(huì)驗(yàn)證是哪種類型的用戶,如果是活動(dòng)發(fā)布者用戶,則會(huì)提供發(fā)布活動(dòng)的功能,但以學(xué)生身份注冊(cè)登陸將不擁有此功能?;顒?dòng)發(fā)布者通過(guò)在移動(dòng)端發(fā)布活動(dòng)時(shí)間地點(diǎn)信息,后臺(tái)人員經(jīng)過(guò)認(rèn)證將活動(dòng)信息上傳到服務(wù)器端存儲(chǔ),并在地圖模塊自動(dòng)定位地點(diǎn)添加活動(dòng)并注明活動(dòng)名稱,時(shí)間,地點(diǎn),描述等信息。
2.2系統(tǒng)總體設(shè)計(jì)
本系統(tǒng)以web服務(wù)器為數(shù)據(jù)中轉(zhuǎn)站,實(shí)現(xiàn)了特定用戶發(fā)布,學(xué)生定位的實(shí)時(shí)活動(dòng)信息查看系統(tǒng)。其中用戶可以分為兩類,即學(xué)生,發(fā)布者,不同類的用戶可以使用的功能不同,學(xué)生可以查看校園通知和活動(dòng),發(fā)布者可以發(fā)布校園活動(dòng),周邊優(yōu)惠等。其總體系統(tǒng)架構(gòu)如圖1所示
2.3系統(tǒng)結(jié)構(gòu)
基于Android的學(xué)生實(shí)時(shí)活動(dòng)信息查看系統(tǒng)主要由An-droid客戶端、服務(wù)器端以及后臺(tái)管理員3部分組成。Android客戶端負(fù)責(zé)發(fā)布活動(dòng)信息,根據(jù)發(fā)布活動(dòng)的地點(diǎn)添加位置和相關(guān)信息到地圖中,同時(shí)還具備查看校園內(nèi)的消息通知類似于校園新聞以及失物招領(lǐng),認(rèn)識(shí)校友等校園服務(wù)?;顒?dòng)發(fā)布者將活動(dòng)或者優(yōu)惠等信息發(fā)送到服務(wù)器,并存儲(chǔ)在數(shù)據(jù)庫(kù)中,后臺(tái)管理員通過(guò)實(shí)際驗(yàn)證將數(shù)據(jù)同步到地圖當(dāng)中。服務(wù)端保存了數(shù)據(jù)庫(kù)的大量數(shù)據(jù),可以響應(yīng)來(lái)自客戶端的數(shù)據(jù)請(qǐng)求,返回相應(yīng)數(shù)據(jù)給客戶端。本系統(tǒng)的基本架構(gòu)如圖2所示。
2.4數(shù)據(jù)庫(kù)設(shè)計(jì)
本系統(tǒng)使用的是android應(yīng)用中自帶的SQLite文件型數(shù)據(jù)庫(kù),根據(jù)系統(tǒng)需求,其中包含用戶注冊(cè)表、用戶信息表、活動(dòng)信息表、評(píng)論信息表、發(fā)布活動(dòng)表、地圖信息表、位置信息表、好友信息表以及通訊錄表等數(shù)據(jù)表。通過(guò)這些數(shù)據(jù)庫(kù)表可以明確用戶、地圖和活動(dòng)之間的關(guān)系,每個(gè)用戶通過(guò)定位都會(huì)獲取到相對(duì)應(yīng)的地圖信息表,而每張地圖又包含多個(gè)活動(dòng)信息,如圖3數(shù)據(jù)庫(kù)ER圖所示。
3系統(tǒng)主要模塊和功能設(shè)計(jì)
基于android的學(xué)生實(shí)時(shí)活動(dòng)信息查看系統(tǒng)主要包括5大功能模塊:用戶注冊(cè)與登錄模塊、地圖切換模塊、查看地標(biāo)信息模塊、活動(dòng)發(fā)布模塊和3D定位模塊。
用戶注冊(cè)與登錄模塊主要負(fù)責(zé)用戶身份錄入和驗(yàn)證,通過(guò)用戶注冊(cè)選擇身份錄入數(shù)據(jù)庫(kù),在登陸模塊輸入用戶名和密碼來(lái)驗(yàn)證是否匹配,數(shù)據(jù)庫(kù)內(nèi)無(wú)記錄則表示用戶沒(méi)有注冊(cè)或者注冊(cè)失敗。
地圖切換模塊和查看地標(biāo)信息模塊是本系統(tǒng)的核心模塊,地圖切換模塊主要是進(jìn)行2D和3D地圖之間的切換以及檢測(cè)GPS定位是否開(kāi)啟,而查看地標(biāo)信息模塊則是可根據(jù)地圖上特定的位置信息來(lái)查看該位置過(guò)去舉辦過(guò)什么活動(dòng),現(xiàn)在正在進(jìn)行什么活動(dòng)和未來(lái)會(huì)有什么活動(dòng)在該地點(diǎn)發(fā)生舉辦,使用戶快速了解周邊信息。
活動(dòng)發(fā)布模塊根據(jù)用戶登錄時(shí)的身份來(lái)選擇是否需要隱藏活動(dòng)按鈕,學(xué)生身份登陸點(diǎn)擊發(fā)布按鈕只能發(fā)布與學(xué)生信息相關(guān)的,如失物招領(lǐng)。而活動(dòng)發(fā)布者身份則不僅可發(fā)布特定位置的相關(guān)活動(dòng)信息并且將會(huì)被同步到地圖當(dāng)中也可以發(fā)布一些校園通知等等。
3D定位模塊讓地圖中建筑物等,以一種3D的效果呈現(xiàn),給人一種虛擬現(xiàn)實(shí)的感覺(jué),可以通過(guò)直觀的地理實(shí)景模擬表現(xiàn)方式,為用戶提供地圖查詢。
3.1查看地標(biāo)信息模塊
通過(guò)申請(qǐng)百度地圖的基礎(chǔ)地圖MapView和全景地圖Pan-oramaView的密鑰和API并下載相應(yīng)的SDK開(kāi)發(fā)包,在此基礎(chǔ)上開(kāi)發(fā)借助遠(yuǎn)程控制的定位指令,通過(guò)GPS、網(wǎng)絡(luò)基站和網(wǎng)絡(luò)定位對(duì)用戶進(jìn)行定位,從而顯示學(xué)生的當(dāng)前位置信息,查看學(xué)生位置信息的歷史記錄可查看在某個(gè)時(shí)刻經(jīng)過(guò)某個(gè)地方,并將學(xué)生的位置記錄保存到移動(dòng)終端的數(shù)據(jù)庫(kù),并在用戶瀏覽完退出該模塊時(shí)啟動(dòng)線程完成將本地SQLite中存儲(chǔ)位置信息,通過(guò)json傳入服務(wù)器,便于需要數(shù)據(jù)時(shí)導(dǎo)出使用,或者進(jìn)行更進(jìn)一步系統(tǒng)設(shè)計(jì)時(shí)作為數(shù)據(jù)源。再根據(jù)用戶所在位置信息從數(shù)據(jù)庫(kù)中更新用戶周圍的地點(diǎn)事件。
3.2地圖切換模塊
在地圖導(dǎo)航實(shí)現(xiàn)中,本系統(tǒng)考慮到不同維度的功能便捷性,將該模塊分為二維地圖和三維地圖兩個(gè)部分,同時(shí)提供兩種維度的切換,三維效果的實(shí)現(xiàn)為了讓地圖中建筑物等,以一種3D仿真的效果呈現(xiàn),給人一種虛擬現(xiàn)實(shí)的感覺(jué),可以通過(guò)直觀的地理實(shí)景模擬表現(xiàn)方式,為用戶提供地圖查詢。
1)二維地圖,平面效果沒(méi)有建筑層次感,使用Map View顯示基礎(chǔ)地圖,并將所有地點(diǎn)和位置的建筑物或?qū)嵨镉幂喞獔D顯示出來(lái),同時(shí)還引入地點(diǎn)圖標(biāo)來(lái)標(biāo)記位置,從SQLite數(shù)據(jù)庫(kù)中獲取該用戶和其他用戶的位置信息,將這些位置信息進(jìn)行加權(quán)排序,每個(gè)地點(diǎn)都有權(quán)值記錄,權(quán)值噠并且多用戶去的地點(diǎn)排列會(huì)靠前,從而獲取到排列前十的地點(diǎn)進(jìn)行PopView顯示,即相應(yīng)位置會(huì)顯示紅色的地標(biāo)圖標(biāo),點(diǎn)擊該圖標(biāo),上方會(huì)顯示詳細(xì)的活動(dòng)信息,通過(guò)獲取從數(shù)據(jù)庫(kù)中保存的位置信息來(lái)匹配顯示用戶發(fā)布活動(dòng)時(shí)填寫的活動(dòng)地點(diǎn)、時(shí)間、內(nèi)容等信息。而詳細(xì)信息的顯示是通過(guò)調(diào)用百度地圖的接口來(lái)對(duì)獲取到的數(shù)據(jù)進(jìn)行自定義顯示和使用。
2)三維地圖,使用Panorama View顯示街景地圖,最仿真的還原現(xiàn)實(shí)的建筑與街道,通過(guò)調(diào)用百度全景圖接口,根據(jù)經(jīng)緯度獲取當(dāng)前位置的全景圖,通過(guò)設(shè)置俯仰角、偏航角和縮放級(jí)別顯示鄰接箭頭和全景圖。通過(guò)圖片覆蓋物和文字覆蓋物以懸浮文字的方式添加活動(dòng)的地點(diǎn)圖片和介紹,使用iSOB傳輸?shù)椒?wù)器,服務(wù)器解析json并存儲(chǔ)到數(shù)據(jù)庫(kù)。點(diǎn)擊前后左右即可到達(dá)想要去的地點(diǎn),同時(shí)可以發(fā)布現(xiàn)場(chǎng)照片同步到數(shù)據(jù)庫(kù)中,增強(qiáng)應(yīng)用的互動(dòng)性。
4系統(tǒng)實(shí)現(xiàn)
4.1Android用戶端實(shí)現(xiàn)
4.1.1用戶端界面實(shí)現(xiàn)
用戶端包含5個(gè)主要界面,分別是首頁(yè)界面,地圖界面,發(fā)布界面,消息界面和個(gè)人界面。其中首頁(yè)界面用于顯示校園活動(dòng),通知信息;地圖界面用于2D和3D地圖切換以及實(shí)時(shí)定位;發(fā)布界面用戶發(fā)布活動(dòng)、優(yōu)惠等信息;消息界面用于和同學(xué)以及校友互動(dòng)社交;個(gè)人界面則用于編輯和查看個(gè)人信息等。
首頁(yè)界面是應(yīng)用的主界面,會(huì)即時(shí)更新一些校園最新通知、活動(dòng)和公告等,頁(yè)面運(yùn)用ViewPager控件實(shí)現(xiàn)最上端的局部圖片滑動(dòng)指引效果和運(yùn)用Listview控件實(shí)現(xiàn)校園新聞列表效果,校園首頁(yè)界面及校園通知詳情頁(yè)如圖4所示
地圖界面可選擇進(jìn)入全景街景模式即三維地圖或者平面地圖模式如圖5左所示,點(diǎn)擊wust全景即可獲取到當(dāng)前用戶所在位置的全景圖,根據(jù)箭頭的指示或者手動(dòng)滑動(dòng)來(lái)調(diào)整移動(dòng)方向,如圖5中所示,點(diǎn)擊2D地圖加載平面地圖,紅色帶字母圖標(biāo)即是當(dāng)天有活動(dòng)的位置,選中某個(gè)地標(biāo),將會(huì)顯示活動(dòng)細(xì)節(jié)。
4.1.2用戶端功能實(shí)現(xiàn)用戶端功能包含學(xué)生注冊(cè),身份認(rèn)證,地圖獲取和定位等功能,當(dāng)用戶首次注冊(cè)時(shí),會(huì)進(jìn)行身份選擇與驗(yàn)證,可選擇學(xué)生和活動(dòng)發(fā)布者身份,然后進(jìn)入登錄界面,將用戶名和密碼與數(shù)據(jù)庫(kù)比對(duì)來(lái)判斷是否注冊(cè)過(guò),若已經(jīng)注冊(cè)則根據(jù)注冊(cè)時(shí)選擇的身份進(jìn)行功能劃分進(jìn)人首頁(yè)界面,否則將進(jìn)人注冊(cè)界面,待用戶注冊(cè)后再登錄進(jìn)入首頁(yè),然后打開(kāi)GPS設(shè)置實(shí)時(shí)定位,后臺(tái)將會(huì)將用戶所在位置的周邊信息獲取,用戶點(diǎn)擊地點(diǎn)圖標(biāo)即可動(dòng)態(tài)查看活動(dòng)信息,其程序流程圖如圖6所示
4.2 web服務(wù)器實(shí)現(xiàn)
本系統(tǒng)服務(wù)器是通過(guò)LAMP組合來(lái)搭建的web服務(wù)器,Computer Knowledge and TechnoIogy電腦知識(shí)與技術(shù)LAMP組合分別表示linux操作系統(tǒng),apache web服務(wù)器,Mysql數(shù)據(jù)庫(kù)以及PHP腳本程序。該服務(wù)器不需要編寫基于網(wǎng)頁(yè)的界面,而是通過(guò)采用HTTP請(qǐng)求、響應(yīng)進(jìn)行交互直接為Android客戶端提供數(shù)據(jù)訪問(wèn)接口。訪問(wèn)過(guò)程為用戶在Android客戶端發(fā)送標(biāo)準(zhǔn)的HTTP請(qǐng)求給服務(wù)器,當(dāng)APACHE服務(wù)器收到請(qǐng)求后,將請(qǐng)求消息再交由PHP腳本程序進(jìn)行處理,PHP腳本程序根據(jù)收到不同的動(dòng)作來(lái)觸發(fā)不同的程序,最終將數(shù)據(jù)交由APACHE返回給Android客戶端。
5結(jié)束語(yǔ)
在移動(dòng)終端普及度相當(dāng)高和移動(dòng)技術(shù)開(kāi)發(fā)火熱的今天,本系統(tǒng)用到了多種不同的編程技術(shù),已完成基本的學(xué)生實(shí)時(shí)活動(dòng)信息查看功能,學(xué)生和校園團(tuán)體組織可以通過(guò)此平臺(tái)快速獲取信息,具有很強(qiáng)的實(shí)用性和擴(kuò)展性。由于此項(xiàng)目實(shí)際應(yīng)用程度高,并且基礎(chǔ)設(shè)施費(fèi)用較低廉,使得本系統(tǒng)具有很好的擴(kuò)展性,此系統(tǒng)將不會(huì)僅局限于高?;顒?dòng)的宣傳,還可為學(xué)生提供,如校園內(nèi)每個(gè)地點(diǎn)的實(shí)時(shí)活動(dòng)定位查詢、校園內(nèi)及周邊商鋪和超市的優(yōu)惠信息定位查詢、課表查詢、校園周邊導(dǎo)航、節(jié)假日通知,校園通知等等便捷的校園服務(wù),為同學(xué)們提供快速、便捷的消息查看,節(jié)約時(shí)間,實(shí)時(shí)播報(bào)。稍加以改裝便可應(yīng)用于景點(diǎn),熱門商圈等。