GPS是全球定位系统,他能够获取到你当前的位置、方向、速度、高度等信息,这样可以帮助我们实现很多功能,如获取当前位置等信息、距离计算、邻近报警等功能。下面我就带大家一起来简单实现第一个功能获取当前位置等信息,大牛绕过。

效果图:

——————————————————————————————————————

首先先介绍一下GPS定位系统API中的两个重要的方法:

一、LocationManager:位置管理器。要想操作定位相关设备,必须先定义个LocationManager。我们可以通过如下代码创建LocationManger对象。
LocationManger locationManager=(LocationManager)this.getSystemService(Context.LOCATION_SERVICE);

二、LocationListener
LocationListener,位置监听,监听位置变化,监听设备开关与状态。

三、LocationProvider

LocationProvider类可以获取与位置提供者相关的信息。Location类是对具体位置信息的抽象表示。

使用GPS定位的关键之一就是获取LocationProvider,每一个LocationProvider对象都表示一个抽象的定位系统。无论使用GPS做什么,都需要首先获取合适的LocationProvider对象。

//  获取passive Location Provider
LocationProvider passiveProvider =mLocationManager.getLastKnownLocation(LocationManager.PASSIVE_PROVIDER);
//  获取gps Location Provider
LocationProvider gpsProvider =mLocationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
//  获取network Location Provider
LocationProvider passiveProvider = mLocationManager. getLastKnownLocation (LocationManager.NETWORK_PROVIDER);

四、需要的权限

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

——————————————————————————————————

代码:

activity_main.xml:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context=".MainActivity" ><TextViewandroid:id="@+id/tv"android:layout_width="wrap_content"android:layout_height="wrap_content" /></RelativeLayout>

MainActivity.java:

package com.oak.learngpslocationdemo;import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.app.Activity;
import android.content.Context;
import android.widget.TextView;public class MainActivity extends Activity {private TextView tv;//用于显示信息的TextViewprivate LocationManager mLocationManager;//位置管理器@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);tv = (TextView) findViewById(R.id.tv);//获取到TextView//获取到位置管理器实例mLocationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);//获取到GPS_PROVIDERLocation location = mLocationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);//侦听位置发生变化,2000毫秒更新一次,位置超过8米也更新一次mLocationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 2000, 8, new LocationListener() {@Overridepublic void onStatusChanged(String provider, int status, Bundle extras) {// TODO Auto-generated method stub}@Overridepublic void onProviderEnabled(String provider) {// 当GPS Location Provider可用时,更新位置updata(mLocationManager.getLastKnownLocation(provider));}@Overridepublic void onProviderDisabled(String provider) {// TODO Auto-generated method stub}@Overridepublic void onLocationChanged(Location location) {// 当GPS定位信息发生改变时,更新位置updata(location);}});//更新位置信息显示到TextViewupdata(location);}private void updata(Location location){if(location != null){StringBuilder sb = new StringBuilder();sb.append("实时的位置信息:\n");sb.append("经度:");sb.append(location.getLongitude());sb.append("\n纬度:");sb.append(location.getLatitude());sb.append("\b高度:");sb.append(location.getAltitude());sb.append("\n速度:");sb.append(location.getSpeed());sb.append("\n方向:");sb.append(location.getBearing());tv.setText(sb.toString());}}
}

好啦,到这里就结束了一个简单的获取位置的demo,还有距离计算和邻近报警请看下篇博客,不动的童鞋们可以留言给我哦,我会第一时间回复的。

By:Brycen Liu

