羅序良
(廣東電網(wǎng)有限責(zé)任公司江門供電局,廣東 江門529000)
移動(dòng)互聯(lián)網(wǎng)正處于一個(gè)發(fā)展爆炸期,智能手機(jī)作為一種載體,安裝在其上面的各種各樣的App著實(shí)解決了我們生活和工作中不少問題,方便了我們的生活和工作,各種SDK 包也使我們可以自行開發(fā)手機(jī)App,實(shí)現(xiàn)自己想要的功能。目前工作上我們存在尋找戶外作業(yè)地點(diǎn)的困難,于是決定制定相應(yīng)解決方案。通過分析發(fā)現(xiàn),結(jié)合手機(jī)自有的定位功能以及相關(guān)軟件開發(fā)技術(shù),利用我們維護(hù)的二維碼檔案,開發(fā)一款自定義的導(dǎo)航App,可以有效解決我們的困難。App 通過Android 開發(fā)實(shí)現(xiàn)[1],二維碼生成與識(shí)別采用了google zxing開放源代碼以及zxing識(shí)別增強(qiáng)技術(shù),導(dǎo)航技術(shù)采用百度開放平臺(tái)Android導(dǎo)航SDK。
2.1.1 點(diǎn)擊地圖生成經(jīng)緯二維碼模塊
二維碼是用某種特定的幾何圖形以按一定規(guī)律分布的黑白相間的圖形記錄數(shù)據(jù)信息的。因其帶來的便捷性,當(dāng)前二維碼應(yīng)用比較廣,直接掃描二維碼圖片,就可以獲取相應(yīng)信息,用戶無需記錄二維碼的具體內(nèi)容,只要保存二維碼圖片即可。點(diǎn)擊地圖生成經(jīng)緯二維碼模塊的功能是通過點(diǎn)擊地圖獲取經(jīng)緯度信息,并把獲取的經(jīng)緯度信息或?qū)Ш降刂沸畔⒕幋a形成二維碼圖片。把經(jīng)緯度信息和導(dǎo)航地址信息用二維碼作為載體來保存,主要是因?yàn)橐粊斫?jīng)緯度信息難以記憶;二來二維碼傳播方便,用戶只要掃一掃就行。
2.1.2 掃描二維碼自動(dòng)導(dǎo)航模塊
掃描二維碼自動(dòng)導(dǎo)航模塊可以讓用戶掃描特定二維碼或選擇特定二維碼圖片,實(shí)現(xiàn)從當(dāng)前位置到目的地的路線規(guī)劃并開啟導(dǎo)航。具體功能實(shí)現(xiàn)方式如下:通過掃描二維碼,獲取解碼后的二維碼具體內(nèi)容信息,首先對(duì)解碼出來的內(nèi)容信息進(jìn)行判斷,判斷是否是符合要求的二維碼,如果不符合要求,則提示掃描規(guī)范二維碼,不進(jìn)行導(dǎo)航動(dòng)作;如果符合要求,則對(duì)獲取的內(nèi)容進(jìn)行分析,當(dāng)分析結(jié)果是經(jīng)緯度時(shí),則開啟內(nèi)部實(shí)現(xiàn)的導(dǎo)航模式;當(dāng)分析結(jié)果是導(dǎo)航地址時(shí),則打開瀏覽器,跳轉(zhuǎn)到網(wǎng)頁導(dǎo)航。
開發(fā)過程中,為了充分體現(xiàn)眾多對(duì)象之間的動(dòng)態(tài)協(xié)作以及對(duì)象之間發(fā)送消息的時(shí)間順序關(guān)系,制作了UML時(shí)序圖,軟件的UML時(shí)序圖如圖1所示。
圖1 UML時(shí)序圖
(1)該模塊生成經(jīng)緯二維碼效果圖如圖2所示。
圖2 生成經(jīng)緯二維碼效果圖
(2)經(jīng)緯度坐標(biāo)獲取方法是通過調(diào)用百度地圖SDK,點(diǎn)擊地圖上的目標(biāo)地點(diǎn),觸發(fā)相應(yīng)事件獲取對(duì)應(yīng)經(jīng)緯度。二維碼生成引用了google zxing開放源代碼,通過運(yùn)用矩陣算法,實(shí)現(xiàn)二維碼編碼圖片生成。
(1)該模塊實(shí)現(xiàn)的二維碼掃描效果圖如圖3所示,導(dǎo)航效果圖如圖4所示。
(2)該模塊二維碼掃描部分也引用了google zxing開放源代碼,通過調(diào)用手機(jī)攝像頭或打開本地二維碼圖片識(shí)別二維碼信息,結(jié)合調(diào)用百度導(dǎo)航SDK 實(shí)現(xiàn)掃描二維碼導(dǎo)航功能。該模塊核心代碼如下:
圖3 二維碼掃描效果圖
圖4 導(dǎo)航效果圖
App開發(fā)完成后展開測(cè)試工作,在測(cè)試過程中,我們制作了一系列功能測(cè)試用例,下面列舉其中一個(gè)測(cè)試用例情況,具體如表1所示。
表1 測(cè)試用例
通過開發(fā)這款安卓手機(jī)App,實(shí)現(xiàn)了電力戶外作業(yè)地點(diǎn)經(jīng)緯度二維碼封裝管理以及掃描二維碼自動(dòng)導(dǎo)航功能,有效解決了電力戶外作業(yè)尋找作業(yè)地點(diǎn)困難的問題,大大提高了電力戶外作業(yè)的工作效率。
[1]Meier R.Android 4高級(jí)編 程[M].佘建偉,趙凱,譯.3 版.北京:清華大學(xué)出版社,2013.