羅序良
(廣東電網有限責任公司江門供電局,廣東 江門529000)
移動互聯網正處于一個發展爆炸期,智能手機作為一種載體,安裝在其上面的各種各樣的App著實解決了我們生活和工作中不少問題,方便了我們的生活和工作,各種SDK 包也使我們可以自行開發手機App,實現自己想要的功能。目前工作上我們存在尋找戶外作業地點的困難,于是決定制定相應解決方案。通過分析發現,結合手機自有的定位功能以及相關軟件開發技術,利用我們維護的二維碼檔案,開發一款自定義的導航App,可以有效解決我們的困難。App 通過Android 開發實現[1],二維碼生成與識別采用了google zxing開放源代碼以及zxing識別增強技術,導航技術采用百度開放平臺Android導航SDK。
2.1.1 點擊地圖生成經緯二維碼模塊
二維碼是用某種特定的幾何圖形以按一定規律分布的黑白相間的圖形記錄數據信息的。因其帶來的便捷性,當前二維碼應用比較廣,直接掃描二維碼圖片,就可以獲取相應信息,用戶無需記錄二維碼的具體內容,只要保存二維碼圖片即可。點擊地圖生成經緯二維碼模塊的功能是通過點擊地圖獲取經緯度信息,并把獲取的經緯度信息或導航地址信息編碼形成二維碼圖片。把經緯度信息和導航地址信息用二維碼作為載體來保存,主要是因為一來經緯度信息難以記憶;二來二維碼傳播方便,用戶只要掃一掃就行。
2.1.2 掃描二維碼自動導航模塊
掃描二維碼自動導航模塊可以讓用戶掃描特定二維碼或選擇特定二維碼圖片,實現從當前位置到目的地的路線規劃并開啟導航。具體功能實現方式如下:通過掃描二維碼,獲取解碼后的二維碼具體內容信息,首先對解碼出來的內容信息進行判斷,判斷是否是符合要求的二維碼,如果不符合要求,則提示掃描規范二維碼,不進行導航動作;如果符合要求,則對獲取的內容進行分析,當分析結果是經緯度時,則開啟內部實現的導航模式;當分析結果是導航地址時,則打開瀏覽器,跳轉到網頁導航。
開發過程中,為了充分體現眾多對象之間的動態協作以及對象之間發送消息的時間順序關系,制作了UML時序圖,軟件的UML時序圖如圖1所示。

圖1 UML時序圖
(1)該模塊生成經緯二維碼效果圖如圖2所示。

圖2 生成經緯二維碼效果圖
(2)經緯度坐標獲取方法是通過調用百度地圖SDK,點擊地圖上的目標地點,觸發相應事件獲取對應經緯度。二維碼生成引用了google zxing開放源代碼,通過運用矩陣算法,實現二維碼編碼圖片生成。
(1)該模塊實現的二維碼掃描效果圖如圖3所示,導航效果圖如圖4所示。
(2)該模塊二維碼掃描部分也引用了google zxing開放源代碼,通過調用手機攝像頭或打開本地二維碼圖片識別二維碼信息,結合調用百度導航SDK 實現掃描二維碼導航功能。該模塊核心代碼如下:

圖3 二維碼掃描效果圖

圖4 導航效果圖

App開發完成后展開測試工作,在測試過程中,我們制作了一系列功能測試用例,下面列舉其中一個測試用例情況,具體如表1所示。

表1 測試用例
通過開發這款安卓手機App,實現了電力戶外作業地點經緯度二維碼封裝管理以及掃描二維碼自動導航功能,有效解決了電力戶外作業尋找作業地點困難的問題,大大提高了電力戶外作業的工作效率。
[1]Meier R.Android 4高級編 程[M].佘建偉,趙凱,譯.3 版.北京:清華大學出版社,2013.