首页 > 代码库 > Android GPS学习
Android GPS学习
因项目中要用到GPS定位,学习了下,便把学习成果记录下来。
在清单文件中添加权限:
用到的几个对象,LocationManager、LocationListener、Location.
*LocationManager 位置管理器,想要操作定位相关设备,必须先创建一个一个LocationManager对象。
* LocationListener 位置监听者,监听位置变化,监听设备开关与状态。主要用来获取location, 在内部类实现:
绑定监听:
requestLocationUpdates(String provider, long minTime, float minDistance, LocationListener listener)中的4个参数:
String provider:设备提供者,LocationManager.GPS_PROVIDER和LocationManager.NETWORK_PROVIDER
long minTime: 位置信息更新周期,毫秒为单位;
float minDistance:位置变化最小距离:当位置距离变化超过此值时,将更新位置信息
LocationListener listener:监听者
在清单文件中添加权限:
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission> <uses-permission android:name="android.permission.INTERNET"></uses-permission> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
用到的几个对象,LocationManager、LocationListener、Location.
*LocationManager 位置管理器,想要操作定位相关设备,必须先创建一个一个LocationManager对象。
LocationManger locationManager=(LocationManager)this.getSystemService(Context.LOCATION_SERVICE);
* LocationListener 位置监听者,监听位置变化,监听设备开关与状态。主要用来获取location, 在内部类实现:
class myListen implements LocationListener { @Override public void onLocationChanged(Location location) { //位置发生变化 Log.i(TAG, "onLocationChanged......."); if (mHandler != null) { Message msg = mHandler.obtainMessage(REFRESH_LOCATION, location); msg.sendToTarget(); } } @Override public void onProviderDisabled(String provider) { // } @Override public void onProviderEnabled(String provider) { } @Override public void onStatusChanged(String provider, int status, Bundle extras) { // } }
绑定监听:
myListenGPS = new myListen(); locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, CHECK_POSITION_INTERVAL, 0, myListenGPS);
requestLocationUpdates(String provider, long minTime, float minDistance, LocationListener listener)中的4个参数:
String provider:设备提供者,LocationManager.GPS_PROVIDER和LocationManager.NETWORK_PROVIDER
long minTime: 位置信息更新周期,毫秒为单位;
float minDistance:位置变化最小距离:当位置距离变化超过此值时,将更新位置信息
LocationListener listener:监听者
* Location 位置信息,通过Location可以获取时间、经纬度、海拔等位置信息。
Location location=locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);//主动获取Location SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss"); Date date = new Date(location.getTime()); String message = "时间:" + dateFormat.format(date) + "\n" +"经度:" + location.getLongitude() + "\n" + "纬度:" + location.getLatitude() + "\n";
Android GPS学习
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。