999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Android系統(tǒng)的智能公交查詢系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

2018-05-17 03:03:12劉豐年
關(guān)鍵詞:用戶信息系統(tǒng)

劉豐年

(三門峽職業(yè)技術(shù)學(xué)院 信息傳媒學(xué)院,河南 三門峽 472000)

隨著我國(guó)經(jīng)濟(jì)的飛速發(fā)展,汽車保有量逐年增加,交通擁塞、交通事故、能源危機(jī)、環(huán)境污染問題愈加嚴(yán)重,城市交通管理問題引起了社會(huì)各界的廣泛關(guān)注.為緩解城市交通管理壓力,公共交通工具已成為城市居民出行的重要交通工具.然而,隨著城市的不斷擴(kuò)建,交通線路不斷延伸,城市交通錯(cuò)綜復(fù)雜、四通八達(dá),城市居民特別是外地游客很難獲取最佳公交路線,為出行帶來不便.智慧城市建設(shè)對(duì)智慧交通提出了新的要求.因此,急需一種準(zhǔn)確、高效、智能的公交查詢APP系統(tǒng),為乘客及時(shí)全面、高效準(zhǔn)確地獲取公交信息提供可靠參考.

為此,本文立足城市公交管理現(xiàn)狀,使用Android Studio、HBuilder和Java工具,選用MySQL數(shù)據(jù)庫(kù),設(shè)計(jì)并實(shí)現(xiàn)了一種基于Android系統(tǒng)的智能公交查詢系統(tǒng)[1]78-83.該系統(tǒng)采用JS與原生交互的混合式開發(fā)技術(shù),實(shí)現(xiàn)了頁(yè)面布局和數(shù)據(jù)交互,嵌入了百度地圖API技術(shù)框架,簡(jiǎn)化了APP的邏輯設(shè)計(jì)和代碼編寫,后臺(tái)使用SSM框架提高了系統(tǒng)的運(yùn)行效率,簡(jiǎn)化了邏輯編碼,避免了代碼冗余.界面簡(jiǎn)單,操作方便,深受市民喜愛,具有一定的實(shí)際應(yīng)用和推廣價(jià)值.

1 需求分析

通過調(diào)研,根據(jù)城市居民對(duì)公交實(shí)時(shí)查詢的功能需求,本文設(shè)計(jì)的智能公交查詢系統(tǒng)應(yīng)包含公交查詢、線路搜索、公交導(dǎo)航3個(gè)功能.

公交查詢主要是獲取用戶周邊最近站點(diǎn)的公交車信息,線路搜索主要是搜索公交的線路信息和該線路上的公交車信息,公交導(dǎo)航主要是獲取用戶當(dāng)前位置與目的位置,為用戶進(jìn)行導(dǎo)航.系統(tǒng)如圖1所示.

圖1 系統(tǒng)用例圖

2 總體設(shè)計(jì)

總體設(shè)計(jì)又稱總體概要設(shè)計(jì),是軟件設(shè)計(jì)的一項(xiàng)重要任務(wù).主要包括:硬件支持基礎(chǔ)配置設(shè)計(jì)、系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)、數(shù)據(jù)庫(kù)表結(jié)構(gòu)設(shè)計(jì).

2.1 硬件支持基礎(chǔ)配置設(shè)計(jì)

手機(jī)客戶端:安卓系統(tǒng)手機(jī)客戶端要求Android系統(tǒng)版4.4及其以上,手機(jī)內(nèi)存應(yīng)大于1 024 M以上,主頻在800 HZ及其以上[2]1139-1144.

服務(wù)器端:服務(wù)器系統(tǒng)要求win7、win8、win10或Linux,處理器應(yīng)為英特爾處理器i5以上,內(nèi)存8 G及其以上,硬盤1 024 G及其以上.

2.2 系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)

智能公交查詢系統(tǒng)應(yīng)包含用戶登錄注冊(cè)功能模塊和公交實(shí)時(shí)查詢功能模塊.系統(tǒng)結(jié)構(gòu)圖如圖2所示.

