賀靖淇
摘 要:隨著科技進(jìn)步和經(jīng)濟(jì)的高速發(fā)展,中國人民的生活水平不斷提高,汽車保有量不斷增長,車輛增多自然會影響到停車場的大小,于是現(xiàn)在的停車場場地大且地形復(fù)雜,很多車主都有過進(jìn)入大型停車場后尋空車位的麻煩或是要離開尋愛車難的尷尬。為了解決這個(gè)問題,該系統(tǒng)擬針對大型地面/地下停車場,設(shè)計(jì)一套完整的泊車和取車雙向引導(dǎo)系統(tǒng)。
關(guān)鍵詞:智能停車場 定位 停車引導(dǎo) 尋車引導(dǎo)
中圖分類號:U495 文獻(xiàn)標(biāo)識碼:A 文章編號:1674-098X(2016)11(c)-0001-02
1 研究背景和意義
1.1 研究背景
城市汽車保有量的逐步上升使得停車資源越來越緊缺,進(jìn)行合理的資源配置與合理的停車場管理迫在眉睫,同時(shí),城市為解決停車難的問題而大量興建大型的地面或地下停車場,尤其是商業(yè)地產(chǎn)的停車場規(guī)模越來越大,動(dòng)輒上千的停車位雖然緩解了停車難問題,但同時(shí)又帶來了新的麻煩——找車難。
1.2 研究意義
在商場、購物中心、醫(yī)院、銀行、機(jī)關(guān)等公共場所的大型停車場內(nèi),車主在返回停車場時(shí),由于停車場空間大、環(huán)境及標(biāo)志物類似、方向不易辨別等原因,容易在停車場內(nèi)迷失方向,尋找不到自己的車輛。該系統(tǒng)的反向?qū)ぼ嚹K通過ibeacon進(jìn)行室內(nèi)定位以確定當(dāng)前位置,結(jié)合已記錄的停車位置,即可在安卓平臺的應(yīng)用程序上顯示車主及車輛所處的位置,并規(guī)劃出最短路徑,以地圖的形式顯示在安卓平臺的應(yīng)用程序中,幫助顧客盡快找到車輛停放的區(qū)域。
2 概要設(shè)計(jì)
2.1 總體框架設(shè)計(jì)
該系統(tǒng)分為7個(gè)模塊:用戶信息管理、記錄停車位置、車位記錄管理、地圖概覽、入場停車、反向?qū)ぼ嚭推渌K。系統(tǒng)總體框架如圖1所示。
2.2 運(yùn)行環(huán)境要求
該系統(tǒng)為安卓平臺應(yīng)用程序,要求系統(tǒng)Android 4.3及其以上系統(tǒng),此外,該系統(tǒng)使用ibeacon進(jìn)行室內(nèi)定位,還需支持藍(lán)牙4.0。
3 詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)
本著簡潔易用的原則,系統(tǒng)主界面設(shè)計(jì)如圖2所示。
3.1 用戶信息模塊
該模塊主要實(shí)現(xiàn)用戶信息的管理,包括登錄、匿名登錄、密碼修改、注冊和注銷。
登錄:當(dāng)用戶點(diǎn)擊“登錄”按鈕時(shí),系統(tǒng)在后臺查詢數(shù)據(jù)庫后驗(yàn)證用戶名與密碼是否匹配,如果匹配則跳轉(zhuǎn)至系統(tǒng)主界面并設(shè)置全局變量username的值為當(dāng)前的用戶名;如果不匹配則提示用戶“用戶名或密碼錯(cuò)誤”。
匿名登錄:該模塊包括一個(gè)Button,Button的text屬性設(shè)置為“匿名登錄”,監(jiān)聽Button的點(diǎn)擊事件,當(dāng)用戶點(diǎn)擊“匿名登錄”按鈕時(shí),則跳轉(zhuǎn)至系統(tǒng)主界面并設(shè)置全局變量username的值為“”。
密碼修改:當(dāng)用戶點(diǎn)擊“密碼修改”按鈕時(shí),系統(tǒng)首先判斷新密碼與確認(rèn)密碼是否一致,如果不一致則提示用戶“新密碼與確認(rèn)密碼不一致”,如果一致則查詢數(shù)據(jù)庫后驗(yàn)證用戶名與密碼是否匹配,如果匹配,則提示用戶“修改密碼成功”,并跳轉(zhuǎn)至登錄界面;如果不匹配則提示用戶“用戶名或密碼錯(cuò)誤”。
注冊:當(dāng)用戶點(diǎn)擊“注冊”按鈕時(shí),系統(tǒng)驗(yàn)證密碼與新密碼是否一致,如果一致則保存用戶輸入的數(shù)據(jù)到數(shù)據(jù)庫,并跳轉(zhuǎn)至登錄界面;如果不一致則提示用戶“密碼與確認(rèn)密碼不一致”。
注銷:當(dāng)用戶點(diǎn)擊“注銷”按鈕時(shí),系統(tǒng)在后臺查詢數(shù)據(jù)庫后驗(yàn)證用戶名與密碼是否匹配,如果匹配則刪除用戶所有數(shù)據(jù),否則提示用戶“用戶名或密碼錯(cuò)誤”。
3.2 記錄停車位置模塊
當(dāng)用戶點(diǎn)擊“二維碼掃描”按鈕時(shí),系統(tǒng)打開攝像頭采集二維碼信息,調(diào)用zxing庫即可將二維碼中的位置信息解析成文本信息,然后將EditText的text屬性設(shè)置為解析后的位置信息,并將采集到的圖片在ImageView上顯示出來。當(dāng)用戶點(diǎn)擊“保存”按鈕時(shí),系統(tǒng)將位置信息、用戶名和時(shí)間等信息保存到數(shù)據(jù)庫中,實(shí)現(xiàn)車位的記錄。
3.3 車位記錄管理模塊
當(dāng)用戶點(diǎn)擊“全選”按鈕時(shí),選中ListView中的所有條目;當(dāng)用戶點(diǎn)擊“反選”按鈕時(shí),如果ListView中的條目已經(jīng)被選中,則取消該條目的選中,反之則選中該條目;當(dāng)用戶點(diǎn)擊“取消”按鈕時(shí),取消ListView中已經(jīng)選中的所有條目;當(dāng)用戶點(diǎn)擊“刪除”按鈕時(shí),系統(tǒng)將在數(shù)據(jù)庫中刪除ListView中已經(jīng)選中的所有條目對應(yīng)的位置信息,并在ListView中也刪除該條目的顯示。
3.4 入場停車模塊
停車場概覽模塊如圖3所示,當(dāng)用戶點(diǎn)擊“車位列表”按鈕時(shí),按區(qū)域顯示出所有車位的列表,當(dāng)用戶點(diǎn)擊一個(gè)列表時(shí),系統(tǒng)從數(shù)據(jù)庫中查詢相應(yīng)車位的位置在地圖中顯示出來,并設(shè)置起點(diǎn)位置;當(dāng)用戶點(diǎn)擊“固定車位”按鈕時(shí),系統(tǒng)獲取用戶注冊時(shí)的固定車位并顯示出來,當(dāng)用戶點(diǎn)擊相應(yīng)車位時(shí),系統(tǒng)從數(shù)據(jù)庫中查詢相應(yīng)車位的位置在地圖中顯示出來,并設(shè)置終點(diǎn)位置;當(dāng)用戶點(diǎn)擊“可用車位”按鈕時(shí),系統(tǒng)查詢每一個(gè)車位的空閑狀態(tài),將空閑車位顯示出來;當(dāng)用戶點(diǎn)擊相應(yīng)車位時(shí),系統(tǒng)從數(shù)據(jù)庫中查詢相應(yīng)車位的位置在地圖中顯示出來,并設(shè)置終點(diǎn)位置;當(dāng)用戶點(diǎn)擊“搜索”按鈕時(shí),系統(tǒng)先獲取相應(yīng)EditText的text屬性,根據(jù)該屬性從數(shù)據(jù)庫中查詢相應(yīng)車位的位置在地圖中顯示出來,并設(shè)置起點(diǎn)或終點(diǎn)的位置。當(dāng)用戶點(diǎn)擊“開始導(dǎo)航”按鈕時(shí),系統(tǒng)首先檢查是否確定了起點(diǎn)位置和終點(diǎn)位置,如果沒有確定則提示用戶“請確定起點(diǎn)位置和終點(diǎn)位置”,如果確定了起點(diǎn)位置和終點(diǎn)位置,則規(guī)劃出最短路徑并在地圖上顯示。入場停車主界面如圖4所示。
4 數(shù)據(jù)庫邏輯設(shè)計(jì)
該系統(tǒng)使用的數(shù)據(jù)庫表主要有:user_info、map、car_pos_info。
user_info主要用來存儲用戶的基本信息,包括用戶名、密碼和固定車位等信息。
map主要用于存儲地圖坐標(biāo)的信息,包括位置的名字、起點(diǎn)坐標(biāo)、終點(diǎn)坐標(biāo)和描述等信息。
car_pos_info主要用來存儲記錄的車位信息,包括車位位置、用戶名和記錄時(shí)間等信息。
5 結(jié)語
現(xiàn)在商用的入場停車引導(dǎo)與反向?qū)ぼ囈龑?dǎo)系統(tǒng)并不多,也不夠完善,使用成本也很高,這就給入場停車引導(dǎo)與反向?qū)ぼ囈龑?dǎo)系統(tǒng)的發(fā)展帶來了很大的困難。該文所做出的APP應(yīng)用,能夠完美解決入場停車難、反向?qū)ぼ囯y的難題。
參考文獻(xiàn)
[1] 郭霖.第一行代碼——Android[M].北京:人民郵電出版社,2014.
[2] 劉志成.Java進(jìn)階教程[M].北京:機(jī)械工業(yè)出版社,2013.
[3] 李剛.瘋狂Android講義[M].北京:電子工業(yè)出版社,2011.
[4] 李剛.瘋狂Java講義[M].北京:電子工業(yè)出版社,2008.