摘? 要: 為減小因停車問題造成的城市道路交通壓力,有效利用既有停車場資源,本文基于Android操作系統(tǒng),結合百度地圖API及移動支付,設計了基于Android的城市智能停車App。App采用C/S架構,客戶端使用Android Studio2.4開發(fā)平臺,開發(fā)了停車場及停車位查詢、停車位預約、停車場導航、停車計費和停車信息記錄等功能;服務器端使用Spring MVC+MyBatis框架,為客戶端各類服務提供有力支持;使用MySQL數(shù)據(jù)庫管理存儲用戶、停車場、系統(tǒng)等數(shù)據(jù)。App界面美觀大方、操作簡單、易于使用,極大地提高了停車場資源利用率,方便了廣大司機的短距離出行,提高了人們的生活質量。
關鍵詞: 智能停車;Android開發(fā);C/S架構;APP設計
中圖分類號: TP31 ???文獻標識碼: A??? DOI:10.3969/j.issn.1003-6970.2020.07.044
本文著錄格式:王蕊. 基于Android的城市智能停車App設計[J]. 軟件,2020,41(07):216-219
Design of City Smart Parking App Based on Android
WANG Rui
(The Third Research Institute of Ministry of Public Security, Shanghai 200031, China)
【Abstract】: In order to reduce the urban road traffic pressure caused by parking problems and effectively use the existing parking lot resources, this article is based on the Android operating system, combined with Baidu Maps API and mobile payment, an Android-based city smart parking app is designed. App uses C/S architecture, client uses Android Studio2.4 development platform, developed functions such as parking lot and parking space inquiry, parking space reservation, parking lot navigation, parking billing and parking information recording; Spring MVC + The MyBatis framework provides powerful support for various services on the client side; the MySQL database is used to manage and store user, parking lot, system and other data. The App interface is beautiful, easy to use, and easy to use, which greatly improves the utilization rate of parking lot resources, facilitates short-distance travel for drivers, and improves peoples life quality.
【Key words】: Intelligent parking; Android development; C/S architecture; APP design
0? 引言
截至2019年6月,全國汽車保有量達2.5億輛[1]。日益增加的汽車數(shù)量使“停車難”問題逐漸成為制約我國大中城市發(fā)展的“瓶頸”,因為泊車人群在道路上盲目尋找泊位,在一定程度上增加了城市道路交通的負擔,使城市“堵上添堵”,交通負擔越來越重。為方便廣大司機查詢、預定、導航到附近泊位,合理安排停車,有效利用既有停車資源,減少因停車問題而額外附加的交通量,降低相關部門在城市停車場及泊位管理所花費的成本[2-3]。本文利用互聯(lián)網(wǎng)+智能停車思維,使用全球移動智能手機系統(tǒng)占有率第一的Android操作系統(tǒng)[4]設計實現(xiàn)了基于Android的城市智能停車App(以下簡稱“智能停車App”)。
1 ?智能停車App的功能與模塊設計
本文采用C/S架構,基于根據(jù)面向對象的程序設計思想,遵循“高內(nèi)聚、低耦合”的設計原則[5]設計了智能停車App。
1.1? App端系統(tǒng)設計
筆者對智能停車App的需求進行了分析,將智能停車App端功能分為:“停車”、“附近”和“我的”三大部分。
(1)“停車”是App端功能的主模塊也是App的入口?!拔乙\嚒?、次日續(xù)時、快速充值為司機提供查詢、預約泊位車前的快捷、必要服務;停車資訊模塊則是為提升App友好性,幫助司機了解汽車相關資訊信息而設計。“停車”相關界面見圖4。
(2)“附近”是App端功能的核心模塊??刹樵兏浇\噲黾安次唬ǜ浇卸嗌賯€停車場、有多少泊位,目前還有多少個空位),司機查詢到泊位后進行繳費、預定泊位并生成預定二維碼;為滿足司機多種導航需求,App使用百度地圖API,利用其基于位置服務(LBS)技術,提供“系統(tǒng)推薦、距離最短、花費最少、躲避擁堵”四種方式導航到停車場,為用戶定位、尋找、導航到附近停車場提供便利。“附近”相關界面見圖5。
(3)“我的”是App端功能的個性化模塊。司機可通過“我的錢包”清晰了解賬戶余額及消費情況;“停車記錄”以時間軸形式對司機停車時間、地點、費用等信息進行記錄;投訴建議模塊方便司機朋友反饋使用過程中遇到的問題,從而幫助筆者優(yōu)化App;版本信息和關于我們兩模塊可為筆者科學管理App版本提供支持?!拔业摹毕嚓P界面見圖8。智能停車App端功能結構見圖6。
使用智能停車App的司機在Android操作系統(tǒng)的手機上,用GPS對當前位置進行定位;司機登錄App查詢自己所要前往目的地附近的停車場及泊位信息,選擇可??康耐\噲霾⑦M行泊位預約;取得包含停車時間、泊位號、費用等信息的二維碼,方便用戶進入停車場時驗證泊位;預約成功后,司機可根據(jù)需求使用App提供的導航方式進行到停車場前的導航,讓司機能夠更加快捷地到達自己預約的停車場[6-8]。App端主要流程如圖2所示。
1.2 ?服務器端系統(tǒng)設計
服務器端MyEclipse作為編碼工具,使用Spring、Spring MVC、MyBatis等主流Java Web框架進行后臺服務開發(fā)。其中Spring MVC的DispatcherServlet截獲所有App端發(fā)送的HTTP請求,并根據(jù)映射關系將每個請求發(fā)送到合適的處理方法,在進行數(shù)據(jù)處理的過程中,根據(jù)需要可將服務器端和客戶端的數(shù)據(jù)存入MySQL數(shù)據(jù)庫中進行持久化保存,為管理員對用戶管理、停車場管理和投訴查詢等提供數(shù)據(jù)支持,確保用戶在查詢、預約泊位時信息的準確、及時,最后使用視圖向客戶端App返回響應結果并在App上展示。服務器端主要流程如圖3所示。
1.3 ?數(shù)據(jù)庫設計
智能停車App數(shù)據(jù)庫設計主要涉及到服務器端權限以及資料存儲的實現(xiàn)[9],筆者以停車場和用戶為實體,利用MySQL數(shù)據(jù)庫設計建立數(shù)據(jù)模型,將系統(tǒng)各個角色涉及的數(shù)據(jù)分類存入數(shù)據(jù)庫,并對數(shù)據(jù)庫進一步優(yōu)化[10-11]形成各類數(shù)據(jù)表。智能停車App中的數(shù)據(jù)表包括:停車位信息表(carport_info)、停車記錄信息表(carport_record)、投訴信息表(complain)、停車場信息表(depot_info)、角色信息表(sys_role)、用戶信息表(sys_user)和錢包信息表(wallet_info)。停車位信息表結構見表1。
1.4 ?UI設計
智能停車App界面使用谷歌提供的Material Design語言[12]作為界面設計語言,靈活運用Android Studio2.4開發(fā)平臺提供的TextView、ImageView、EditView、Button等控件及LenearLayout、Relative?Layout和FrameLayout等布局組件完成界面設計[13]。App部分界面效果圖如圖4、5、6所示。
2 ?總結
本文完成了基于Android的城市智能停車App客戶端、服務器端及數(shù)據(jù)庫的設計。通過使用智能停車App線上查詢、預訂泊位、導航到停車場等服務,可有效提高停車場基礎設施的利用率、降低泊位空置率,減少駕駛者排隊等候時間,緩解道路交通壓力,具有良好的經(jīng)濟效益和社會效益[14]。
參考文獻
<!--[if !supportLists]-->[1]?????? <!--[endif]-->中國政府官網(wǎng). 2019年上半年全國機動車保有量達3. 4億輛. [EB/OL]. (2019-07-04)[2020-03-07]. http://www.gov.cn/ xinwen/2019-07/04/content_5405841.htm.
<!--[if !supportLists]-->[2]?????? <!--[endif]-->陳耀. 城市停車誘導信息系統(tǒng)[D]. 浙江大學, 2013, 1-2.
<!--[if !supportLists]-->[3]?????? <!--[endif]-->羅超. 停車走進智慧新時代[J]. 中國公共安全, 2016, (16): 76-80.
<!--[if !supportLists]-->[4]?????? <!--[endif]-->中國報告大廳官網(wǎng). 安卓手機市場占有率. [EB/OL]. (2017-09-14) [2020-03-07]. http://m.chinabgao.com/k/shouji/ 29137.html.
<!--[if !supportLists]-->[5]?????? <!--[endif]-->程春蕊, 劉萬軍. 高內(nèi)聚低耦合軟件架構的構建[J]. 計算
機系統(tǒng)應用, 2009, 18(07): 19-22.
<!--[if !supportLists]-->[6]?????? <!--[endif]-->吳惠惠. 智能停車引導及NFC支付系統(tǒng)的設計與分析[J]. 電子科技, 2015, (8): 122-125.
<!--[if !supportLists]-->[7]?????? <!--[endif]-->李廣宇, 李益樂, 張文亮, 等. 智能停車導航系統(tǒng)構建的必要性及可行性分析[J]. 軟件, 2018, 39(7): 17-23.
<!--[if !supportLists]-->[8]?????? <!--[endif]-->趙一州. 大中型停車場智能泊車導航系統(tǒng)研究[J]. 軟件, 2018, 39(10): 116-120.
<!--[if !supportLists]-->[9]?????? <!--[endif]-->陸相任. 基于Android平臺開發(fā)的師生學習交流APP[J]. 軟件, 2018, 39(04): 21-23.
<!--[if !supportLists]-->[10]??? <!--[endif]-->徐安令. SQL Server 數(shù)據(jù)庫的查詢優(yōu)化[J]. 軟件, 2014, 35(2): 88-89.
<!--[if !supportLists]-->[11]??? <!--[endif]-->宋紅凱, 杜洪波, 程宇航, 張先卓. 基于“百度地圖”的掌上校車APP設計[J]. 軟件, 2019, 40(05): 21-25.
<!--[if !supportLists]-->[12]??? <!--[endif]-->百度百科. Material Design. [EB/OL]. (2017-05-26) [2020-03- 07]. https://baike.baidu.com/item/Material%20Design/16011141? fr=aladdin.
<!--[if !supportLists]-->[13]??? <!--[endif]-->郭霖. 第一行代碼[M]. (第2版). 人民郵電大學出版社: 陳冰, 2014,: 77-141.
<!--[if !supportLists]-->[14]??? <!--[endif]-->洪桂香. 智慧停車如何緩解停車難[J]. 中國公共安全, 2016, (10): 102-110.