用戶登錄注冊(cè)功能模塊:該模塊包括注冊(cè)、登錄和修改密碼3項(xiàng)功能.在注冊(cè)中有短信驗(yàn)證信息功能,即根據(jù)短信驗(yàn)證碼進(jìn)行匹配,判斷輸入的手機(jī)號(hào)驗(yàn)證碼與系統(tǒng)生成的驗(yàn)證碼是否相同,相同則返回成功,通過驗(yàn)證;在登錄中,有網(wǎng)絡(luò)數(shù)據(jù)回調(diào)功能,用戶在頁(yè)面上輸入手機(jī)號(hào)和密碼,點(diǎn)擊登錄時(shí)把輸入的手機(jī)號(hào)和密碼通過移動(dòng)網(wǎng)絡(luò)發(fā)給服務(wù)器,服務(wù)器接收到數(shù)據(jù)后,進(jìn)一步去數(shù)據(jù)庫(kù)進(jìn)行搜索,判斷輸入的手機(jī)號(hào)和密碼是否正確,若不正確則返回手機(jī)客戶端驗(yàn)證錯(cuò)誤,并提示相應(yīng)的錯(cuò)誤信息給客戶端,若驗(yàn)證正確則進(jìn)入手機(jī)軟件客戶端首頁(yè);在修改密碼中,點(diǎn)擊忘記密碼,輸入手機(jī)號(hào),點(diǎn)擊發(fā)送短信驗(yàn)證碼,通過手機(jī)進(jìn)行驗(yàn)證,驗(yàn)證成功會(huì)提示重置密碼,按要求設(shè)置即可.

公交實(shí)時(shí)查詢模塊:該模塊包括公交查詢、線路搜索與公交導(dǎo)航3項(xiàng)功能.公交的實(shí)時(shí)查詢會(huì)自動(dòng)訪問到用戶手機(jī)定位權(quán)限,獲取用戶的經(jīng)緯度信息,并調(diào)用百度地圖的SDK,根據(jù)百度SDK的定位經(jīng)緯度返回百度的bd0911格式定位結(jié)果坐標(biāo)系[3]65-69.當(dāng)點(diǎn)擊周邊公交的時(shí)候會(huì)自動(dòng)獲取到用戶的經(jīng)緯度,客戶端通過網(wǎng)絡(luò)將用戶的GPS坐標(biāo)發(fā)送給服務(wù)器,服務(wù)器接收到用戶GPS信息的數(shù)據(jù)后,將會(huì)與GPS坐標(biāo)內(nèi)的所有站點(diǎn)信息做距離判斷的比較,取出距離最近的站點(diǎn)信息為用戶的當(dāng)前站點(diǎn),然后返回當(dāng)前站點(diǎn)上所有的公交車線路,如果用戶點(diǎn)擊了公交車線路,服務(wù)器將會(huì)獲取到該線路所有的站點(diǎn)信息,并獲取到距離用戶所在站點(diǎn)最近的3輛公交車信息;在線路搜索中,會(huì)讓用戶輸入要查詢的線路信息,服務(wù)器將會(huì)根據(jù)用戶輸入的線路信息,模糊查詢到公交的所有線路信息,并返回到界面上,如果用戶點(diǎn)擊某個(gè)線路,同樣會(huì)獲取到該線路的所有站點(diǎn)信息,與該線路上的3輛公交車信息;公交導(dǎo)航主要是針對(duì)坐公交人群從起點(diǎn)到目的地的線路規(guī)劃,讓用戶輸入起點(diǎn)和終點(diǎn)信息,系統(tǒng)根據(jù)信息調(diào)用百度API獲取到線路規(guī)劃分析.

2.3 數(shù)據(jù)庫(kù)表結(jié)構(gòu)設(shè)計(jì)

2.3.2數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì)

數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì)中最重要的就是實(shí)體-聯(lián)系圖,即E-R圖,它可以有效幫助軟件開發(fā)者理清實(shí)體之間的關(guān)聯(lián).在智能公交查詢系統(tǒng)客戶端的實(shí)體-聯(lián)系圖中,實(shí)體大致類型有用戶類型、公交車類型,每一種類型都可以獨(dú)立的存在.用戶類型包括用戶實(shí)體和用戶登錄的實(shí)體;公交車類型中存在著公交車實(shí)體、公交車站點(diǎn)實(shí)體、公交車線路實(shí)體、公交車GPS的實(shí)體.其中,公交車與線路是多對(duì)一關(guān)系,由于一個(gè)公交車站點(diǎn)可以對(duì)應(yīng)多個(gè)公交車線路信息,一個(gè)線路又會(huì)有多個(gè)站點(diǎn),因此,站點(diǎn)與線路是多對(duì)多關(guān)系.一個(gè)公交車只有一個(gè)公交車信息,所以公交車與公交的GPS信息是一對(duì)一的關(guān)系.公交查詢E-R圖如圖3所示.

圖2 系統(tǒng)結(jié)構(gòu)圖

圖3 公交查詢E-R圖

2.3.2數(shù)據(jù)庫(kù)物理結(jié)構(gòu)設(shè)計(jì)

