摘 要:本文設(shè)計(jì)開發(fā)了一款運(yùn)行于Android系統(tǒng)終端的“智能愛車”APP,這是一款基于移動(dòng)互聯(lián)網(wǎng)運(yùn)行的車輛管理應(yīng)用軟件,旨在為車主用戶提供更加方便快捷的愛車管理體驗(yàn)。采用云存儲的方式,將服務(wù)器構(gòu)建在Bmob云平臺上,實(shí)現(xiàn)系統(tǒng)資源管理的時(shí)間靈活性和空間靈活性。借助Bmob云、百度地圖等第三方架包實(shí)現(xiàn)預(yù)約加油、在線支付等功能,為汽車管理類移動(dòng)應(yīng)用程序的開發(fā)和改進(jìn)提供一定借鑒。
關(guān)鍵詞:云存儲;Android;智能愛車APP
中圖分類號:TP311.56;TP316 文獻(xiàn)標(biāo)識碼:A 文章編號:1003-5168(2018)25-0030-04
當(dāng)前,我國社會(huì)經(jīng)濟(jì)迅速發(fā)展,人們的生活條件越來越好,無論是在單位還是在普通家庭中,汽車已經(jīng)代替自行車成為最重要的交通工具。隨著信息技術(shù)的發(fā)展,汽車加油方式也逐漸由人工現(xiàn)金模式向加油儲值卡自助加油模式轉(zhuǎn)變,這在一定程度上提高了加油效率、降低了人工成本,但是,我們依然能遇到在加油站排長隊(duì)等候加油的場景。這主要是因?yàn)槔眉佑涂ㄗ灾佑鸵话阈枰?jīng)過插卡讀卡、輸入密碼、選擇加油量和提槍加油等步驟流程,中間過程較為復(fù)雜,限制了加油效率的提升空間[1]。因此,希望研究出更為快捷的方式以有效改善這種現(xiàn)狀。
隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,尤其是云計(jì)算的出現(xiàn),解決了系統(tǒng)資源管理的時(shí)間靈活性和空間靈活性問題,實(shí)現(xiàn)了系統(tǒng)資源管理的彈性,可以大大降低應(yīng)用軟件的運(yùn)行成本,使開發(fā)推廣一款能滿足廣大車主同時(shí)注冊使用的互聯(lián)網(wǎng)應(yīng)用軟件成為可能。為此,本文嘗試借助云存儲技術(shù)設(shè)計(jì)開發(fā)一款基于移動(dòng)互聯(lián)網(wǎng)運(yùn)行于Android系統(tǒng)終端的車輛管理應(yīng)用軟件,除實(shí)現(xiàn)預(yù)約加油功能外,還具有為用戶提供違章查詢、車況查詢等功能,為車主提供方便快捷的愛車管理體驗(yàn)。
1 系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
本文的APP系統(tǒng)采用Client/Server結(jié)構(gòu),通過Bmob云存儲服務(wù)器,實(shí)現(xiàn)用戶與系統(tǒng)交互,獲取系統(tǒng)服務(wù)。該系統(tǒng)的開發(fā)基于Android系統(tǒng)平臺,后臺基于Bmob云平臺進(jìn)行創(chuàng)建,采用Bmob云存儲技術(shù)來實(shí)現(xiàn)[2]。將系統(tǒng)數(shù)據(jù)庫創(chuàng)建在Bmob云中,通過對數(shù)據(jù)庫中各項(xiàng)數(shù)據(jù)的存取實(shí)現(xiàn)對系統(tǒng)數(shù)據(jù)的管理。為了使該APP系統(tǒng)的結(jié)構(gòu)層次清晰明了,采用結(jié)構(gòu)化設(shè)計(jì)方法,根據(jù)APP各項(xiàng)目標(biāo)功能相互之間的聚合性和獨(dú)立性,劃分出一系列功能模塊,然后用模塊化開發(fā)方法逐步實(shí)現(xiàn)各項(xiàng)目標(biāo)功能。
1.1 系統(tǒng)部署架構(gòu)設(shè)計(jì)
該APP系統(tǒng)采用云存儲的方式,將服務(wù)器構(gòu)建在Bmob云平臺上,而客戶端則是基于Android系統(tǒng)平臺開發(fā),采用C/S架構(gòu)模式實(shí)現(xiàn)用戶和系統(tǒng)交互運(yùn)行,整體架構(gòu)設(shè)計(jì)如圖1所示?;贐mob移動(dòng)云平臺提供的各種SDK開發(fā)包,實(shí)現(xiàn)注冊登錄、消息推送和在線支付等功能,借助百度等第三方架包實(shí)現(xiàn)定位、查詢等其他功能[3]。智能愛車APP部署架構(gòu)設(shè)計(jì)如圖1所示。
1.2 系統(tǒng)功能設(shè)計(jì)
“智能愛車”APP軟件是一款基于移動(dòng)互聯(lián)網(wǎng)運(yùn)行的車輛管理應(yīng)用軟件,該APP的主要用戶是廣大車主,因此要求軟件一定要界面簡潔,易于使用。另外,為了便于APP系統(tǒng)各項(xiàng)功能的實(shí)現(xiàn),采用結(jié)構(gòu)化設(shè)計(jì)方法劃分出一系列功能模塊,主要包括用戶管理模塊、車輛管理模塊、地圖應(yīng)用模塊、訂單管理模塊和違章查詢模塊等。
用戶管理模塊主要對系統(tǒng)所有用戶的基本信息進(jìn)行維護(hù)和管理;車輛管理模塊主要負(fù)責(zé)用戶添加、刪除、修改所屬車輛信息,并且實(shí)時(shí)更新車輛行駛信息和車況信息;地圖應(yīng)用模塊主要為預(yù)約加油功能服務(wù),借助百度地圖接口及架包提供車輛地圖定位、附近加油站搜索及路線規(guī)劃等功能支持;訂單管理模塊負(fù)責(zé)加油訂單的預(yù)約、支付、查看等功能,并生成訂單號和二維碼等信息,以備到達(dá)加油站后快速加油使用;違章查詢模塊負(fù)責(zé)實(shí)現(xiàn)相關(guān)車輛違章信息的查詢,根據(jù)車牌及發(fā)動(dòng)機(jī)號等車輛信息,借助全國車輛違章信息查詢接口,調(diào)用相應(yīng)方法,獲取車輛違章信息并顯示[4]。
除了以上所述的功能性需求外,為了提升APP界面的友好、美觀及良好的用戶體驗(yàn),另外設(shè)計(jì)添加了一些非功能性需求設(shè)計(jì),包括為APP添加導(dǎo)航頁和為用戶提供更改頭像和昵稱的功能。導(dǎo)航頁采用異步加載網(wǎng)絡(luò)圖片的方式,實(shí)現(xiàn)導(dǎo)航頁網(wǎng)絡(luò)圖片輪播;更改頭像的方法包含拍攝照片和從圖庫中選取照片兩種。
該APP系統(tǒng)的主要功能模塊劃分如圖2所示。
該APP的功能設(shè)計(jì)有兩大核心功能,即預(yù)約加油和違章查詢,這兩大功能的邏輯實(shí)現(xiàn)是系統(tǒng)開發(fā)實(shí)現(xiàn)的關(guān)鍵。該APP設(shè)計(jì)開發(fā)的初衷也是為了減少現(xiàn)實(shí)生活中廣大車主加油排長隊(duì)的尷尬狀況,使汽車加油變得更加方便快捷。對于預(yù)約加油功能,在預(yù)約前需要先借助百度地圖接口及架包實(shí)現(xiàn)定位和附近加油站搜索,并選擇或填寫車輛相關(guān)信息,而預(yù)約后需要為用戶提供在線支付或到達(dá)加油站后現(xiàn)場支付兩種選擇,預(yù)約完成后為用戶生成預(yù)約加油訂單號和二維碼,并在其中包含支付選擇信息[5]。預(yù)約加油功能及違章查詢功能的詳細(xì)邏輯流程如圖3和圖4所示。
1.3 系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)
1.3.1 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì)。在Bmob云存儲中設(shè)計(jì)4張簡單的數(shù)據(jù)表,即用戶表User、預(yù)約訂單表YuYueMessage、車輛硬件信息表QiCheStatic和車輛行駛信息表CarDetail。其中,預(yù)約加油和違章查詢中的選擇車輛共用一張CarDetail數(shù)據(jù)表。
用戶表User包含用戶ID、密碼、昵稱、頭像和聯(lián)系電話等字段,用戶的注冊與登錄都與該數(shù)據(jù)表關(guān)聯(lián),通過相關(guān)數(shù)據(jù)內(nèi)容的存取判斷實(shí)現(xiàn)。預(yù)約訂單表中包含訂單號、車牌、加油站、加油類型、加油量、訂單預(yù)約時(shí)間、訂單使用時(shí)間和用戶ID等字段,用戶在預(yù)約加油時(shí)填寫相關(guān)加油信息,根據(jù)規(guī)則生成訂單號存儲到數(shù)據(jù)表中,并記錄預(yù)約時(shí)間,等待用戶到加油站完成加油后記錄訂單使用時(shí)間并存儲到數(shù)據(jù)表中。車輛硬件信息表包括車牌、車主姓名、聯(lián)系電話、汽車品牌、車型、發(fā)動(dòng)機(jī)號和用戶ID等字段,用于存儲和讀取詳細(xì)車輛信息。車輛行駛信息表包括車架號、車牌、行駛里程數(shù)、發(fā)動(dòng)機(jī)狀態(tài)、變速器狀態(tài)、車燈狀態(tài)、剩余油量和燃油類型等字段,在預(yù)約加油或者違章查詢中需要選擇的相應(yīng)信息均從該表中存取。
1.3.2 數(shù)據(jù)庫物理結(jié)構(gòu)設(shè)計(jì)。本系統(tǒng)所使用的數(shù)據(jù)存儲要求為數(shù)據(jù)庫,各個(gè)數(shù)據(jù)選項(xiàng)都要從數(shù)據(jù)庫中存取,存取單位是表格,每個(gè)表格中都設(shè)了一個(gè)主索引,存儲區(qū)域在Bomb云中。此外,本系統(tǒng)在登錄之前必須保證手機(jī)是接入網(wǎng)絡(luò)的,否則此系統(tǒng)無法正常使用。
1.4 系統(tǒng)實(shí)現(xiàn)
該APP系統(tǒng)在Android Studio開發(fā)環(huán)境平臺中實(shí)現(xiàn)完成,可運(yùn)行在Android 4.4版本以上,將服務(wù)器構(gòu)建在Bmob云平臺上,通過訪問云服務(wù)器實(shí)現(xiàn)用戶和系統(tǒng)的交互。系統(tǒng)的部分功能通過使用或借助一些第三方開源的架包和接口,以最小的代價(jià)實(shí)現(xiàn)相關(guān)服務(wù)功能。
基于Bmob移動(dòng)云服務(wù)開發(fā)平臺提供輕量級的SDK開發(fā)包,以最小的配置和最簡單的方式使用Bmob平臺提供的服務(wù)。借助BmobSDK架包實(shí)現(xiàn)第三方登錄注冊功能,借助BmobPay架包實(shí)現(xiàn)訂單在線支付功能,借助BmobPush架包實(shí)現(xiàn)消息推送功能?;诎俣鹊貓D定位SDK實(shí)現(xiàn)附近加油站的檢索及路線的規(guī)劃,借助BaiduLBS_Andorid架包實(shí)現(xiàn)地圖應(yīng)用的相關(guān)功能。另外,借助weizhang_sdk架包實(shí)現(xiàn)車輛違章查詢功能;借助core架包實(shí)現(xiàn)二維碼掃描功能;借助okhttp架包實(shí)現(xiàn)網(wǎng)絡(luò)請求;借助universal-image-loader架包實(shí)現(xiàn)異步加載網(wǎng)絡(luò)圖片,為APP導(dǎo)航頁圖片輪播提供網(wǎng)絡(luò)圖片[6]。
2 系統(tǒng)測試結(jié)果
系統(tǒng)開發(fā)完成后,為了確保設(shè)計(jì)功能都能實(shí)現(xiàn)且系統(tǒng)能正常運(yùn)行,我們對該款智能愛車APP進(jìn)行了全面測試。經(jīng)過測試,確定系統(tǒng)運(yùn)行正常,各項(xiàng)設(shè)計(jì)功能均已實(shí)現(xiàn),可以為用戶提供各項(xiàng)服務(wù)。圖5為地圖定位搜索附近加油站和預(yù)約加油界面效果,圖6是預(yù)約加油后進(jìn)行在線支付的界面效果,圖7是違章查詢及顯示查詢節(jié)過的運(yùn)行界面。
3 結(jié)論
本文的“智能愛車”APP是針對Android系統(tǒng)平臺開發(fā)的一款基于移動(dòng)互聯(lián)網(wǎng)運(yùn)行的車輛管理應(yīng)用軟件,旨在解決當(dāng)前加油難、加油慢的問題,為車主用戶提供方便快捷的預(yù)約加油體驗(yàn)。該APP采用云存儲的方式,將服務(wù)器構(gòu)建在Bmob云平臺上,開發(fā)實(shí)現(xiàn)注冊登錄、車輛管理、地圖定位、預(yù)約加油、在線支付和違章查詢等一系列系統(tǒng)功能,其中部分功能采用借助Bmob云、百度地圖等第三方架包的方式實(shí)現(xiàn)。通過進(jìn)行系統(tǒng)的、全面的測試,確定APP各項(xiàng)功能均已實(shí)現(xiàn),可以為用戶提供相應(yīng)服務(wù)。
雖然因無法將APP用戶預(yù)約加油生成的訂單號與加油站數(shù)據(jù)進(jìn)行管理,目前該APP還不能正式投入使用,但各項(xiàng)功能已經(jīng)較完善,并且測試模擬運(yùn)行效果良好,可以為類似移動(dòng)應(yīng)用程序的開發(fā)提供參考,對汽車管理軟件的發(fā)展和改進(jìn)具有積極的作用。作者也將對應(yīng)用和需求進(jìn)行進(jìn)一步調(diào)研,對“智能愛車”APP進(jìn)行完善、改進(jìn)和升級,同時(shí)嘗試尋找將該APP投入市場試運(yùn)營的機(jī)會(huì)。
參考文獻(xiàn):
[1]馬騰飛,姬建崗.基于“互聯(lián)網(wǎng)+”的下一代高速公路收費(fèi)技術(shù)研究[J].中國交通信息化,2017(5):78-81.
[2]邱榮洲,趙健,陳宏,等.基于Android手機(jī)的煙葉生產(chǎn)科技服務(wù)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].中國煙草學(xué)報(bào),2017(4):121-127.
[3]田野,王彪,劉丹.基于大數(shù)據(jù)的一體化移動(dòng)警務(wù)綜合管控平臺建設(shè)與應(yīng)用[J].湖南科技大學(xué)學(xué)報(bào)(自然科學(xué)版),2017(1):67-72.
[4]逯峻雨,李強(qiáng).基于移動(dòng)互聯(lián)的村民自建信息發(fā)布及投票系統(tǒng)[J].計(jì)算機(jī)應(yīng)用,2016(s1):296-300.
[5]彭生瓊,詹炳宏,郭飛.基于移動(dòng)終端的紡織品虛擬呈現(xiàn)技術(shù)研究[J].北京服裝學(xué)院學(xué)報(bào)(自然科學(xué)版),2016(1):57-63.
[6]李小聰,江偉,涂志鵬,等.基于云存儲和Android平臺的汽車銷售管理APP設(shè)計(jì)[J].軟件導(dǎo)刊,2017(6):97-99.