于淼 趙景京 欒廣鈺 齊海迪 楊冰冰
【摘 要】公交出行是當(dāng)下最普遍快捷的公共出行方式,越來越多的人選擇公交出行。為方便大眾出行,論文設(shè)計(jì)了針對公交出行的掌上APP,只要手機(jī)在手,足不出戶就可以清楚公交車的運(yùn)行情況,節(jié)省等待公交的時(shí)間或根據(jù)自身情況及時(shí)更改出行計(jì)劃。用戶可以通過在APP上發(fā)布出行動態(tài),尋找有同樣出行需求的伙伴結(jié)伴而行,在增加了出行安全性的同時(shí)還可以節(jié)省花銷。
【Abstract】The bus travel is the most popular and fast way of public transportation. More and more people choose bus travel. In order to facilitate public transportation, this paper designs a handheld APP for bus travel. As long as you have your mobile phone in hand, you can know the operation of the bus without leaving the house, save the time waiting for the bus or change the travel plan in time according to your own situation. Users can find partners with the same travel needs by publishing travel information on the APP, which can improve? travel safety and save money at the same time.
【關(guān)鍵詞】車載終端;GPS定位;交互工具
【Keywords】car-mounted terminal; GPS positioning; interactive tool
【中圖分類號】U580? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 【文獻(xiàn)標(biāo)志碼】A? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 【文章編號】1673-1069(2019)04-0160-02
1 引言
公交車普及,使用頻繁,尤其對當(dāng)代學(xué)生而言,更是最主要的交通工具。近年來,科技發(fā)展日新月異,智能科技已經(jīng)進(jìn)入生活,例如電子站牌的應(yīng)用為乘客們提供了很大方便。但它卻存在著很大局限性,乘客只有到達(dá)站臺才可收集到有效公交信息。為方便大眾出行,足不出戶也可及時(shí)了解附近公交車的運(yùn)行情況。收錄必要公交路線以及公交車位置信息,經(jīng)過一系列處理加工,以APP的形式方便簡潔地傳遞給用戶,為其出行增加更大便利。對于東北林業(yè)大學(xué)學(xué)生而言,獨(dú)自去往遠(yuǎn)距離目的地時(shí)往往要花費(fèi)高額費(fèi)用,尋找同行伙伴的需求日漸增加,考慮到這個(gè)現(xiàn)狀,在APP中開發(fā)了“發(fā)現(xiàn)伙伴”功能,以使有需求的同學(xué)可以及時(shí)聯(lián)系到同行同伴,減少出行花銷,增加出行安全性。
2 車載終端
車載終端也叫車輛調(diào)度監(jiān)控終端。車載終端主要涉及的技術(shù)是GPS技術(shù)。全球定位系統(tǒng)是基于衛(wèi)星的無線電定位、導(dǎo)航和時(shí)間變換系統(tǒng),是一種衛(wèi)星定位系統(tǒng)。GPS在定位過程中,空間站工作的21顆衛(wèi)星不間斷地發(fā)送自身的參數(shù)和時(shí)間信息,接收機(jī)在收到4個(gè)以上的衛(wèi)星數(shù)據(jù)后會將高速運(yùn)動的衛(wèi)星瞬時(shí)位置作為已知數(shù)據(jù),運(yùn)用空間距離后方交會方法計(jì)算求出接收機(jī)的經(jīng)緯度、方位角、速度和時(shí)間等實(shí)時(shí)信息[1]。
GPS車載終端包含了車載GPS監(jiān)控終端、通信網(wǎng)絡(luò)以及調(diào)度監(jiān)控中心。運(yùn)用衛(wèi)星定位、地理信息及無線通信等技術(shù)手段,來掌握車輛位置及其狀態(tài)。通過GPS車載終端,我們將得到公交車輛的位置信息,到目標(biāo)站臺的距離以及實(shí)時(shí)速度。通過數(shù)據(jù)處理計(jì)算來提醒用戶合適的乘車時(shí)間,節(jié)約用戶等待時(shí)間。公交車輛智能車載終端作為監(jiān)控調(diào)度終端,能夠?yàn)楸O(jiān)控調(diào)度中心提供車輛位置、車況參數(shù)等實(shí)時(shí)數(shù)據(jù),還能夠接收來自監(jiān)控調(diào)度中心的命令[2]。
3 客戶端數(shù)據(jù)庫
本地?cái)?shù)據(jù)庫與數(shù)據(jù)庫程序同在一個(gè)系統(tǒng)中,訪問本地?cái)?shù)據(jù)庫的速度要比訪問遠(yuǎn)程數(shù)據(jù)庫的速度快,用戶賬戶信息等均要儲存在客戶端數(shù)據(jù)庫中,客戶端數(shù)據(jù)庫能夠提供最快的響應(yīng)時(shí)間。數(shù)據(jù)庫作為移動軟件設(shè)備的重要組成部分,可以根據(jù)移動通信設(shè)備承載軟件的需求,實(shí)現(xiàn)數(shù)據(jù)的插入、修改、刪除和查詢等功能,并將處理結(jié)果保存到數(shù)據(jù)庫中。為使學(xué)生用戶能夠?qū)崿F(xiàn)賬戶登錄,公交車的信息查詢和發(fā)布動態(tài)并查詢關(guān)鍵信息以尋找同伴的功能,在SQLite數(shù)據(jù)庫中需要儲存三個(gè)方面的內(nèi)容數(shù)據(jù),分別為學(xué)生相關(guān)信息、公交車的相關(guān)信息以及關(guān)系信息。
4 開發(fā)環(huán)境
此APP以“Eclipse+ADT+JDK+SDK”作為運(yùn)行環(huán)境進(jìn)行開發(fā),通過安卓虛擬機(jī)在電腦端開發(fā)調(diào)試。Android SDK由開發(fā)Android應(yīng)用程序需要的平臺、工具、示例代碼以及開發(fā)文檔組成。它作為JAVA開發(fā)包(JDK)的附加內(nèi)容構(gòu)建,而且有一個(gè)可以集成到Eclipse集成開發(fā)環(huán)境中的插件。安卓虛擬機(jī)在PC端可以安裝運(yùn)行模擬Android系統(tǒng),并可以在電腦端或幾乎任何手機(jī)上進(jìn)行操作,甚至還可以像手機(jī)一樣連接電腦,被手機(jī)助手檢測到,可以模擬所有官方版本的安卓系統(tǒng)。開發(fā)環(huán)境和虛擬機(jī)都是APP開發(fā)的重要基礎(chǔ)。
5 頁面開發(fā)
5.1 頁面數(shù)據(jù)傳送
在后臺使用Java類編輯數(shù)據(jù)傳送相關(guān)功能,為頁面數(shù)據(jù)的傳送提供技術(shù)支持,使多個(gè)頁面之間數(shù)據(jù)能夠傳送并進(jìn)行處理記錄。進(jìn)入APP首頁,用戶在相關(guān)功能區(qū)填寫自身信息:學(xué)號、姓名、聯(lián)系方式、性別,相關(guān)信息填入完畢并提交后,數(shù)據(jù)將會傳送到“尋找同伴”功能相關(guān)頁面的“我的信息”中。
5.2 頁面布局
Activity是Android最基本的模塊之一,Activity的布局需要Intend來協(xié)助實(shí)現(xiàn)。在本次開發(fā)中主要應(yīng)用了后三種布局。Linear Layout的功能是以單一方向?qū)ζ渲械慕M件進(jìn)行線性排列顯示。Table Layout的功能是將子元素的位置分配到行或者列中,Relative Layout可以設(shè)置某一個(gè)視圖相對于其他視圖的位置,例如將“注冊”按鈕放置在“登陸”按鈕的右側(cè)。
5.3 頁面功能流程
進(jìn)入APP后,展現(xiàn)給用戶“登錄”或“注冊”功能選擇界面,用戶根據(jù)實(shí)際情況進(jìn)行選擇。若在手機(jī)上已經(jīng)登錄過一次,則賬戶的學(xué)號和姓名將會被記錄,同一個(gè)手機(jī)再次進(jìn)入該APP后,界面中將會填入已登陸過的賬號的相關(guān)信息。登錄或注冊后進(jìn)入APP功能區(qū),功能區(qū)包括“找公交”“發(fā)現(xiàn)伙伴”和“我的信息”三個(gè)功能。在“找公交”中的“我的位置”“目的地”處填寫信息,例如“機(jī)場”,點(diǎn)擊“查公交”即會出現(xiàn)相關(guān)線路信息。在“發(fā)現(xiàn)伙伴”中“我的位置”“目的地”處填寫信息,并選擇出發(fā)時(shí)間,點(diǎn)擊“尋找好友”,即出現(xiàn)有相同出行需求的同學(xué)的基本信息。
6 后臺開發(fā)
6.1 后臺程序開發(fā)
運(yùn)用Java語言對后臺進(jìn)行開發(fā),通過編程實(shí)現(xiàn)功能。對數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行更改需要使用SQL語句。其中數(shù)據(jù)定義語句提供數(shù)據(jù)庫及其數(shù)據(jù)表的創(chuàng)建、修改、刪除等操作[3]。用戶登錄后可進(jìn)行功能選擇。用戶若要發(fā)布出行動態(tài),會根據(jù)軟件提示輸入目的地和時(shí)間等信息,數(shù)據(jù)庫會對這些數(shù)據(jù)進(jìn)行儲存記錄,當(dāng)用戶進(jìn)行“尋找好友”操作時(shí),數(shù)據(jù)庫對關(guān)鍵信息進(jìn)行查詢,調(diào)出所有相關(guān)信息。
6.2 賬戶保存功能
APP用戶在第一次使用時(shí)需要登錄學(xué)號和密碼。為了使用方便,使用者在同一臺手機(jī)上無需登錄第二次。在軟件開發(fā)過程中,使用Shared Preferences來實(shí)現(xiàn)這個(gè)功能。Shared Preferences是Android平臺上一個(gè)輕量級的存儲類,用來保存應(yīng)用的一些常用配置。以Activity狀態(tài)為例,當(dāng)Activity暫停時(shí),即將此Activity的狀態(tài)保存到它里面。當(dāng)一個(gè)Activity重載,系統(tǒng)回調(diào)方法On Save Instance State時(shí),再從Shared Preferences中將值取出。通過這種方式來實(shí)現(xiàn)賬戶信息的保存。
7 APP功能實(shí)現(xiàn)
7.1 公交查詢線路功能
公交查詢線路是主要針對于以東北林業(yè)大學(xué)站點(diǎn)為起點(diǎn)或終點(diǎn)的出行線路查詢,數(shù)據(jù)庫直接存儲于客戶端,離線狀態(tài)下可直接查詢公交線路。
7.2 公交位置定位功能
此功能的實(shí)現(xiàn)依賴于車載終端GPS信息—信息傳遞—服務(wù)器—客戶端的過程來實(shí)現(xiàn),通過手機(jī)終端經(jīng)過GPRS網(wǎng)絡(luò)與后臺服務(wù)器進(jìn)行數(shù)據(jù)交互,和結(jié)果一起發(fā)送到手機(jī)終端,為用戶提供服務(wù)。
7.3 尋找同行伙伴功能
用戶可以在APP上發(fā)布個(gè)人的出行需求,例如出行目的地和出行時(shí)間。在進(jìn)行“好友查找”時(shí),APP會為用戶顯示所有包含相關(guān)信息的其他動態(tài)發(fā)布用戶的相關(guān)信息,使用戶可以根據(jù)實(shí)際情況選擇希望同行的伙伴,并進(jìn)行聯(lián)系。結(jié)伴而行能提高出行安全程度,節(jié)省花銷,為使用者帶來便利。
8 結(jié)語
本文以安卓虛擬機(jī)為運(yùn)行平臺,Eclipse等為開發(fā)環(huán)境,以Java作為編程語言對APP進(jìn)行開發(fā)。在前端開發(fā)過程中,運(yùn)用了一系列交互技術(shù),對APP頁面進(jìn)行交互設(shè)計(jì)以及排版設(shè)計(jì),將功能清晰簡潔地呈現(xiàn)給用戶,為用戶帶去舒適的使用體驗(yàn)。后臺依靠準(zhǔn)確的編程技術(shù),為頁面數(shù)據(jù)交換、數(shù)據(jù)庫內(nèi)信息的增添和修改等功能提供支持。用戶通過該APP可以直觀地了解到目標(biāo)公交的預(yù)計(jì)到達(dá)時(shí)間,還可以發(fā)布動態(tài),尋找同行伙伴,為出行節(jié)省時(shí)間和金錢,同時(shí)又增加了安全性,為使用者帶來了很大方便。
【參考文獻(xiàn)】
【1】袁雯.基于GPS定位的公交智能車載終端系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].武漢:武漢郵電科學(xué)研究院,2018.
【2】管春陽.公交車輛監(jiān)控調(diào)度服務(wù)系統(tǒng)的智能車載終端設(shè)計(jì)與實(shí)現(xiàn)[D].南京:南京理工大學(xué),2008.
【3】楊洵.基于移動Android設(shè)備的信息軟件開發(fā)關(guān)鍵技術(shù)研究[J].電腦迷,2018(09):53.