曹陽陽 黎洪生 嚴麒


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