李 铮
(承德石油高等专科学校 管理工程系,河北承德067000)
基于Android的位置跟踪系统设计与实现
李 铮
(承德石油高等专科学校 管理工程系,河北承德067000)
Android是Google公司推广的开放式手机操作系统,因其使用Java语言作为主要程序开发语言,而有着开发迅速、程序通用性好等特性。本文讲述如何利用Android平台实现实时位置跟踪系统。
JAVA;Android;位置跟踪;GPS
位置跟踪系统在现实生活中有着广泛的用途,如货物跟踪、探险救援、老年人的紧急救护等。在Android出现之前的位置跟踪系统大多基于自主设计的软硬件系统。
这种实现方法有几个明显的缺陷。首先,设计成本高,软硬件都要进行设计制作;其次,代码无法重用,更换不同的硬件平台时都要重新编写验证代码,不符合现代编程理念;第三、涉及硬件底层编码,程序设计过程复杂,不便于升级维护。
为了解决过去实现方法中出现的种种缺陷,笔者利用android平台设计了一套位置跟踪系统。系统利用安装Android平台的移动设备中GPS定位模块,实时记录设备所在位置,并把记录到的时间、位置及速度等信息按时发送到服务器端,达到实时监控目标位置的目的。
Android是一种基于Linux的自由及开放源代码的操作系统,主要是用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发,有着开源、硬件平台丰富、方便开发等特点。
系统分为三个主要模块,分别为数据存储及发送模块、手机界面模块及服务器模块[1-2]。
数据存储及发送模块的主要功能是定时取得并分别在手机及服务器端记录位置信息。设计思路是首先利用计时器每隔设定好的时间向GPS服务程序发送请求,服务程序请求位置管理器取得当前位置信息,当位置信息符合我们设定好的距离等条件时,位置信息会被保存在数据库中,同时向服务器端发送位置信息。
服务器模块主要利用网页显示从手机发送过来的位置信息。设计思路是利用PHP建立一个接收程序接收手机客户端发来的位置信息并保存在服务器数据库中,当用户打开位置信息网页时可以实时显示机主位置信息。
手机界面模块的主要功能是在手机端显示机主所在位置及相关信息。设计思路是首先利用Google地图建立地图界面,然后取得当前时间,循环从手机数据库中取得当然日期所以位置点,利用map工具在地图上分别建立每个位置点图标,当用户点击图标时会出现该图标点的行走距离及逗留时间等信息。同时手机界面模块提供用于设置包括记录间隔、服务器地址等系统信息的界面。
根据以上设计思路,下面我简要介绍各模块的主要程序。
2.2.1 数据存储模块主要程序
1)AlarmSupport计时器类主要方法
2)GpsService服务类主要方法
3)GPSListener位置监听类主要方法
2.2.2 手机界面模块主要程序
2.2.3 服务器模块主要程序
本项目需要对手机进行连接网络、获取网络状态等操作,因此在AndroidManifest文件中要进行权限声明。
配置例:
本文简单阐述了如何利用Android实现实时位置跟踪系统,通过该系统我们可以方便而快捷得知机主所在位置信息及所经路线,本系统可以用于物流跟踪、探险救援等各种需要实时取得位置信息的情况见图1。
同时由于本系统采用的是Android平台进行开发,因此可以方便的进行重用和扩展,程序员只需根据新硬件的特性进行系统设置简单的修改就可以再次使用。相信通过这篇文章的学习,读者也能够开发出适合自己项目特点的跟踪系统。
[1]李刚.疯狂Android讲义(第1版)[M].北京:电子工业出版社,2012.
[2]Dava MacLean.精通Android3(第1版)[M].北京:人民邮电出版社,2011.
Design and Implementation of Position-tracking System Based on Android Platform
LI Zheng
(Department of Management Engineering,Chengde Petroleum College,Chengde 067000,Hebei,China)
Android,an open mobile phone operating system by Google,uses Java as the main program developing language,which makes it work more quickly and for more general purpose.This paper discusses how to realize a real-time position tracking system based on Android platform.
JAVA;Android;position-tracking;GPS
TP316
B
1008-9446(2013)05-0033-04
2013-05-29
李铮(1980-),男,河北承德市人,承德石油高等专科学校管理工程系讲师,主要从事计算机教学。