• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于安卓的便民自行車管理系統(tǒng)的設(shè)計與實現(xiàn)

      2020-07-22 11:15:40
      榆林學院學報 2020年4期
      關(guān)鍵詞:便民充值掃碼

      董 婷

      (榆林學院 信息工程學院,陜西 榆林 719000)

      1引言

      隨著機動車的迅猛發(fā)展,環(huán)境不斷惡化。為了解決交通擁堵以及環(huán)境污染這兩個世界問題,政府便開始提倡綠色生活,環(huán)保出行。《基于安卓的便民自行車管理系統(tǒng)》便是在綠色生活,環(huán)保出行的大環(huán)境背景下誕生的。用戶可以在安卓手機上安裝本文介紹的《基于安卓的便民自行車管理系統(tǒng)》方便快捷的使用便民自行車,通過軟件可以查看附近車輛位置,用軟件內(nèi)的掃碼功能可以實現(xiàn)解鎖車輛。并開始計時收費,并且實現(xiàn)騎行路線規(guī)劃與導航,行程結(jié)束后可以支付并反饋騎行體驗。

      2 便民自行車管理系統(tǒng)的實現(xiàn)

      2.1 注冊登錄的實現(xiàn)

      在服務(wù)器啟動后,進入便民自行車管理系統(tǒng)客戶端,新用戶需要注冊登錄賬號。用戶通過在APP內(nèi)注冊頁面輸入的信息會返回到服務(wù)端進行數(shù)據(jù)庫匹配和增加操作。管理員也可以使用APP進行注冊,只需要在注冊框下方點擊管理員權(quán)限。

      用戶注冊時會進行是否注冊過的邏輯判斷,注冊的賬號通過邏輯判斷后,在用戶輸入密碼的時候進行加密處理,管理員注冊時需要進行權(quán)限選擇。

      2.2 地圖定位的實現(xiàn)

      百度地圖提供的免費定位服務(wù) 分為高精度定位模式 低功耗定位模式 僅設(shè)備定位模式 三種模式,高精度定位模式:在高精度定位模式下,會同時使用移動網(wǎng)絡(luò)定位和GPS定位,優(yōu)先返回最高精度的定位結(jié)果[1-2]; 低功耗定位模式:這種定位模式下,不會使用GPS,只會使用網(wǎng)絡(luò)定位(Wi-Fi和基站定位) 僅用設(shè)備定位模式:這種定位模式下,不需要連接網(wǎng)絡(luò),只使用GPS進行定位,這種模式下不支持室內(nèi)環(huán)境的定位[3]。具體操作配置如下:

      (1)在百度SDK官網(wǎng)下載com.baidu.location.service包。

      (2)將com.baidu.location.service包直接拷貝到工程中。

      (3)進行簡單配置即可獲取定位結(jié)果,也可以根據(jù)demo內(nèi)容自行封裝。

      2.3騎行距離計算功能的實現(xiàn)

      騎行距離計算是通過定位獲取經(jīng)度、緯度、距離和一個角度。具體計算步驟如下:

      圖1 計算距離二維坐標圖

      (1)(Math.PI / 180) * latitude1作用是將角度轉(zhuǎn)換為弧度,經(jīng)緯度坐標是角度值,計算時需要換為弧度。這里所有的計算都是用弧度[4]。

      (2)函數(shù)以正北方(due north) 也就是指南針的方向為0度,順時針方向增加。如下圖,Distance距離如果是d的話,dx就是x軸方向的長度,即longitude經(jīng)度方向的長度;dy就是y軸方向的長度,即latitude緯度方向的長度。

      dx、dy的計算方式也可以是以正東(due east)方向為0度[5]。

      dx=distance*cos(θ)

      dy=distance*cos(θ)

      其中區(qū)別是cos與sin互換。

      (3)截面過球心,此時截面的面積最大,此圓叫球的大圓(Great Cycle),沿著經(jīng)線進行截面,得到的都是大圓(Great Cycle)。球面被不經(jīng)過球心的截面所截得的圓 叫做小圓[6]。緯度圈所在的圓是一個小圓。地球半徑R,平均值R=6371.0km,可以參看《根據(jù)2個經(jīng)緯度點,計算這2個經(jīng)緯度點之間的距離(通過經(jīng)度緯度得到距離)》。其中值得一提的是,維基百科推薦使用Haversine公式,理由是Great-circle distance公式用到了大量余弦函數(shù), 而兩點間距離很短時(比如地球表面上相距幾百米的兩點),余弦函數(shù)會得出0.999...的結(jié)果, 會導致較大的舍入誤差[7]。而Haversine公式采用了正弦函數(shù),即使距離很小,也能保持足夠的有效數(shù)字。 以前采用三角函數(shù)表計算時的確會有這個問題,但經(jīng)過實際驗證,采用計算機來計算時,兩個公式的區(qū)別不大[8]。 穩(wěn)妥起見,這里還是采用Haversine公式。

      其中

      haversin(θ)=sin2(θ/2)=(1-cos(θ))/2

      R為地球半徑,可取平均值 6371km;

      φ1, φ2表示兩點的緯度;

      Δλ 表示兩點經(jīng)度的差值。

      2.4掃碼開鎖功能的實現(xiàn)

      圖2 二維碼區(qū)域解析圖

      首先,介紹二維碼的一部分知識:二維碼一共有 40 個尺寸。官方叫版本 Version。Version 1 是 21 x 21 的矩陣,Version 2 是 25 x 25 的矩陣,Version 3 是 29 的尺寸,每增加一個 version,就會增加 4 的尺寸,公式是:(V-1)*4 + 21(V是版本號) 最高 Version 40,(40-1)*4+21 = 177,所以最高是 177 x 177 的正方形。

      由于在本系統(tǒng)中沒有智能鎖設(shè)備的設(shè)計,在本系統(tǒng)中采用聯(lián)圖網(wǎng)制作生成模擬車輛的二維碼,在便民公共自行車管理系統(tǒng)中掃碼可以獲取單車的信息,二維碼是每個單車唯一的身份認證,每輛車都是唯一編號,掃二維碼和手動輸入單車編號效果一樣。然后通過地圖獲取到開鎖的定位,然后連續(xù)發(fā)起定位請求,請求的時間間隔為3000ms。實現(xiàn)掃碼開鎖的具體步驟如下:

      (1)開啟camera,在后臺獨立線程中完成掃描任務(wù);

      (2)在掃描界面繪制了一個正方形的掃描區(qū)(viewfinder)提示用戶將二維碼置于掃描區(qū)以準確掃描;

      (3)然后將掃描的結(jié)果發(fā)送到服務(wù)器端;

      (4)掃描成功后會將掃描結(jié)果展示在界面上。

      圖3 掃碼開鎖原理圖

      Server生成二維碼的內(nèi)容是手機段訪問服務(wù)器的登陸網(wǎng)址,再加上生成的uuid,這個uuid是用來確定是具體某個用戶的請求。Server是通過一個長連接維持用戶請求和服務(wù)器之間的通信,直到用戶通過手機端將請求信息發(fā)送給Server,然后長連接每隔一段時間通過uuid監(jiān)測是否有用戶的開鎖信息,如果有,則長連接結(jié)束,跳轉(zhuǎn)到騎行頁面,將車輛信息返回給用戶。

      2.5充值功能的實現(xiàn)

      新用戶注冊登錄后會出現(xiàn)錢包充值的頁面,根據(jù)用戶所選的面值充值到用戶個人的錢包中,在用戶騎行結(jié)束后系統(tǒng)會自動扣除用戶的錢包余額。余額會在用戶的個人界面中展示方便用戶查看。

      充值模塊通過構(gòu)建前端ChargeActivity.Java頁面中有充值金額和手動輸入框。新用戶可以通過在手機端選擇面值,然后將充值的金額儲存在數(shù)據(jù)庫用戶表中。充值后手機端會提示充值成功。

      2.6單車信息管理的實現(xiàn)

      圖4 手機端單車管理流程圖

      管理員注冊后登錄系統(tǒng)在手機端Fragment/Device.Java頁面的右上角點擊添加單車的按鈕,編輯單車的編號和單價。添加單車后,可以在頁面內(nèi)進行修改和刪除單車信息。管理員添加的單車信息發(fā)送到服務(wù)端在deviceAddSubmit類中進行編號是否重復的邏輯判斷,判斷后將單車信息添加到Device表中。

      3總結(jié)

      本系統(tǒng)采用流行的Android移動端開發(fā)和比較流行的SpringMVC框架,運用MySQL數(shù)據(jù)庫來完成系統(tǒng)的設(shè)計與開發(fā)。系統(tǒng)全面覆蓋分析了用戶的需求,最終達到了預(yù)期的效果。用戶和管理都可以使用便民自行車管理系統(tǒng)的客戶端進行操作,實現(xiàn)了城市中公共自行車方便、便捷的使用。

      本系統(tǒng)通過安卓手機客戶端和互聯(lián)網(wǎng)+讓用戶可以方便快捷的進行公共自行車的使用,用戶在系統(tǒng)中可以看到附近的車輛以及通過手機掃碼開鎖。然后管理員可以方便快捷的添加、管理、維修車輛以及進行系統(tǒng)維護等操作。

      猜你喜歡
      便民充值掃碼
      臍橙連上物聯(lián)網(wǎng) 掃碼便知“前世今生”
      山之高
      便民公告欄
      奇妙的智商充值店
      小主人報(2018年11期)2018-06-26 08:52:30
      中國進入“掃碼”時代
      伙伴(2018年1期)2018-05-14 10:49:15
      瓊島道班的便民點
      中國公路(2017年10期)2017-07-21 14:02:37
      充值
      掃碼看直播
      留學(2016年11期)2016-08-26 01:05:30
      基于NFC的ETC卡空中充值服務(wù)應(yīng)用系統(tǒng)實現(xiàn)
      便民電話緣何不便民
      临朐县| 黎川县| 商河县| 西昌市| 城口县| 基隆市| 嘉义县| 霍州市| 宝坻区| 无为县| 山东省| 抚远县| 长沙市| 珠海市| 亚东县| 娱乐| 泾川县| 南木林县| 大英县| 郯城县| 唐河县| 西平县| 阳原县| 伊吾县| 纳雍县| 平南县| 叙永县| 安化县| 永顺县| 开封市| 平邑县| 崇信县| 大竹县| 时尚| 双流县| 宜川县| 庆云县| 太和县| 尼木县| 喀喇沁旗| 海晏县|