Android之 GPS学习笔记
========================================
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学习笔记的更多相关文章
- Android安装器学习笔记(一)
Android安装器学习笔记(一) 一.Android应用的四种安装方式: 1.通过系统应用PackageInstaller.apk进行安装,安装过程中会让用户确认 2.系统程序安装:在开机的时候自动 ...
- android cocos2d-x for Android安装和学习笔记(请用adt-bundle21.1或以上导入)
引用:http://weimingtom.iteye.com/blog/1483566 (20121108)注意:这篇文章用cdt编译ndk工程的内容已过时(现在可以用adt-bundle,避免配置繁 ...
- android 7.0 学习笔记(一)
导读 增强的Doze模式 后台优化 Data Saver 一.增强的Doze模式 Android N对Android M引进的Doze模式进行了进一步的增强,变化体现在两个方面.一方面是降低了进入Do ...
- Android API Guides 学习笔记---Application Fundamentals(一)
今天开始学习google官网上的API guides ,主要读了Application Fundamentals这一章节,此章节介绍了一个App的基本组成,共包括四大部分内容. 1. App ...
- Android应用开发学习笔记之事件处理
作者:刘昊昱 博客:http://blog.csdn.net/liuhaoyutz Android提供的事件处理机制分为两类:一是基于监听的事件处理:二是基于回调的事件处理.对于基于监听的事件处理,主 ...
- Android Socket编程学习笔记
http://blog.csdn.net/eyu8874521/article/details/8847173 度娘给出的描述:通常也称作"套接字",用于描述IP地址和端口,是一个 ...
- Android应用开发学习笔记之AsyncTask
作者:刘昊昱 博客:http://blog.csdn.net/liuhaoyutz 在上一篇文章中我们学习了多线程和Handler消息处理机制,如果有计算量比较大的任务,可以创建一个新线程执行计算工作 ...
- Android应用开发学习笔记之播放音频
作者:刘昊昱 博客:http://blog.csdn.net/liuhaoyutz Android支持常用音视频格式文件的播放,本文我们来学习怎样开发Android应用程序对音视频进行操作. Andr ...
- android移动开发学习笔记(二)神奇的Web API
本次分两个大方向去讲解Web Api,1.如何实现Web Api?2.如何Android端如何调用Web Api?对于Web Api是什么?有什么优缺点?为什么用WebApi而不用Webservice ...
随机推荐
- SQL模糊查询,sum,AVG,MAX,min函数
cmd mysql -hlocalhost -uroot -p select * from emp where ename like '___' -- 三个横线, - 代表字符,可以查询 三个enam ...
- jenkins 安装配置: centos-master windows/linux-slave + nginx代理 + node + job
centos install jenkins: 1.sudo vi /etc/yum.repos.d/jenkins.repo [jenkins] name=Jenkins baseurl=http: ...
- katalon安装 appium with mac 遇到的坑
1. Install Homebrew from Terminal: /usr/bin/ruby -e "$(curl -fsSL https://raw.gi ...
- 在iOS中如何正确的实现行间距与行高
最近准备给 VirtualView-iOS 的文本元素新增一个 lineHeight 属性,以便和 VirtualView-Android配合时能更精确的保证双平台的一致性.面向 Google 以及 ...
- 线程池的类型以及执行线程submit()和execute()的区别
就跟题目说的一样,本篇博客,本宝宝主要介绍两个方面的内容,其一:线程池的类型及其应用场景:其二:submit和execute的区别.那么需要再次重申的是,对于概念性的东西,我一般都是从网上挑选截取,再 ...
- Spring Boot2.4双数据源的配置
相较于单数据源,双数据源配置有时候在数据分库的时候可能更加有利 但是在参考诸多博客以及书籍(汪云飞的实战书)的时候,发现对于spring boot1.X是完全没问题的,一旦切换到spring boot ...
- 【vlan-trunk和802.1q子接口配置】
根据项目需求,搭建好拓扑图如下: 配置sw1的g1/0/3的/trunk,把g1/0/1和g1/0/2分别加入vlan 10 和 vlan 20 配置sw1的g1/0/3的/trunk,把g1/0/1 ...
- Java : JPA相关以及常用注解
SpringDataJPA自定义的查询方法 定义规范 And 并且 Or 或 Is,Equals 等于 Between 两者之间 LessThan 小于 LessThanEqual ...
- PHP令人困惑的strtotime
经常会有人被strtotime结合-1 month, +1 month, next month的时候搞得很困惑, 然后就会觉得这个函数有点不那么靠谱, 动不动就出问题. 用的时候就会很慌… 比如:今天 ...
- Learning Experience of Big Data: Learn to install CentOs 6.5 on my laptop
I have learnt some experience about Big Data during my summer vocation,I was told that The first thi ...