========================================
GPS:全球定位系统
 GPS由三部分组成:GPS卫星组成的空间部分,若干地面组成的控制站,用户手中的接收机。
Android 为电话管理支持提供了TelephonyManager
     为音频管理提供了AudioManager
     为支持GPS提供了LocationManager。
获取: LocationManager lm = (LocationManager)Context. getSystemService(Context.LOCATION_SERVICE);
 //与获取TelephonyManager,AudioManager的方法类似。
 List<String> providers = lm.getAllProviers();//获取系统所有可用的LocationProvider的对象,返回List<String>
 的providers的names集合。

LocationProvider:
 获取LocationProvider的对象:
  *通过名称来获得指定的LocationProvider对象。//LocationProvider provider = lm.getProvider(LocationManager.GPS_PROVIDER);
  **通过Criteria获得LocationProvider,Criteria相当于一个过滤器,Location.getBestProvider(Criteria criteria,boolean enabledOnly);来
   获取符合条件的Provider。
 //LocationProvider 中最常用的LocationManager.GPS_PROVIDER

Location 
 通过程序可以实时的获取用户所在的经度,维度,高度,方向,移动速度等。详情见:疯狂android讲义P667

步骤:
 1.获取系统的LocationManager对象.注意查看:LocationManager的API文档。
  LocationManager lm = (LocationManager)Context. getSystemService(Context.LOCATION_SERVICE);
 2.使用LocationManager,通过指定LocationProvider来获取定位信息,定位信息由Location对象表示
  LocationProvider provider = lm.getProvider(String name);
 3.从Location对象中获取定位信息。
  // Location location = lm.getLastKnownLocation(String provider);
//访问GPS需要有权限:故应该在AndoridManifest.xml进行配置:
 <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>

临近警告;
 LocationManager提供了一个方法:addProximityAlert(double latitude,double longitude,float radius,long expriration,PendingIntent intent);添加一个临近警告。
  对应参数为:经度,维度,警告持续的时间:当-1时永久持续,intent表示:临近时触发的intent组件。
==============================================================================
小结:
 本章主要介绍了Android提供 的GPS支持,目前绝大多数手机已经提供了GPS的硬件支持,都可以作为GPS定位系统的接收机,而我们要做的是从android系统中获取GPS定位信息。
 需要重点掌握:LocationManager,LoccationProvider与LocationListener等API的功能和用法,并可以通过他们监听获取GPS定位信息。
 获取GPS只是开发其他应用的一个基本前提,之后我们要结合Google Map进行定位,跟踪等

//Baidu Map 高德map 很不错的map ,美团的定位系统是:soso地图。搜房网也是soso地图

Android之 GPS学习笔记的更多相关文章

  1. Android安装器学习笔记(一)

    Android安装器学习笔记(一) 一.Android应用的四种安装方式: 1.通过系统应用PackageInstaller.apk进行安装,安装过程中会让用户确认 2.系统程序安装:在开机的时候自动 ...

  2. android cocos2d-x for Android安装和学习笔记(请用adt-bundle21.1或以上导入)

    引用:http://weimingtom.iteye.com/blog/1483566 (20121108)注意:这篇文章用cdt编译ndk工程的内容已过时(现在可以用adt-bundle,避免配置繁 ...

  3. android 7.0 学习笔记(一)

    导读 增强的Doze模式 后台优化 Data Saver 一.增强的Doze模式 Android N对Android M引进的Doze模式进行了进一步的增强,变化体现在两个方面.一方面是降低了进入Do ...

  4. Android API Guides 学习笔记---Application Fundamentals(一)

    今天开始学习google官网上的API guides ,主要读了Application Fundamentals这一章节,此章节介绍了一个App的基本组成,共包括四大部分内容. 1.      App ...

  5. Android应用开发学习笔记之事件处理

    作者:刘昊昱 博客:http://blog.csdn.net/liuhaoyutz Android提供的事件处理机制分为两类:一是基于监听的事件处理:二是基于回调的事件处理.对于基于监听的事件处理,主 ...

  6. Android Socket编程学习笔记

    http://blog.csdn.net/eyu8874521/article/details/8847173 度娘给出的描述:通常也称作"套接字",用于描述IP地址和端口,是一个 ...

  7. Android应用开发学习笔记之AsyncTask

    作者:刘昊昱 博客:http://blog.csdn.net/liuhaoyutz 在上一篇文章中我们学习了多线程和Handler消息处理机制,如果有计算量比较大的任务,可以创建一个新线程执行计算工作 ...

  8. Android应用开发学习笔记之播放音频

    作者:刘昊昱 博客:http://blog.csdn.net/liuhaoyutz Android支持常用音视频格式文件的播放,本文我们来学习怎样开发Android应用程序对音视频进行操作. Andr ...

  9. android移动开发学习笔记(二)神奇的Web API

    本次分两个大方向去讲解Web Api,1.如何实现Web Api?2.如何Android端如何调用Web Api?对于Web Api是什么?有什么优缺点?为什么用WebApi而不用Webservice ...

随机推荐

  1. 【Oracle】三个配置文件tnsnames-listener-sqlnet介绍【转】

    转自:博客园-oracle: listener.ora .sqlnet.ora .tnsnames.ora的配置及例子 介绍三个配置文件 1)listener.ora 2)sqlnet.ora 3)t ...

  2. mysql 综合

    一.库操作 二.表操作 1.存储引擎介绍 show engines; 查看数据库支持的引擎 MySQL 使用 InnoDB 指定表类型/存储引擎 create table t1(id int)engi ...

  3. ffmpeg 学习

    1.ffmpeg使用语法 命令格式:    ffmpeg -i [输入文件名] [参数选项] -f [格式] [输出文件]    ffmpeg [[options][`-i' input_file]] ...

  4. 在Win7虚拟机下搭建Hadoop2.6.0伪分布式环境

    近几年大数据越来越火热.由于工作需要以及个人兴趣,最近开始学习大数据相关技术.学习过程中的一些经验教训希望能通过博文沉淀下来,与网友分享讨论,作为个人备忘. 第一篇,在win7虚拟机下搭建hadoop ...

  5. Webpack学习笔记九 webpack优化总结

    webpack 优化笔记 webpack4 自带的优化包括 swingTree(摇摆树)和作用域提升 swingTree 比如入口文件 index.js引入通用方法 util, 里面有 10个方法, ...

  6. 使用 form 和 iframe 实现图片上传回显

    主要利用 form 的 target 属性,在提交表单之后 response 返回到 iframe 中 form 的 action 可以自己写,也可以直接利用 富文本编辑器的接口实现上传 <fo ...

  7. docker安装MySQL 8.0及初始化错误处理

      Preface          Several days ago,I've implement a docker environmnet,I'm gonna Install a MySQL 8. ...

  8. 简易的vuex用法

    vuex是vue中用于管理全局状态的一个组件,用于不同组件之间的通信,下面将介绍它的简单用法 首先安装vue与vuex npm install vue npm install vuex --save ...

  9. 文件 I/O字符流

    import java.io.File; import java.io.FileReader; import java.io.FileWriter; import java.io.IOExceptio ...

  10. UVA 1175 - Ladies' Choice

    1175 - Ladies' Choice 链接 稳定婚姻问题. 代码: #include<bits/stdc++.h> using namespace std; typedef long ...