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