android 定位(location、gps)组件介绍和入门程序

本文介绍了Android平台下GPS定位的基本原理与实现方法。通过LocationManager和服务提供者LocationProvider进行交互,实现每3秒更新一次位置信息的功能。文章还探讨了LocationManager的使用技巧,并提出了一些进一步改进的想法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

以前学过wince的gps开发,比较之下,android把gps相关的东西封装的太简单了。


3个相关组件:
通过getSystemService获得LocationManager实例,LocationManager是gps管理类;
通过LocationManager获得具体的LocationProvider,android支持3种不同的定位服务,每一种定位方式对应一个LocationProvider,常用的自然是基于GPS的了;
通过LocationManager可以对具体的LocationProvider请求定位,返回信息是一个Location实例,Location是一个内容类,包含了经纬度、海拔、方向等等定位信息。


写了一个超级入门的定位程序:
使用GPS定位,每3秒返回一次定位结果并显示。
核心代码如下:
LocationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 3000, 0, new LocationListener()
        {
        	public void onLocationChanged(Location loc)
        	{
        		tv.setText(loc.toString());
        	}
        	
        	public void onProviderDisabled(String pro)
        	{
        		
        	}
        	
        	public void onProviderEnabled(String pro)
        	{
        		
        	}
        	
        	public void onStatusChanged(String pro, int status, Bundle extras)
        	{
        		
        	}
        });

权限:

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />






疑问:
1.requestLocationUpdates这个方法是LocationManager提供的,我觉得LocationProvider也提供一个更方便一点吧。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值