Android全球定位系统GPS实时获取位置-刘宇相关推荐

  1. Android全球定位系统GPS使用教程大全-刘宇

    说到GPS这个名词,相信大家都不陌生,GPS全球定位技术嘛,嗯,Android中定位的方式 一般有这四种:GPS定位,WIFI定准,基站定位,AGPS定位(基站+GPS): 本系列教程只讲解GPS定位 ...

  2. Android全球定位系统GPS距离计算-刘宇

    GPS不光可以获取到当前位置信息,还可以通过里面的Location中的静态方法distanceBetween来判断两点之间的距离. distanceBetween静态方法中有五个参数: 第一个参数:表 ...

  3. Android全球定位系统GPS邻近警报-刘宇

    在网上看到很多童鞋们说邻近警报运行起来无效,这里我为大家简单的介绍一下全部过程,你们可能缺少了哪一步哦,详情请看下面,大牛请绕过. 之前介绍了GPS获取当前位置和距离的计算,现在来介绍一下利用GPS来 ...

  4. 全球定位系统GPS简介

    全球卫星定位系统GPS(Global Positioning System)是美军70年代初在"子午仪卫星导航定位"技术上发展而起的具有全球性.全能性(陆地.海洋.航空与航天).全 ...

  5. 106.android简单的GPS实时定位

    //定位权限.网络权限: <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/ ...

  6. 安卓(android)使用GPS,获取经纬度

    android获取经纬度,有这个两个类需要用: 1.LocationManager位置管理器 2.Location位置类 第一步:获取LocationManager实例 locationManager ...

  7. 安卓开发-Gps定位获取位置信息

    <版本一> 1.显示控件 和 LocationManager 设为成员变量,在MainActivity中初始化 private EditText editText; private Loc ...

  8. Android定位功能开发(1)——获取位置

    基于位置的服务包括三个方面:获取位置.地图服务.地理编码服务. 获取位置有两种方式,一种是通过GPS获得位置,精度高,耗电高,另一种是通过WLAN或通讯基站获得位置,精度低,耗电低.得到的位置信息是三 ...

  9. 百度定位实时获取位置android,通过百度定位sdk获取实时位置

    之前有一片关于基站定位的文章,当时的测试环境是小米+移动,比较顺利. 但在实际运用中就出现问题了-联通和电信的号完全没办法定位! 最好的解决方法就是用第三方sdk来定位了. 百度的定位sdk还是很不错 ...

最新文章

  1. 【C#实践】详解三层转七层:登录
  2. 机器学习中的L1与L2正则化图解!
  3. python 装饰器参数_python_如何修改装饰器中参数?
  4. linux命令-mkdir命令
  5. BZOJ 1666 USACO 2006 Oct. 奶牛的数字游戏
  6. Apache Tomcat/7.0.47
  7. Spring面向方面的编程
  8. Leetcode 260. 只出现一次的数字 III
  9. 使用PyCharm连接云主机教程
  10. android 两个imageview重叠,android-在现有ListVIew中添加更多项目时,ImageView重叠
  11. [一句秒懂]自定义UITextView
  12. php mysqli查询实例,php mysqli查询语句返回值类型实例分析
  13. 韩顺平老师的学习方法
  14. 小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_6-1.常用的第三方支付和聚合支付介绍...
  15. 李开复给中国学生的四封信(转载)
  16. 一个三维四翼混沌系统混沌吸引子——MATLAB实现
  17. steam社区打不开,解决mac无法打开steam社区的方法
  18. 商用清洁机器人:科沃斯“破圈”、高仙机器人“纵深”
  19. etax导入账户不让勾选_勾选认证详解及常见问题分析
  20. 括弧匹配检验(括号匹配问题)

热门文章

  1. elastalert
  2. CACTER邮件安全网关发布V6.7版本:新增邮件审核功能
  3. JavaFX实战:几种事件监听实现,键盘按键事件监听,鼠标滚轮事件监听,鼠标按键事件监听,鼠标移动事件监听
  4. 解释下列术语堆栈型计算机,计算机系统结构作业答案第二章(张晨曦)
  5. 2021道路运输从业安全员考试模拟题库多选题及答案解析
  6. Android开发音乐旋转木马动画,Android 实现旋转木马的音乐效果
  7. 二,ESP8266 GPIO和SPI和定时器和串口
  8. 数据库求最小函数依赖集
  9. 天若有情 -- 胡彦斌
  10. 计算机专业系统集成考试,非计算机专业如何复习系统集成项目管理工程师考试...