曹陽陽 黎洪生 嚴(yán)麒
摘要:城市中隧道內(nèi)的積水影響著市民的出行安全,而我國目前的城市隧道積水遠(yuǎn)程監(jiān)測系統(tǒng)不能很好地滿足城市的需求,建立一個(gè)準(zhǔn)確、及時(shí)且方便的城市隧道積水遠(yuǎn)程監(jiān)測系統(tǒng)刻不容緩。監(jiān)測系統(tǒng)中的客戶端是極為關(guān)鍵的環(huán)節(jié)。文章對(duì)系統(tǒng)的Android客戶端進(jìn)行了研究與設(shè)計(jì)。
關(guān)鍵詞:隧道積水;遠(yuǎn)程監(jiān)測系統(tǒng);Android客戶端
自實(shí)行改革開放的基本國策以來,我國的經(jīng)濟(jì)發(fā)展速度在世界上都不能不說是一個(gè)奇跡。而在國家經(jīng)濟(jì)快速發(fā)展的同時(shí),國內(nèi)的城市化進(jìn)程也在逐步加快。隨著國內(nèi)城市化的進(jìn)行,城市交通的建設(shè)也在大力發(fā)展,在城市內(nèi)眾多交通設(shè)施之中城市隧道顯然扮演著不可忽視的角色[1]。據(jù)統(tǒng)計(jì)數(shù)據(jù)表明,我國已成為世界隧道及地下工程建設(shè)規(guī)模和建設(shè)速度第一大國。截至2013年年底,我國已有公路隧道11 359座,總長9 606公里。進(jìn)入新世紀(jì)以來,公路隧道年均增長率高達(dá)20%,且有逐年增速加快的趨勢(shì)。
然而在強(qiáng)降雨來臨時(shí),尤其是在夏季,各大城市經(jīng)常會(huì)出現(xiàn)隧道大量積水的現(xiàn)象,城市隧道一旦積水就可能會(huì)使得市民的財(cái)產(chǎn)安全與生命安全受到嚴(yán)重的威脅。每年夏天,市民驅(qū)車誤入積水較深的公路隧道而造成受傷或死亡的例子在新聞上時(shí)有播報(bào)。目前,國內(nèi)大多數(shù)城市安裝的隧道積水監(jiān)測系統(tǒng)并沒有達(dá)到實(shí)時(shí)、準(zhǔn)確且方便的目標(biāo),更不用說尚未安裝隧道積水監(jiān)測系統(tǒng)的城市,建立一個(gè)準(zhǔn)確、及時(shí)且方便的隧道積水監(jiān)測系統(tǒng)刻不容緩。
1 Android客戶端開發(fā)環(huán)境的搭建
古語云:“工欲善其事必先利其器,”設(shè)計(jì)系統(tǒng)也是同理。本系統(tǒng)采用Java語言設(shè)計(jì)Android客戶端,在設(shè)計(jì)客戶端之前,首先要做的就是開發(fā)環(huán)境的搭建。Android客戶端的開發(fā)環(huán)境一般按照以下幾個(gè)步驟搭建[2]。
(1)安裝Java開發(fā)工具包(Java Development Kit,JDK),其包含了Java的運(yùn)行環(huán)境,是Java開發(fā)的核心。
(2)安裝Eclipse,它是一款十分優(yōu)秀的集成開發(fā)環(huán)境(Integrated Development Environment, IDE).
(3)安裝安卓開發(fā)工具(Android Development Tools,ADT),它是Eclipse的一個(gè)插件,通過這個(gè)插件,Android開發(fā)環(huán)境才能配置完成。
(4)安裝支持Android運(yùn)行的虛擬設(shè)備(AndroidVirtual Device,AVD),它相當(dāng)于一個(gè)模擬器,設(shè)計(jì)完成的Android工程可以在這個(gè)模擬器上進(jìn)行模擬運(yùn)行。
通過以上幾個(gè)步驟,基本完成了Android客戶端開發(fā)環(huán)境的搭建,測試的結(jié)果如圖1所示,從圖中可以看到Android模擬器正常運(yùn)行,說明開發(fā)環(huán)境搭建成功。
2 客戶端的具體設(shè)計(jì)
2.1 客戶端的界面框架
在具體設(shè)計(jì)Android客戶端之前,首先要確定的是客戶端各個(gè)界面之間的操作流程。使用該客戶端的第一步便是啟動(dòng)軟件從而進(jìn)入登錄界面,登錄完成后則進(jìn)入客戶端的主界面,主界面顯示的是各個(gè)監(jiān)測隧道的名稱,點(diǎn)擊可查看各個(gè)監(jiān)測隧道的具體情況,每個(gè)隧道可能有多個(gè)監(jiān)測點(diǎn),在點(diǎn)擊單個(gè)監(jiān)測點(diǎn)后會(huì)顯示相應(yīng)的水位數(shù)據(jù)和現(xiàn)場的圖片。若想了解最近隧道積水水位的變化,則可點(diǎn)擊水位變化曲線查看近期水位的變化曲線。
2.2 客戶端網(wǎng)絡(luò)模塊的設(shè)計(jì)
Android客戶端網(wǎng)絡(luò)模塊的開發(fā)環(huán)主要分為以下幾個(gè)步驟[3]。
(1)確定Android客戶端需要訪問服務(wù)器端Web Service的命名空間和方法名。
(2)設(shè)置Android客戶端訪問服務(wù)器端的接口函數(shù)的參數(shù)值。
(3)獲取WebService接口方法中的SOAP請(qǐng)求信息。
(4)創(chuàng)建HttpTransportsSE對(duì)象并利用其構(gòu)造方法來定義WebService的URL鏈接,然后通過call方法來執(zhí)行WebService中的方法。
(5)通過SOAP請(qǐng)求信息中的getResponse方法得到服務(wù)器返回的結(jié)果。
2.3 客戶端登錄\注冊(cè)模塊的設(shè)計(jì)
在使用城市隧道積水監(jiān)測系統(tǒng)Android客戶端其他的功能之前,需要憑借注冊(cè)過的賬號(hào)和密碼登錄進(jìn)入客戶端的主界面,才可以正常使用客戶端(見圖2)。沒有賬號(hào)和密碼時(shí),使用者需要在注冊(cè)后方可使用。
2.4 數(shù)據(jù)展示模塊的實(shí)現(xiàn)
用戶進(jìn)入監(jiān)測系統(tǒng)Android客戶端的首頁后,可以看到各個(gè)監(jiān)測點(diǎn)的名稱,點(diǎn)擊名稱則可以查看該監(jiān)測點(diǎn)的水位數(shù)據(jù)以及現(xiàn)場的實(shí)時(shí)圖片。此時(shí),Android客戶端會(huì)向服務(wù)器端發(fā)送請(qǐng)求,應(yīng)用服務(wù)器從數(shù)據(jù)庫當(dāng)中取得對(duì)應(yīng)的數(shù)據(jù)后將數(shù)據(jù)以JSON格式[4]發(fā)送到Android客戶端,Android客戶端將JSON格式的數(shù)據(jù)解析后即可得到監(jiān)測點(diǎn)水位數(shù)據(jù)和現(xiàn)場的實(shí)時(shí)圖片,從而在界面對(duì)應(yīng)位置進(jìn)行顯示。
2.5 曲線繪制模塊
本系統(tǒng)的Android客戶端具有查看隧道積水歷史水位的功能,采用曲線圖的形式對(duì)歷史水位進(jìn)行展示。這里采用AChartEngine來繪制本系統(tǒng)的水位曲線圖[5],其具體實(shí)現(xiàn)過程如下。
(1)曲線繪制之前必須關(guān)聯(lián)相關(guān)的layout文件,需要在代碼中進(jìn)行定義:
setC ontentView( R.laYout.chartlaYout);
(2)關(guān)聯(lián)layout文件完成后就可以對(duì)曲線的數(shù)據(jù)源進(jìn)行設(shè)置。數(shù)據(jù)源準(zhǔn)備完成后對(duì)數(shù)據(jù)進(jìn)行初始化:
dataset.addSeries(water_levelSe);
dataset.addSeries(warning _lineSe);
(3)曲線的數(shù)據(jù)完成初始化后,對(duì)曲線的屬性進(jìn)行設(shè)置即可。
3 結(jié)語
本文首先介紹了Android客戶端開發(fā)環(huán)境的搭建,然后研究了Android客戶端的設(shè)計(jì)過程,從而完成了城市隧道積水遠(yuǎn)程監(jiān)測系統(tǒng)Android客戶端的設(shè)計(jì),對(duì)城市隧道積水的監(jiān)測具有重要意義,推動(dòng)了城市隧道積水監(jiān)測系統(tǒng)的發(fā)展。
[參考文獻(xiàn)]
[1]黃宏偉.城市隧道與地下工程的發(fā)展與展望[J]地下空間,2001(4):311-317,339
[2]張?jiān)?WindowsTAndroid應(yīng)用程序開發(fā)環(huán)境搭建詳解[J]計(jì)算機(jī)時(shí)代,2013 (1):32-34.
[3]黃淑靜,楊紅梅利用SON+WebService實(shí)現(xiàn)Android訪問遠(yuǎn)程數(shù)據(jù)庫[J]科技信息,2013(9):98-99,123.
[4]唐雪濤,蔣麗芳用JSON實(shí)現(xiàn)Android手機(jī)與后臺(tái)JSP系統(tǒng)集成的研究[J]計(jì)算機(jī)時(shí)代,2014 (6):19-20.
[5]張瑞卿基于Android手機(jī)客戶端的中央空調(diào)遠(yuǎn)程數(shù)據(jù)監(jiān)控系統(tǒng)研究[D].廈門:廈門大學(xué),2014.