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