罗序良
(广东电网有限责任公司江门供电局,广东 江门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.