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 ...
随机推荐
- 【Oracle】三个配置文件tnsnames-listener-sqlnet介绍【转】
转自:博客园-oracle: listener.ora .sqlnet.ora .tnsnames.ora的配置及例子 介绍三个配置文件 1)listener.ora 2)sqlnet.ora 3)t ...
- mysql 综合
一.库操作 二.表操作 1.存储引擎介绍 show engines; 查看数据库支持的引擎 MySQL 使用 InnoDB 指定表类型/存储引擎 create table t1(id int)engi ...
- ffmpeg 学习
1.ffmpeg使用语法 命令格式: ffmpeg -i [输入文件名] [参数选项] -f [格式] [输出文件] ffmpeg [[options][`-i' input_file]] ...
- 在Win7虚拟机下搭建Hadoop2.6.0伪分布式环境
近几年大数据越来越火热.由于工作需要以及个人兴趣,最近开始学习大数据相关技术.学习过程中的一些经验教训希望能通过博文沉淀下来,与网友分享讨论,作为个人备忘. 第一篇,在win7虚拟机下搭建hadoop ...
- Webpack学习笔记九 webpack优化总结
webpack 优化笔记 webpack4 自带的优化包括 swingTree(摇摆树)和作用域提升 swingTree 比如入口文件 index.js引入通用方法 util, 里面有 10个方法, ...
- 使用 form 和 iframe 实现图片上传回显
主要利用 form 的 target 属性,在提交表单之后 response 返回到 iframe 中 form 的 action 可以自己写,也可以直接利用 富文本编辑器的接口实现上传 <fo ...
- docker安装MySQL 8.0及初始化错误处理
Preface Several days ago,I've implement a docker environmnet,I'm gonna Install a MySQL 8. ...
- 简易的vuex用法
vuex是vue中用于管理全局状态的一个组件,用于不同组件之间的通信,下面将介绍它的简单用法 首先安装vue与vuex npm install vue npm install vuex --save ...
- 文件 I/O字符流
import java.io.File; import java.io.FileReader; import java.io.FileWriter; import java.io.IOExceptio ...
- UVA 1175 - Ladies' Choice
1175 - Ladies' Choice 链接 稳定婚姻问题. 代码: #include<bits/stdc++.h> using namespace std; typedef long ...