智能手机GPS功能开发与研究

时间:2022-08-11 09:02:34

智能手机GPS功能开发与研究

摘要:基于智能手机Android的应用开发多种多样,该文利用智能手机自带的GPS芯片,开发了一款能够实时对手机携带者进行定位和跟踪的系统。系统由前台界面和后台服务组成,并且后台Service能将位置数据发送到监测台。

关键词:Android;GPS;开发研究

中图分类号:TP313 文献标识码:A 文章编号:1009-3044(2014)20-4808-02

The Research and Development of Intelligent Mobile Phone GPS

ZHANG Rui-min,ZHU Ya-lin,LIN Xiao-bin,ZHOU Xiu-yuan

(Lanzhou Institute of Technology, Department of Software , Lanzhou 730050,China)

Abstract:The Application and development is diversity based on Android intelligent mobile phone, GPS chip by using intelligent mobile phone, developed a real-time positing and tracking of mobile phone carriers, The system consists of front interface and backstage service composition, the Service will transmit the position data to the monitoring station.

Key words: Android; GPS; research and development

随着智能手机产业和通讯技术的发展,智能手机日新月异,基于智能手机的应用更是应有尽有,智能手机中的各种功能都得到充分的开发。对智能手机中GPS功能的开发越来越受到重视[1]。而Android作为一款智能手机操作系统,以其良好的开放性、开源免费性、软硬件功能扩展性强等特点,占据了智能手机操作系统的大部分市场。开发基于Android的GPS软件应用前景广阔。

1 开发环境简介

自2007年Google公司推出Android开发平台以来,近几年基于Android系统的开发受到软件开发者的青睐,其各项技术得到迅猛发展。因为基于Android平台开发可以支持Windows、Linux和Mac OS等系统。Android应用程序的基础是各种组件,设计实例中用到的主要组件[2]有Activity、Service和BroadcastReceiver,它们之间的关系如图1所示:

2 GPS功能开发实例

利用Android智能手机中GPS定位功能,开发一款能够确定手机携带者地理位置的软件,实现对个人位置的跟踪、监视,记录其移动轨迹。软件运行时启动后台Service,定时读取GPS数据获取手机携带者地理位置信息,并实时向前台界面传送数据不断更新Activity界面,同时将地理位置信息以短信方式发送至服务器(PC)。系统功能结构如图2所示:

2.1 GPS定位设置

Android操作系统支持GPS API-LBS,智能手机通过自带的GPS芯片来接收卫星信号,通过全球定位系统来获取手机携带者当前坐标数据,然后通过无线网络连接将数据发送到检测台。利用手机自带的GPS进行开发,首先应该在手机“设置”菜单中选择“位置服务”子菜单,最后选定“GPS卫星”。另外还需要在应用程序中设置定位服务权限[3],代码如下:

2.2 技术实现

Android中关于GPS位置定位的API和类主要包含在Android.Location软件包中[4]。其中LocationManager类是定位服务编程中最主要的类,它负责获取定位数据(用getLatitude()获得纬度数据,getLongtitude()获得经度数据)、读取GPS状态等定位服务管理。它提供了一系列方法来处理地理位置信息,主要方法如表1所示。程序中注册一个基于LocationListener的MyLocationListener,使得其在GPS信息改变的时候能被捕获到。主要代码如下:

lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);

locationListener = new MyLocationListener();

lm.requestLocationUpdates(LocationManager.GPS_PROVIDER,0,0, locationListener);

当后台服务启动后GPS开始跟踪,并且当进行Activity界面切换操作时都不影响GPS跟踪,也就是希望程序能够在后台不间断的进行跟踪、记录。这样必须实现Service,首先创建一个名字为Track的Service,然后在manifest文件中的application标签内加入对其的申明。其它代码省略,主要代码如下:

Public class Track extends Service {

Private static final String TAG=”Track”;

Private LocationManager lm;

Private LocationListener locationListener;

Static LocateDbAdapter mlcDbHelper=null;

Private int track_id;

@Override

Public IBinder onBind(Intent arg0) {

Log.d(TAG, “onBind”)

Return null; }

Public void onStart(Intent intent, int started) {

Log.d(TAG, “onStart”);

Super.onStart(intent,started);

mlcDbHelper= new locateDbAdapter(this);

mlcDbHelper.open();

Bundle extras = intent.getExtras();

If (extras !=null) {

track_id = extras.getInt(LocateDbAdapter.TRACKID); }

Log.d(TAG, “track_id=” +track_id);

Lm = (LocationManager) getSystemService(Context.LOCTION_SERVICE);

LocationListener = new MyLocationListener();

Lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0,0,locationListener); } }

2.3 数据存储

在程序中要把获取到的个人位置信息保存下来,因为位置信息数据会随着使用时间越来越多,也为了以后扩展方便,这里选择SQLite数据库存储方式。个人位置信息如表2所示。

3 结论

本文利用智能手机自带的GPS功能对个人位置信息进行实时定位,并将实时数据发送到PC检测台。以便对手机携带者进行实时跟踪、监测和管理。

参考文献:

[1] 公磊. 基于Android的GPS测量系统开发[D].南昌大学,2008.

[2] Android公司. Android SDK Tools, Revision 20.[EB/OL].[2012.5].http://.

[3] 苏雅,仰燕兰,吴晓佳,叶桦. 基于Android系统的手机定位软件的设计与开发[J].计算机科学与应用,2013.3,17-22.

[4] 农丽萍. Android在嵌入式车载导航系统的应用研究[J].计算机工程与设计,2010,31(11).

上一篇:仿真柔性制造系统的研究与实现 下一篇:大数据应用技术浅析