国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Android的智慧交通系統(tǒng)的設(shè)計(jì)與研究

2020-01-14 03:20:18夏智偉
中小企業(yè)管理與科技 2019年36期
關(guān)鍵詞:服務(wù)器端頁面公交

夏智偉

(山東交通職業(yè)學(xué)院,山東 濰坊261206)

1 引言

智慧交通是在交通領(lǐng)域中充分運(yùn)用物聯(lián)網(wǎng)、云計(jì)算、人工智能、自動(dòng)控制、移動(dòng)互聯(lián)網(wǎng)等現(xiàn)代電子信息技術(shù)面向交通運(yùn)輸?shù)姆?wù)系統(tǒng)。移動(dòng)通信技術(shù)能使城市內(nèi)各類公共交通,如地鐵、城市軌道、公交等的相關(guān)數(shù)據(jù)進(jìn)行實(shí)時(shí)獲取、整合、分析、發(fā)布[1]。通過對(duì)城市實(shí)時(shí)交通態(tài)勢(shì)的準(zhǔn)確把握、短期需求的預(yù)測(cè)、實(shí)時(shí)交通信息的發(fā)布,實(shí)現(xiàn)城市交通精細(xì)化管理,提升交通運(yùn)輸服務(wù)質(zhì)量,從而實(shí)現(xiàn)城市大交通與移動(dòng)互聯(lián)網(wǎng)的深度融合[2]。

基于Android 的智慧交通系統(tǒng)的設(shè)計(jì)與研究通過對(duì)智慧交通領(lǐng)域比較典型的應(yīng)用的研究,實(shí)現(xiàn)了智慧環(huán)境監(jiān)測(cè)、ETC不停車收費(fèi)、智能停車場(chǎng)、公交報(bào)站系統(tǒng)等應(yīng)用功能。

2 系統(tǒng)總體設(shè)計(jì)

圖1

本項(xiàng)目通過智慧交通系統(tǒng)API 從服務(wù)器端獲取環(huán)境、車牌信息及余額、停車場(chǎng)停車情況、公交車路次、當(dāng)前位置等信息并顯示在移動(dòng)端的環(huán)境監(jiān)測(cè)、ETC 不停車收費(fèi)、智能停車場(chǎng)和公交報(bào)站系統(tǒng)等界面上。

圖2

3 系統(tǒng)實(shí)施

3.1 整體界面設(shè)計(jì)

整體界面設(shè)計(jì)主要包含標(biāo)題欄ActionBar、ViewPager、Fragment 和底部自定義View,智慧環(huán)境監(jiān)測(cè)以及環(huán)境監(jiān)測(cè)、ETC 不停車收費(fèi)、智能停車場(chǎng)和公交報(bào)站系統(tǒng)等界面的搭建。

ActionBar 是一個(gè)非常重要的交互元素,針對(duì)于平板設(shè)備等相對(duì)較大的屏幕可以展示更多、更豐富的內(nèi)容。Android3.0以上版本的 Activity 中都默認(rèn)包含 ActionBar,在AndroidMainfest.xml 中指定其theme 是Theme.Holo 或其子類。

使用ViewPager+Fragment 實(shí)現(xiàn)多頁面滑動(dòng)切換、創(chuàng)建attr.xml 文檔自定義底部導(dǎo)航欄中按鈕和文字的相關(guān)屬性,包含圖標(biāo)、顏色、文本、文本字體大小等,完成在組件中使用自定義屬性并為屬性賦值,在java 代碼中使用自定義屬性并獲取自定義屬性值進(jìn)行操作[3]。

繪制底部icon 時(shí),確定icon 的寬度和高度,使用onDraw方法繪制圖標(biāo)和文本,使用drawBitmap 繪制原圖,創(chuàng)建寬度為getMeasuredWidth ()、高度為getMeasuredHeight (),自定義invalidateView 方法實(shí)現(xiàn)重繪。

3.2 智慧環(huán)境監(jiān)測(cè)

智慧環(huán)境監(jiān)測(cè)界面使用列表布局、圖片按鈕及動(dòng)畫完成頁面搭建,通過一般處理程序從智慧交通系統(tǒng)API 中實(shí)現(xiàn)移動(dòng)端與服務(wù)器端的通信。

ListView 是比較常用的組件,其以列表的形式展示具體內(nèi)容,并且能夠根據(jù)數(shù)據(jù)的長(zhǎng)度自適應(yīng)顯示,完成主要傳感器數(shù)據(jù)的采集。將傳感器、繼電器、ZigBee 模塊等設(shè)備與服務(wù)器相連接,制定好通信協(xié)議后,進(jìn)行數(shù)據(jù)的接收與設(shè)備的控制。報(bào)警燈、風(fēng)扇、燈泡等設(shè)備控制都是通過控制繼電器控制設(shè)備開關(guān),以風(fēng)扇為例,當(dāng)按下風(fēng)扇按鈕時(shí),通過線程向服務(wù)器發(fā)送指令[4]。

3.3 ETC 不停車收費(fèi)系統(tǒng)