根據(jù)數(shù)據(jù)庫(kù)的概念結(jié)構(gòu)設(shè)計(jì),可以得到智能公交查詢系統(tǒng)中5個(gè)數(shù)據(jù)庫(kù)表結(jié)構(gòu)主要有.

用戶登錄表主要存儲(chǔ)用戶登錄信息,包括用戶名、密碼、登錄狀態(tài)、注冊(cè)時(shí)間和用戶信息外鍵等字段.

用戶信息詳情表主要存儲(chǔ)用戶的詳細(xì)信息,包括用戶的主鍵ID、用戶登錄表的主鍵ID、真實(shí)姓名、年齡、昵稱、性別、頭像圖片地址、用戶類型、用戶圖片信息等字段.

公交車信息表主要存儲(chǔ)公交車詳細(xì)信息,包括車輛編號(hào)、車輛唯一標(biāo)識(shí)、公交車票價(jià)、版本號(hào)、車載機(jī)唯一運(yùn)營(yíng)編號(hào)、車載機(jī)運(yùn)營(yíng)編號(hào)、客戶代碼等字段.

公交車線路表主要存儲(chǔ)公交車線路信息,包括公交車線路名稱、版本號(hào)、公交車線路票價(jià)、運(yùn)營(yíng)時(shí)間等字段,其運(yùn)營(yíng)時(shí)間包括夏天運(yùn)營(yíng)時(shí)間和冬天運(yùn)營(yíng)時(shí)間.

公交站點(diǎn)表主要存儲(chǔ)公交站點(diǎn)信息,包括站點(diǎn)名稱與站點(diǎn)經(jīng)緯度等字段.

3 詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)

根據(jù)總體設(shè)計(jì)完成登錄注冊(cè)模塊和公交實(shí)時(shí)查詢模塊的詳細(xì)設(shè)計(jì).由于智能公交查詢系統(tǒng)一般是在非WIFI環(huán)境下運(yùn)行,因此詳細(xì)設(shè)計(jì)時(shí)必須考慮節(jié)約流量問題.鑒于此,本設(shè)計(jì)中所有數(shù)據(jù)傳輸格式全部采用json格式[4]55-58,這樣便于數(shù)據(jù)交換,可以大大節(jié)約傳輸流量.

3.1 登錄注冊(cè)模塊設(shè)計(jì)

登錄注冊(cè)模塊設(shè)計(jì)主要包括注冊(cè)、登錄和修改密碼設(shè)計(jì).

客戶端的注冊(cè),會(huì)提示用戶輸入手機(jī)號(hào),點(diǎn)擊發(fā)送驗(yàn)證碼,調(diào)用后臺(tái)的發(fā)送驗(yàn)證碼接口,手機(jī)上會(huì)得到驗(yàn)證碼;再讓用戶輸入短信驗(yàn)證碼、密碼、確認(rèn)密碼.其中注冊(cè)的用戶名為手機(jī)號(hào)碼,密碼與確認(rèn)密碼必須保持一致.當(dāng)用戶手機(jī)號(hào)已經(jīng)注冊(cè)時(shí),將會(huì)提示手機(jī)號(hào)已有注冊(cè)賬號(hào),當(dāng)兩次賬號(hào)輸入不一致時(shí),則會(huì)提示用戶兩次密碼輸入不一致.所有驗(yàn)證通過時(shí),服務(wù)端會(huì)將請(qǐng)求的數(shù)據(jù)放入用戶登錄數(shù)據(jù)庫(kù)中,并返回給客戶端注冊(cè)成功,客戶端會(huì)跳轉(zhuǎn)到登錄界面,提示用戶登錄.

客戶端登錄,會(huì)提示用戶輸入用戶名和密碼,然后進(jìn)行驗(yàn)證,驗(yàn)證通過則提示登錄成功,否則將提示密碼錯(cuò)誤,重新輸入.

修改密碼與一般的APP客戶端一樣,在這里不再一一贅述.注冊(cè)登錄界面如圖4所示.

3.2 公交實(shí)時(shí)查詢模塊設(shè)計(jì)

