手机编程,调用GPS定位模块
手机编程,调用GPS定位模块
GPS调用是Android系统中非常重要的一个功能,可以为手机app提供与位置相关的所有功能。
Android编程时,对于GPS模块有一个专门的管理类,称为:LocationManager,用来管理与GPS定位服务相关的所有接口。
LocationMangager
简称位置管理器。在使用gps相关硬件设备之前,需要先定个LocationManager。LocationManager类的对象获取并不是直接创建的,而是由系统提供的,只需要创建一个LocationManager对象的引用,然后把系统提供的数据赋值给它即可:
LocationManager locationManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
此类封装了一些常用的gps功能,比如获取gps状态,最近一些可以地点信息等等:
GpsStatus.Listener ,GPS状态监听,包括GPS启动、停止、第一次定位、卫星变化等事件。
GpsStatus,GPS状态信息,上面在卫星状态变化时,我们就用到了GpsStatus。
GpsSatellite,定位卫星,包含卫星的方位、高度、伪随机噪声码、信噪比等信息。
GpsStatus getGpsStatus(GpsStatus):获取GPS当前状态;
Location getLastKnownLocation(String):获取最近一次的可用地点信息
可以将地点信息传递给一个Location对象:
Locationlocation = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
Location
位置信息,通过Location可以获取时间、经纬度、海拔等位置信息。上面采用locationListener里面的onLocationChanged()来获取location,
比如获取时间location.getTime(),获取经度getLongtitude(),获取纬度:location.getLatitude(),海拔location.getAltitude()等等
下面讲述如何主动获取location。首先也是先创建一个Location对象的引用并赋值:
Location location=locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
并显示出来:
system.out.println(“时间:”+location.getTime());
system.out.println(“经度:”+location.getLongitude());
另外,如果通过new Location来赋值,那么此时所有函数的值都会是0。无法获取到正确的数据。
Location location=new Location(LocationManager.GPS_PROVIDER)
可以调用以下函数,对每次更新的位置信息进行我们想要的操作:
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,1000, 10, new LocationListener())
第一个参数是LocationProvider对象,第二个参数是刷新的时间差,这里设定为1秒,第三个参数是位置差,这里设定为10米,第四个参数为一个位置监听器对象。
简单代码学+注释
!-- 声明手机粗略定位授权 –
uses-permission android:name=“android.permission.ACCESS_COARSE_LOCATION”/>
!-- 声明手机精细定位授权 -->
uses-permission android:name=“android.permission.ACCESS_FINE_LOCATION”/>
!-- 声明手机模拟定位授权 -->
uses-permission android:name=“android.permission.ACCESS_MOCK_LOCATION”/>
!-- 声明联网授权 -->
uses-permission android:name=“android.permission.INTERNET” />
手机编程,调用GPS定位模块相关推荐
- HTML5 地理位置定位(HTML5 Geolocation)原理及应用 (调用GPS)
地理位置(Geolocation)是 HTML5 的重要特性之一,提供了确定用户位置的功能,借助这个特性能够开发基于位置信息的应用.今天这篇文章向大家介绍一下 HTML5 地理位置定位的基本原理及各个 ...
- 用手机编程和用电脑编程有什么区别?
手机 or 电脑 手机编程和电脑编程在体验上最大的区别,大概可以从两个方面来说. 屏幕大小 对于编程来讲,手机屏幕就显得有些太小了. 阅读体验差 比如我们写代码的时候,通常需要调用一些函数或者是第三方 ...
- java对接微信分享_Java编程调用微信分享功能示例
本文实例讲述了Java编程调用微信分享功能.分享给大家供大家参考,具体如下: 这篇文章介绍如何使用java开发微信分享功能,因为工作,已经开发完成,可使用. 如果想要自定义微信的分享功能,首先在自己的 ...
- java如何调用微信功能_Java编程调用微信分享功能示例
本文实例讲述了java编程调用微信分享功能.分享给大家供大家参考,具体如下: 这篇文章介绍如何使用java开发微信分享功能,因为工作,已经开发完成,可使用. 如果想要自定义微信的分享功能,首先在自己的 ...
- 你知道用手机也能写软件吗?手机编程开发
手机编程开发 除了我们常见的php,java,c,前后端等等等用电脑来编写程序的,还有可以用手机编写软件的 用手机来开发软件 既然是在手机上开发编写软件那么肯定也少不了工具,这篇文章就给大家分享几个手 ...
- 基于GD32开发板的GPS定位模块的使用操作
基于上一章的介绍,本章将介绍如何基于gd32开发板使用gps定位模块. 一.官方代码分析 正点原子的官方测试例程,测试代码的逻辑还是比较简单的,主要就是先调用函数atk_mo1218_init()进行 ...
- 支持所有库的python手机编程软件_有了这个软件,Python新手可以随时随地用手机练习编程了...
很多小伙伴想利用空闲时间学习Python,但是有时候身边没有电脑,今天就给大家推荐一款手机APP:QPython. Qpython是一个Python引擎,只能运行在安卓系统上,内置了一个Python编 ...
- 手机下载Python_手机也能编程?盘点这6个可以用手机编程的App!快收藏
学编程,最方便的肯定是电脑啦.但是有很多时候电脑没办法带电脑怎么学习编程呢?小谷在网上整理了一些: 简单几个可以在手机上编程的软件,主要分为C/C++,Java,Python,前端网页,Linux这5 ...
- Matlab.NET混合编程调用Figure窗体
原文:[原创]Matlab.NET混合编程调用Figure窗体 1.前言 做Matlab.NET混合编程好几年了,虽然Matlab很多函数忘记得差不多了,但基本的东西还是能熟练使用.特别是在C#调用M ...
最新文章
- META Header
- CXF做的webservice简单例子
- java调用python的函数_java如何调用python的.py文件,以及如何执行里面的函数,和创建...
- PrintWriter用法简析
- python之命令行解析工具argparse
- OpenGL学习笔记以及其它学习思考
- root cause of message type unknown during BP delta upload
- Service Fabric 用 Powershell 部署应用到本地
- flex.css快速入门,极速布局
- 3_03 蛇形填数(数组)
- 在高考作弊这事上,古今监考老师操碎了心!
- html绘制圆形和弧形的代码,html5 canvas用来绘制弧形的代码实现
- 在哪里可以找水系图_请问在哪可以找到广西的水系图
- 最新2019年dnf辅助制作视频教程
- WORD插入脚注后连续分节符变成了分页符
- 新鲜出炉:2021 编程语言排行榜~
- flex布局对行内子元素的影响
- Windows命令行打开常用设置/控制面板功能
- 三星T7装Linux系统,Ubuntu已成为三星ARTIK 5/7的主力GNU/Linux系统
- 【Oracle】SCOTT用户和HR用户