周星辰 劉家輝 史夢婭 陳彥儒 牛云云
摘 要:市政維護是城市管理問題中的難題。長期以來,市民與市政維護部門缺乏溝通途徑,無形中增加了市政維護部門服務市民的難度。為此,開發了一款以Java語言編寫、基于Android平臺的新型市政維護管理APP。該系統使用SQLite和MySQL數據庫進行數據存儲,根據用戶上傳維修點自動分配維修人員,并利用集成的環信即時通訊接口實現維護部門和上報市民的及時溝通。任務完成后,報修市民可以對維修服務打分,系統將維修記錄上傳到服務器端保存。該APP已應用于中國地質大學(北京)校內維護管理工作。實踐證明,該APP能夠較好地滿足實際工作需要,提高維護部門工作效率和群眾滿意度。
關鍵詞:Android;市政維護;SQLite;MySQL;百度地圖;GIS
DOI:10. 11907/rjdk. 191488 開放科學(資源服務)標識碼(OSID):
中圖分類號:TP319文獻標識碼:A 文章編號:1672-7800(2020)002-0048-05
英標:Municipal Maintenance Management APP Based on Android Platform
英作:ZHOU Xing-chen, LIU Jia-hui, SHI Meng-ya, CHEN Yan-ru, NIU Yun-yun
英單:(School of Information Engineering, China University of Geosciences, Beijing 100083, China)
Abstract: Municipal maintenance is a tough task in urban management. For a long time, the lack of communication between the citizens and the municipal maintenance department has virtually increased the difficulty for the municipal maintenance department to serve the citizens. A new municipal maintenance management APP was developed based on the Android platform in Java. The system uses SQLite and MySQL database for data storage, and can automatically assign maintenance personnel according to the users' uploading service point, and use the integrated ring-new instant messaging interface to achieve timely communication between the maintenance department and the reporting citizen. After the task is completed, the repairing public can score the repair service, and the system uploads the maintenance record to the server for storage. The APP has been applied to the internal maintenance management of China University of Geosciences (Beijing). Practice has proved that the APP can better meet the needs of actual work and improve the work efficiency and mass satisfaction of the maintenance department.
Key Words: Android; municipal maintenance; SQLite; MySQL; BaiduMap; GIS
0 引言
市政維護工作是城市管理中的難題。長期以來,市政維護任務存在數據更新慢、審批效率低、檢查準確性差、信息共享困難等問題[1-3],給城市管理者和普通市民帶來不便。市民只能通過有限的幾種途徑,如打電話、寫信和上門等方式,將維護需求上報給市政維護部門,無形中增加了維護工作難度。隨著城市規模擴大、人口規模增長和市民對生活質量要求的提高,市政維護部門也承擔著與日俱增的壓力。因此,只有提高市政維護工作的高效化、人性化和便捷化水平,市政維護部門才能夠更好地為城市提供服務。
截至2018年6月,我國手機網民規模達到7.88億,網民使用手機上網的比例達到98.3%[4],同時智能手機有強融合性和高便攜性的特性[5],因此基于智能手機的應用軟件受到軟件開發人員重視。盡管移動端軟件數量不斷增加,但隨著產業信息化的發展,市場對于專業移動端軟件的需求依然持續增長。
近年來,將智能手機與城市管理相結合的城市管理理念受到國內外城市管理研究者的廣泛關注[6-9]。我國在該領域進展顯著,一些城市已經不同程度地實現了智能手機與城市管理的結合[10-13],也有成功將智能手機應用在城市管理多個方面的實例,如:于斌等[14]開發了基于云平臺的手機智能停車場查詢系統;李昆[15]研究基于Android平臺的智慧城市客戶端,用于城市綜合管理;喻宏進等[16]設計了基于云平臺的城市照明設備分布式綜合管理系統等。在市政維護領域,國內已經開發了多款APP,用于鼓勵與幫助市民參與市政維護建設工作[17-20]。這些軟件內容各有特色,服務的城市背景也各不相同,但不同程度上均存在一些缺點,如:潘國富等[17]設計的市政管理系統不支持維修人員與普通市民的即時通訊;趙國忠等[18]設計的市政維護APP不支持普通市民參與市政維護工作,而且維護內容僅包括檢測設施病害;黃一峰等[19]設計的城市管理APP不支持上傳視頻等。當前市面上主要的操作系統包括IOS操作系統和Android操作系統。目前,Android操作系統市場占有率已經達到80%以上。為了更好滿足市民上報維護需求,提高市政維護工作效率,本文采用Android Studio作為開發工具,開發一款基于Android平臺的市政維護管理APP,其主要創新點包括:
(1)完善的數據庫設計。該APP采用SQLite數據庫與MySQL數據庫,可完整保存維修點、維修過程和維修結果的詳細信息,為日后市政維護統計工作提供詳實的資料,極大方便了市政維護統計與管理工作。
(2)豐富的溝通手段。該APP為維修人員和報修人員提供多種溝通手段,較一些現有市政維護APP更加豐富,能夠極大方便維修人員和報修人員溝通交流,進而顯著改善維修效率和維修結果,提高市民滿意度。
(3)便捷的地圖操作方式。該APP通過調用百度地圖API接口,可為用戶提供清晰準確的地圖界面,方便用戶使用。同時,維修點位置在地圖界面進行標注,并為維修人員提供路徑導航,極大便利維修人員前往維修點進行維修,提高維修效率。
1 系統設計思想
為了實現數據及時上傳,滿足系統功能,本文提出的市政維護管理APP主要分為Android客戶端和服務器端。客戶端采用SQLite管理數據,服務器端采用MySQL管理數據。
本系統目標功能分為4點:維修點上傳功能、維修點展示功能、維修點評論功能、維修者與上傳者交互功能。
在借鑒市面上現有APP的基礎上,同時通過調查,了解當前市政維護需求,進而實現更完善的功能、更便捷的操作和更人性化的界面。
2 系統開發與實現
2.1 系統功能設計
經過功能劃分,APP主要包含以下六大功能:①登錄和注冊功能;②上傳文字、圖片等維修信息功能;③地圖、定位和導航功能;④顯示與查看維修點功能;⑤上傳評論與查看評論功能;⑥即時通訊功能。
2.2 系統界面設計
本文提出的市政維護管理APP采用fragment布局,將界面分成多個功能區域。
APP包括兩種目標用戶:維修人員和普通用戶,并為兩種用戶提供不同界面:維修界面和用戶界面。進入APP后首先進行身份選擇,其中,維修人員賬號由市政維護公司統一注冊和發放,因此維修人員無需注冊即可直接登錄。普通用戶首次使用需注冊賬號再登錄。
維修界面左側設置側滑欄,上部展示維修者姓名、技能和所屬公司,中部為“積分”、“排名”、“消息中心”、“維修相關”、“我的好友”和“幫助和反饋”功能區,下部為“設置”和“退出”功能區。主界面上部可以選擇查看新任務和已完成維修任務,下部展示任務信息,點擊后展示詳細信息。
用戶界面下方設置功能區欄,包含“首頁”、“地圖”、“報警記錄”和“我的”4種功能區。首頁通過訪問天氣API接口獲取今日天氣,并顯示對應圖片。圖片下方信息,通過http方式的get方法獲取服務器端中存儲的維修信息。“地圖”功能區展示地圖信息,并可以通過點擊編輯按鈕上傳維修申請信息,“報警記錄”功能區展示已上傳的維修申請信息;“我的”功能區上部包含用戶名、手機號、報警信息和報警等級信息;中部包含“積分”、“評價”、“消息中心”、“幫助和反饋”和“設置”5個功能區。
2.3 系統數據庫設計
客戶端數據庫模型如圖1所示,其中,record為報警記錄表,用于存儲用戶報警記錄信息,其產生的信息對應一個維修點,保存內容包括經緯度、上報時間、上報人、維修工等信息;comment為評論表,用于存儲用戶評論信息,其產生的信息對應一條評論,保存內容包括經緯度、評論時間、內容、評分等;repair為維修表,用于存儲維修工處理的維修點信息,其產生的信息對應一個維修點,保存內容包括經緯度、完成時間、維修類型等。三者均以ID為主鍵,經緯度作為區分,即一個經緯度對應一個維修點。
2.4 系統功能實現
2.4.1 登錄與注冊功能
本文提出的APP采用環信提供的第三方接口,實現上報用戶和維修人員的即時通信,并用于輔助實現登錄和注冊功能。
注冊時,用戶將注冊手機號輸入到指定區域內,點擊獲取驗證碼按鈕,服務器端產生驗證碼,發送到用戶提供號碼的手機上,由用戶輸入驗證碼并點擊注冊按鈕。當驗證碼與服務器端一致時,服務器將用戶信息寫入數據庫,然后通過rest API將用戶手機號和密碼寫入環信數據庫,實現用戶注冊過程。注冊時,所有用戶信息保存在服務器端,環信端僅保存用戶手機號和密碼。
登錄時,用戶和維修工輸入用戶名和密碼,點擊登錄按鈕,將兩個數據通過http方式的post方法傳送到服務器端,通過數據庫,查詢目標用戶是否存在。如果存在,則讀取用戶在環信的昵稱信息,通過rest API將信息傳送到環信網站,實現登陸過程。登錄完成后,APP通過SharedPreferences將登錄信息存儲在本地,用于判斷登錄狀態。
2.4.2 維修信息功能上傳
APP采用Struts2框架實現文字、圖片以及維修類型和坐標信息的上傳。維修信息到達服務器端后,服務器以緩存的方式接收圖片文件并存放到指定位置,隨后將這些信息寫入對應的數據庫表中存放維修信息。
上傳圖片時,考慮到Android手機照相時,相片可能達到數兆大小,通過4G網絡上傳相片到服務器時可能出現超時。因此,APP采用壓縮算法將圖片壓縮至數百KB,但清晰度損失較低。圖片壓縮方式一般包括3種:尺寸壓縮、質量壓縮和通過JNI調用libjpeg庫進行壓縮。本文APP綜合采用這3種方式,確保圖片壓縮的同時獲得最佳清晰度。
2.4.3 地圖、定位和導航功能
本文提出的APP采用百度地圖API接口,實例化BaiduMap對象顯示地圖。在用戶界面,用戶進入“地圖”功能區后,通過定位函數進行定位,然后訪問服務器,將距離自己一定范圍內的維修點坐標取到客戶端,隨后在地圖上通過addOverlay()函數添加覆蓋物。點擊覆蓋物,會產生一個采用AndroidSlidingUpPanel控件實現、可向上滑動的滑動面板。通過逆地理編碼技術,將坐標信息上傳到百度地圖服務器端進行逆地理編碼,產生POI列表。選取該POI列表中距離最近的一個,獲得覆蓋物對應的位置信息和與用戶距離,并由該滑動面板顯示。
在維修界面,當維修工接到維修任務時,維修工可以進入任務詳情頁,點擊導航按鈕,APP將維修工實時位置作為起點,維修地點作為終點,傳入導航界面。在導航界面,有3個導航方式,分別是騎行導航、步行導航和AR步行導航。維修工可以選擇任意一種方式進行導航。
2.4.4 顯示與查看維修點功能
顯示與查看維修點功能通過ListView和SQLite實現。在用戶界面的“報警記錄”功能區,客戶端從服務器端查詢對應信息,并通過SQLite建立本地數據庫,隨后將存儲在本地的信息顯示在ListView中,用戶點擊即可查看維修點相關信息。同時,用戶也可在地圖界面點擊地圖上的覆蓋物以查看維修點相關信息。在維修界面,與報警記錄功能區類似,維修工點擊即可查看維修點信息。
2.4.5 上傳評論與查看評論功能
上傳評論與上傳維修點信息方法類似,均通過Struts2框架實現相關信息上傳。查看評論功能通過ListView和SQLite實現。評論時,用戶進行緊急程度評分、拍照以及文字評論,APP將評論信息以及照片上傳到服務器端。顯示信息時,客戶端從服務器端查詢對應信息,并使用SQLite建本地數據庫,隨后將存儲在本地的信息顯示在ListView中。用戶和維修工均可通過點擊查看相關評論。
2.4.6 即時通訊功能
即時通訊功能通過調用較為成熟的環信接口實現,聊天界面則使用環信提供的easeUI庫,并進行適當刪減和擴充,以適應實際情況。
3 系統測試
3.1 登錄和注冊功能測試
用戶打開APP后,首先需選擇用戶身份。如果選擇普通用戶,則允許進行新用戶注冊。注冊后的普通用戶可以直接登錄。維修人員必須先由市政維護公司完成注冊,才可直接登錄。
具體測試流程如下:首先,在主界面選擇身份。測試登錄功能,點擊“普通用戶”,進入登錄界面,輸入賬號和密碼,之后點擊“登錄”按鈕進行登錄。維修人員登錄流程與普通人員相同。之后測試注冊功能,點擊“新用戶注冊”,輸入手機號,點擊“獲取驗證碼”獲得臨時驗證碼再輸入,之后填入密碼并確認,點擊“注冊”按鈕進行注冊。
3.2 上傳文字、圖片和視頻功能測試
普通用戶可以進行維護點上傳。上傳內容包括文字、圖片和視頻。上傳之后可以在首頁中的上傳維修點展示界面看到已經上傳的維修點。
具體測試流程如下:點擊“地圖”,系統將自動定位用戶當前位置;點擊左下角“編輯”,在文字輸入框輸入維護點信息,并點擊“拍照上傳”,拍攝照片或視頻;點擊“發送”后,點擊“首頁”,可以看到已經上傳的維修點。
3.3 地圖、定位和導航功能測試
用戶可以使用地圖功能進行定位,并可查看到自己所在位置附近一定距離內的維修點。維修人員可使用地圖功能查看目標維修點所處位置,并進行導航。
具體測試流程如下:使用維修人員賬號登錄,點擊“地圖”,進入地圖界面開始定位,同時展示附近維修點和目標維修點;點擊目標維修點,再點擊“步行導航”,系統將展示最佳路線。
3.4 顯示與查看維修點功能測試
用戶可查看維修點信息。維修人員可查看新的維修任務和已完成的維修任務。
具體測試流程如下:使用普通用戶賬號登錄,上傳一個維修點;使用維修人員賬號登錄,點擊“新任務”,再點擊第一條任務,了解該任務信息;點擊“已完成”,使任務進入該區域。
3.5 上傳評論與查看評論功能測試
用戶可以選擇附近維修點進行評論,并進行緊急程度評分。
具體測試流程如下:使用普通人員賬號登錄,點擊“地圖”,點擊附近維修點,再點擊星星進行評分;點擊文本輸入框,輸入評論內容,再點擊“發表”,點擊“返回”,即可實現評論。點擊“評論”可以查看詳細內容。
3.6 即時通訊功能測試
普通用戶和維修人員可以使用即時通訊功能實現單獨交流,包括發送文字、表情、語音、圖片和位置等信息進行交流。
具體測試流程如下:分別使用普通人員和維修人員賬號登錄,點擊同一個維修任務,點擊“即時通訊”,進入聊天;點擊“表情”,發送表情;點擊“語音”,錄入語音并發送;點擊加號,可以點擊“拍照”、“圖片”和“位置”,分別用來發送照片、圖片與所在位置信息。
3.7 其它界面測試
信息界面內容豐富,包括積分、評價、消息和設置等功能。普通用戶可以上傳有效的維修點獲取積分,維修人員可以通過完成維修服務得到用戶評價并獲取積分。
4 結語
實際生活中,電話溝通等傳統方式申請市政維護服務存在明顯局限性。因此,為方便市民廣泛參與市政維護工作,本文采用Java語言開發了一款基于Android平臺的市政維護管理APP。該APP首先在手機客戶端利用SQLite數據庫保存市民上傳的維修點,隨后上傳數據到服務器端,使用MySQL數據庫保存數據,并在集成的百度地圖上進行顯示。系統隨后通知市政維護部門派遣專業維修人員進行維護工作,并利用集成的環信即時通訊接口,實現維護部門和上報市民的及時溝通。任務完成后,上報市民可以對維修服務進行評分,系統將維修記錄上傳到服務器端進行保存,從而完成了整個維護工作。
相對于傳統申請市政維護服務方式,該APP集成了報修點快速上傳、報修點地圖顯示、市民評價、及時通知到市政維護部門、導航、維修人員與上報市民及時溝通、服務評價等功能,具有方便性、高效性和易操作性等特點,能夠顯著降低市民申請市政維護服務的難度,提高市政維護工作效率和質量,進而提高市民滿意度。該APP已應用于中國地質大學(北京)校內維護管理。經問卷調查證明,該APP能夠很好地滿足日常管理需要,提高了維護部門工作效率和群眾滿意度。因此,本文開發的市政維護管理APP在實際市政維護管理工作中具有一定的使用價值。在系統開發后期,還需實現更多系統功能,以滿足市政維護工作具體功能需求。
參考文獻:
[1] 劉濤,彭清山,張淼. 基于GIS的城市規劃管理信息系統的研究[J]. 測繪通報,2011(6):57-59.
[2] 嚴榮華,牛明光,許禮林,等. Office GIS在城市規劃管理中的應用[J]. 測繪通報,2005(10):64-67.
[3] 謝世杰. 基于Internet的城市規劃管理信息系統的研究[J]. 測繪通報,2000(9):15-17.
[4] 中國互聯網絡信息中心. 第42次《中國互聯網絡發展狀況統計報告》[EB/OL]. http://www.cnnic.cn/hlwfzyj/hlwxzbg/hlwtjbg/201808/t20180820_70488.htm.
[5] 劉戰雄,宋廣文. 智能手機與生活方式變遷及其影響[J]. 科學技術哲學研究,2018(35):111-116.
[6] 郭大林. 從“數字化”到“互聯網+”:城市管理的多元共治之道[J]. 求實,2018(6):74-84.
[7] 楊俊宴. 全數字化城市設計的理論范式探索[J]. 國際城市規劃,2018(1):7-21.
[8] 韓福生. 泉州市城市管理的數字化與“智慧城市”建設的思考[J]. 現代經濟信息,2019(1):486-488.
[9] KEERTIKUMAR B,MAHALANKM S N,BANAKAR R M. APP controlled: cloud service oriented smart city traffic management[C]. Indore:Symposium on Colossal Data Analysis and Networking,2016.
[10] BRANDT T, KETTER W, KOLBE L M, et al. Smart cities and digitized urban management[J]. Business & Information Systems Engineering, 2018(3):193-195.
[11] 蔣曉青. 桂林市數字化城市管理系統[J]. 數字技術與應用, 2018(3):96-98.
[12] 侯宇紅. 洛陽市數字化城市管理系統設計與實現[J]. 中國管理信息化, 2016(19):169-171.
[13] 姚金明,鄭新奇. 數字化城市管理信息系統建設探討——以濟南市歷下區為例[J].? 軟件導刊,2008(3):18-19.
[14] 于斌,余紅珍. 基于云數據平臺的手機智能停車場查詢系統設計與實現[J]. 軟件導刊,2018(17):111-113.
[15] 李昆. 基于Android平臺的智慧城市客戶端設計與實現[J]. 軟件導刊,2019(2):76-78.
[16] 喻宏進,徐源,李朋. 基于云平臺的城市照明設備分布式綜合管理系統設計[J]. 軟件導刊,2015(9):150-152.
[17] 潘國富. 基于GIS的智慧市政管理系統的建設與應用[J]. 市政設施管理,2017(1):56-58.
[18] 趙忠茂. “掌上市政”:市政基礎設施營養系統解決方案[J]. 市政技術,2017(5):11.
[19] 黃一峰. 基于城市管理App設計與實現[J]. 計算機產品與流通,2018(2):149-151.
[20] 陳紅玉. 移動互聯網在城市管理中的運用探索[J]. 青年記者,2014(32):72-73.
(責任編輯:江 艷)