本頁面顯示卡號(hào)時(shí)用到了文本框和編輯框,用于實(shí)現(xiàn)文字的提示和數(shù)據(jù)的顯示,使用一般處理程序取服務(wù)器發(fā)送的JSON 數(shù)據(jù)完成解析,實(shí)現(xiàn)信息采集及信息的更新。JSON 是一種輕量級(jí)的數(shù)據(jù)交換格式,JSON 一共有兩種數(shù)據(jù)結(jié)構(gòu)一種是JSON 對(duì)象(object),是由花括號(hào)包裹起來的若干個(gè)的鍵值對(duì)的集合;一種是JSON 數(shù)組,是由方括號(hào)包裹的若干個(gè)對(duì)象的集合,常用的兩類就是JSONObject 和JSONArray,分別代表了json 對(duì)象和json 數(shù)組,這兩類都實(shí)現(xiàn)了JSON 這個(gè)接口。

①JSONArray jArray = new JSONObject(json).getJSONArray("busStops");

②int count = jArray.length();

③for (int index = 0; index <count; index++) {

④String id = jArray.optJSONObject (index).getString("_id").toString();

⑤String stopName = jArray.optJSONObject(index).getString("stop").toString();)

使用new JSONObject(json).創(chuàng)建JSONObject 對(duì)象,然后調(diào)用getJSONArray 方法轉(zhuǎn)換為JSONArray,在循環(huán)中使用optJSONObject 方法獲取字段為_id、stop 的數(shù)據(jù)值,將獲取的數(shù)據(jù)以鍵值對(duì)的形式存入map,然后將map 存入List 列表類型變量stopsData 中去,創(chuàng)建SimpleAdapter 適配器,設(shè)置適配器到ListView 上。

圖3

3.4 公交報(bào)站系統(tǒng)

本頁面設(shè)置背景圖片后添加ListView,用于顯示多路公交車及線路。搭建公交報(bào)站及動(dòng)畫頁面,使用Tween Animation定義一個(gè)開始的位置和一個(gè)結(jié)束位置,定義移動(dòng)時(shí)間,隨后就能自動(dòng)產(chǎn)生移動(dòng)動(dòng)畫。在汽車報(bào)站系統(tǒng)中當(dāng)隨意選擇一個(gè)站點(diǎn)時(shí),跳轉(zhuǎn)到動(dòng)畫公交報(bào)站頁面,通過動(dòng)畫模擬公交經(jīng)過的站點(diǎn),當(dāng)?shù)竭_(dá)站點(diǎn)時(shí),公交車停止,然后繼續(xù)前進(jìn)。

①TranslateAnimation animation = new TranslateAnimation(0,900,0,0);

②animation.setDuration(2000);

③animation.setFillEnabled(true);

④animation.setFillAfter(true);

⑤iv_bus.setAnimation(animation);

⑥animation.startNow();

實(shí)例化TranslateAnimation 時(shí)確定初始值0,終止值900,確定前進(jìn)的時(shí)間為2000,設(shè)置動(dòng)畫填充效果不回到原地,設(shè)置動(dòng)畫不回到起始位置,設(shè)置汽車圖片的動(dòng)畫效果,啟動(dòng)動(dòng)畫,然后添加動(dòng)畫的事件監(jiān)聽器,通過調(diào)用onAnimationEnd 方法完成在動(dòng)畫結(jié)束后繼續(xù)觸發(fā)下一個(gè)動(dòng)畫,通過獲取服務(wù)器端的數(shù)據(jù)完成站點(diǎn)位置及時(shí)間的更新。語音播報(bào)利用Android 系統(tǒng)中自帶的TextToSpeech 類就可以實(shí)現(xiàn)語音的自動(dòng)播報(bào)。

4 結(jié)語

本項(xiàng)目是基于Android的智慧交通系統(tǒng),使用Android 實(shí)現(xiàn)了在移動(dòng)端上的頁面設(shè)計(jì)、智慧環(huán)境監(jiān)測(cè)等功能,是信息技術(shù)與交通的有機(jī)融合,以期給整個(gè)交通行業(yè)帶來了創(chuàng)新與變革。

猜你喜歡
服務(wù)器端頁面公交
大狗熊在睡覺
刷新生活的頁面
一元公交開進(jìn)太行深處
等公交
淺析異步通信層的架構(gòu)在ASP.NET 程序中的應(yīng)用
成功(2018年10期)2018-03-26 02:56:14
等公交
在Windows中安裝OpenVPN
網(wǎng)頁防篡改中分布式文件同步復(fù)制系統(tǒng)
同一Word文檔 縱橫頁面并存
淺析ASP.NET頁面導(dǎo)航技術(shù)
嘉祥县| 红原县| 旅游| 伽师县| 花莲市| 洱源县| 沁水县| 郯城县| 乌海市| 马尔康县| 鄂托克前旗| 钦州市| 鄂伦春自治旗| 文安县| 宜黄县| 鲁甸县| 高邑县| 南华县| 西平县| 远安县| 房山区| 仲巴县| 囊谦县| 温泉县| 叙永县| 全州县| 逊克县| 关岭| 昌宁县| 广丰县| 陆良县| 南康市| 尼木县| 昔阳县| 延津县| 乡宁县| 伊金霍洛旗| 湖口县| 宁陵县| 平江县| 广宁县|