公交實(shí)時(shí)查詢?cè)O(shè)計(jì)中,會(huì)自動(dòng)獲取用戶手機(jī)的GPS坐標(biāo),得到位置信息后會(huì)調(diào)用獲取周邊最近站點(diǎn)的接口,并將GPS信息傳遞給該接口,服務(wù)器接收請(qǐng)求之后,返回距離該地點(diǎn)最近的站點(diǎn)信息與途徑該站點(diǎn)的所有公交線路信息[5]31-35.用戶可以選擇線路信息,客戶端發(fā)起請(qǐng)求并將線路和站點(diǎn)信息傳遞給服務(wù)器,客戶端調(diào)用獲取線路上所有站點(diǎn)信息和獲取該線路上的3輛公交車接口.由于公交車有上下行,服務(wù)器接收請(qǐng)求后,會(huì)先判斷站點(diǎn)的上下行方向,獲取該方向上線路的所有站點(diǎn),計(jì)算出距離當(dāng)前站點(diǎn)最近的3輛公交車信息,將計(jì)算的時(shí)間距離返回客戶端,客戶端接收返回?cái)?shù)據(jù)后,利用js動(dòng)態(tài)的寫入頁(yè)面供用戶參考.在顯示頁(yè)面上設(shè)置有一分鐘一刷新功能,在用戶使用時(shí),如果用戶鎖定了該頁(yè)面,系統(tǒng)會(huì)一分鐘更新數(shù)據(jù),頁(yè)面上也有刷新鍵,用戶也可點(diǎn)擊刷新鍵進(jìn)行刷新.在頁(yè)面中還有一個(gè)線路反轉(zhuǎn)鍵,用戶可以點(diǎn)擊反轉(zhuǎn)獲取線路反方向的信息.

線路搜索設(shè)計(jì)中,當(dāng)用戶輸入線路信息,客戶端會(huì)調(diào)用模糊查詢線路的接口,服務(wù)器返回模糊查詢的結(jié)果,客戶端利用js在頁(yè)面動(dòng)態(tài)顯示,用戶選擇線路之后,客戶端會(huì)調(diào)用線路查詢公交(默認(rèn)方向?yàn)樯闲?方向上的信息,同樣會(huì)返回該線路上的所有公交車和該方向的3輛公交車信息,但是由于是線路搜索,所以不會(huì)顯示到達(dá)時(shí)間和距離.在該頁(yè)面上也設(shè)置的有刷新鍵和線路反轉(zhuǎn)鍵,點(diǎn)擊可進(jìn)行刷新和反轉(zhuǎn).

公交導(dǎo)航設(shè)計(jì)中,讓用戶輸入起點(diǎn)(起點(diǎn)默認(rèn)為當(dāng)前位置,也可手動(dòng)輸入)和終點(diǎn)位置信息,系統(tǒng)會(huì)調(diào)用百度的線路公交規(guī)劃API,返回相應(yīng)的線路信息,點(diǎn)擊相應(yīng)的線路,會(huì)顯示具體的乘車信息,再次點(diǎn)擊顯示在地圖上,用戶可以根據(jù)地圖標(biāo)注的點(diǎn),到相應(yīng)的位置坐車.

經(jīng)緯度距離計(jì)算功能代碼如下:

* @Description: 獲取兩點(diǎn)經(jīng)緯之間的距離 * @param lat_a

* @param lng_a

* @param lat_b

* @param lng_b

* @param @return

* @return double

* @author

* @date

Public double getDistanceFromTwoPoints

(double lat_a, double lng_a, double lat_b, double lng_b)

{double t1 = Math.cos(lat_a / PK) * Math.cos(lng_a / PK) * Math.cos(lat_b / PK) *

Math.cos(lng_b / PK);

double t2 = Math.cos(lat_a / PK) * Math.sin(lng_a / PK) * Math.cos(lat_b / PK) *

Math.sin(lng_b / PK);

double t3 = Math.sin(lat_a / PK) * Math.sin(lat_b / PK);

double tt = Math.acos(t1 + t2 + t3);

//System.out.println("兩點(diǎn)間的距離:" + 6366000 * tt + " 米");

return 6366000 * tt; }

公交查詢客戶端如圖5所示.

4 系統(tǒng)測(cè)試

智能公交查詢系統(tǒng)以洛陽(yáng)城市公交為例進(jìn)行了應(yīng)用測(cè)試.首先按照要求完成了硬件環(huán)境搭建和軟件配置,然后點(diǎn)擊周邊公交,獲取到最近的公交站點(diǎn),如圖6所示,點(diǎn)擊50路進(jìn)入公交實(shí)時(shí)查詢頁(yè)面,如圖7所示.

點(diǎn)擊公交導(dǎo)航,輸入起點(diǎn)(河南科技大學(xué)開元校區(qū))和終點(diǎn)(王城公園動(dòng)物園),會(huì)自動(dòng)搜索出路線信息,如圖8所示.點(diǎn)擊線路信息時(shí)會(huì)調(diào)用百度的API,獲取公交線路規(guī)劃具體信息,點(diǎn)擊該線路的信息會(huì)在地圖上標(biāo)注出線路信息,如圖9所示.

圖4 注冊(cè)登錄界面

圖5 公交查詢客戶端

