欢迎来到天天文库
浏览记录
ID:5994929
大小:30.00 KB
页数:7页
时间:2017-12-30
《基于sms推送android定位寻人系统探究和实现》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、基于SMS推送Android定位寻人系统探究和实现 摘要:为快速定位走失的儿童和老人,提出了基于Android移动平台,以SMS推送为通讯方式并整合第三方定位模块和地图服务,构建一款LBS应用系统的实现方案。围绕SMS推送方式,系统完成了数据封包规则的定义,并参考TCP协议中可靠性连接服务“三次握手”原理,结合系统实际设计了通信双方建立受信信道的握手方案,保障通信有序、安全地运行。同时,系统采用成熟的第三方模块和地图服务,运用GPS、基站和WiFi定位保障定位模块的高可靠性运行。关键词关键词:寻人;Android;GPS定
2、位;LBS;SMS;AES中图分类号:TP319文献标识码:A文章编号文章编号:16727800(2013)0070085030引言3G技术不断发展,Android以其良好的用户体验、低廉的成本和较高的开放性,吸引了众多终端厂商,成为目前市场份额最高的移动智能终端操作系统。Android的快速发展,催生了大量的移动互联网应用,其中,基于位置的服务(LocationBased7Service,LBS)结合电信移动运营商的无线电通讯网络、GPS、传感器和地理信息系统(GeographicInformationSystem,GIS
3、),以其蕴含的巨大市场潜力,成为目前众多移动应用的标配。随着社会老龄化程度的加深,老年人口快速增加,智力退化、生活环境的复杂化、缺乏必要的关爱已成为老人遗失的主要原因。儿童是家庭未来的寄托和希望,而中国每年约有3~6万名儿童失踪,这些失踪儿童家庭所面临的痛苦是无法言喻的,甚至很多家庭走到了家破人亡的境地。老人和儿童的遗失已经成为一个不容忽视的社会问题,对老人和儿童安全监护的需求日益凸显。目前,Android应用市场的应用程序数量已突破60万,LBS应用也渐趋成熟。若能结合卫星定位技术GPS、3G通信技术和地理信息技术GIS,
4、开发一款利用手机客户端进行实时位置监控、搜寻路线规划的LBS应用,寻找遗失老人和儿童,将具有非常重要的现实意义。1系统设计系统包含监控端和被监控端两个应用程序,监控端应用安装在监护人的移动终端上,被监控端应用安装在老人或儿童的移动终端上。1.1技术选型(1)7信息推送方式选择。GPS定位操作由被监控端完成,定位数据实时地被推送到监控端,Android中通常可以采用以下几种方式:1.XMPP(ExtensibleMessageingandPresenceProtocol,可扩展消息与存在协议);2.服务器轮询;3.长连接Soc
5、ket;4.SMS。由于系统被监控端的用户为老人或儿童,所持手机具有功能简单、不能上网的特点,而上述前三种方式需要使用互联网,因此不予考虑。SMS方案虽需向移动运营商缴纳相应费用,但基于定位数据量少且通信频率不高的特点,该方案切实可行。(2)握手密钥加密方式选择。握手密钥作为通讯双方建立可靠通信信道的保障,在传输前需进行加密处理,本系统采用AES对称加密算法进行加密。AES算法能抵御所有已知攻击,运行速度快且设计简单,是对称密钥加密中最流行的算法之一。(3)系统参数存储方式选择。在Android中持久化保存数据有三种方式:S
6、QLite、SharedPreferences和File,SharedPreferences具有轻量化、操作方便的特点,是本系统监控端与被监控端应用参数存储的首选方式。1.2工作原理7监控端发出定位请求,该请求以SMS短信的形式发往被监控端,定位请求包含了一次握手过程。被监控端解析监控端提供的握手密钥,若与其预存储的握手密钥一致,则握手成功。被监控端随即通过第三方定位SDK发出GPS定位请求,在收到卫星定位反馈的经度与纬度信息后,将握手密钥、经纬度数据按协议封装为数据包,以SMS短信形式发往监控端。监控端对数据包进行解析前,
7、同样包含一次握手过程:即拆包判定密钥是否与被监控端握手密钥一致,一致则握手成功。一旦握手成功,客户端通过WiFi或3G网络,对经纬度进行反地理编码,将所得地址信息显示于监控端应用界面,并采用第三方地图包SDK,如Google、百度地图SDK规划步行及驾车路线。2.1当前位置获取和显示监控端应用程序启动时,调用百度地图定位SDK和地图SDK,对监控端用户所在位置进行定位,以位置覆盖物的方式在地图上显示。实现定位的核心类是LocationClient,它注册实现了BDLocationListener接口的侦听器对象对定位数据进行
8、异步获取,定位数据包括经度、纬度、经度半径等信息,由onReceiveLocation回调函数以BDLocation对象封装返回。获取到定位数据后,再使用MyLocationOverlay对象绘制用户当前在地图上的位置以及嵌入式指南针,并将MyLocationOverlay对象加入MapV
此文档下载收益归作者所有