圖6 獲取最近公交站點(diǎn)

圖7 50路公交信息

圖8 公交導(dǎo)航搜索路線信息

圖9 公交導(dǎo)航圖

經(jīng)過測(cè)試發(fā)現(xiàn)智能公交查詢系統(tǒng)符合實(shí)際,整個(gè)系統(tǒng)運(yùn)行正常、功能完善、操作方便、高效準(zhǔn)確,但網(wǎng)絡(luò)必須正常,否則會(huì)出現(xiàn)卡帶現(xiàn)象.因此,要想正常使用該系統(tǒng),必須確保手機(jī)網(wǎng)絡(luò)信號(hào)穩(wěn)定.

5 結(jié)語

為順應(yīng)智慧城市建設(shè)的需求,緩解城市交通擁塞、交通事故、能源危機(jī)和環(huán)境污染問題,本文立足城市公交管理實(shí)際,以方便乘客出行為宗旨,使用Android Studio、HBuilder和Java工具,設(shè)計(jì)了一種智能公交查詢APP客戶端系統(tǒng),實(shí)現(xiàn)了城市公交實(shí)時(shí)查詢、線路搜索和公交導(dǎo)航功能.該系統(tǒng)嵌入了百度地圖API接口,后臺(tái)采用SSM框架,方便了設(shè)計(jì),簡(jiǎn)化了代碼.通過洛陽(yáng)城市公交查詢測(cè)試,系統(tǒng)運(yùn)行正常、功能完善、操作方便、高效準(zhǔn)確,深受市民喜愛,具有一定的實(shí)際應(yīng)用和推廣價(jià)值.

猜你喜歡
用戶信息系統(tǒng)
Smartflower POP 一體式光伏系統(tǒng)
WJ-700無人機(jī)系統(tǒng)
ZC系列無人機(jī)遙感系統(tǒng)
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
關(guān)注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關(guān)注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關(guān)注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
如何獲取一億海外用戶
展會(huì)信息
主站蜘蛛池模板: 人妻精品久久久无码区色视| 国产第一福利影院| 中文字幕无码中文字幕有码在线| 4虎影视国产在线观看精品| 亚洲黄色片免费看| 国产97视频在线观看| 一级毛片在线播放免费观看| 97国产成人无码精品久久久| 波多野结衣久久高清免费| 超级碰免费视频91| 久久无码高潮喷水| 亚洲天天更新| 亚洲成年网站在线观看| 国产香蕉国产精品偷在线观看 | 国产91全国探花系列在线播放| 黄色片中文字幕| 日本免费高清一区| 又猛又黄又爽无遮挡的视频网站| 亚洲婷婷丁香| 伊人色婷婷| 日本欧美午夜| 91精品国产自产91精品资源| 国产午夜精品一区二区三区软件| 亚洲第一在线播放| 亚洲一区二区三区麻豆| 国产欧美在线视频免费| 99999久久久久久亚洲| 中文字幕在线播放不卡| 91久久偷偷做嫩草影院| 香蕉久久永久视频| 国产永久在线视频| 老司机精品99在线播放| 精品国产欧美精品v| 国产97区一区二区三区无码| 男女男精品视频| 99热这里只有精品免费| 在线日韩一区二区| 欧美在线黄| 午夜限制老子影院888| 国产小视频免费| 国产亚洲视频播放9000| 国产成人精品2021欧美日韩| 98精品全国免费观看视频| 99久久精品视香蕉蕉| 精品福利网| 亚洲水蜜桃久久综合网站| 91精选国产大片| 久久77777| 亚洲无码精品在线播放| 自慰网址在线观看| 直接黄91麻豆网站| 中文字幕无线码一区| 91成人精品视频| 亚洲AV无码精品无码久久蜜桃| 国产人成午夜免费看| 在线观看视频99| 免费三A级毛片视频| 日韩欧美一区在线观看| 黑人巨大精品欧美一区二区区| 国产人成乱码视频免费观看| 在线一级毛片| 国产熟睡乱子伦视频网站| 动漫精品啪啪一区二区三区| 综1合AV在线播放| 九色91在线视频| 激情视频综合网| 一区二区三区高清视频国产女人| 91成人在线观看| 国产91久久久久久| 亚洲中文无码av永久伊人| 99在线视频免费| 久久综合九九亚洲一区| 99在线观看精品视频| 亚洲成综合人影院在院播放| 国产亚洲成AⅤ人片在线观看| 国产日本一区二区三区| 欧美www在线观看| 国产午夜福利在线小视频| 国产在线观看精品| 亚洲综合专区| 午夜精品区| 亚洲精品色AV无码看|