手机编程,调用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定位模块相关推荐

  1. HTML5 地理位置定位(HTML5 Geolocation)原理及应用 (调用GPS)

    地理位置(Geolocation)是 HTML5 的重要特性之一,提供了确定用户位置的功能,借助这个特性能够开发基于位置信息的应用.今天这篇文章向大家介绍一下 HTML5 地理位置定位的基本原理及各个 ...

  2. 用手机编程和用电脑编程有什么区别?

    手机 or 电脑 手机编程和电脑编程在体验上最大的区别,大概可以从两个方面来说. 屏幕大小 对于编程来讲,手机屏幕就显得有些太小了. 阅读体验差 比如我们写代码的时候,通常需要调用一些函数或者是第三方 ...

  3. java对接微信分享_Java编程调用微信分享功能示例

    本文实例讲述了Java编程调用微信分享功能.分享给大家供大家参考,具体如下: 这篇文章介绍如何使用java开发微信分享功能,因为工作,已经开发完成,可使用. 如果想要自定义微信的分享功能,首先在自己的 ...

  4. java如何调用微信功能_Java编程调用微信分享功能示例

    本文实例讲述了java编程调用微信分享功能.分享给大家供大家参考,具体如下: 这篇文章介绍如何使用java开发微信分享功能,因为工作,已经开发完成,可使用. 如果想要自定义微信的分享功能,首先在自己的 ...

  5. 你知道用手机也能写软件吗?手机编程开发

    手机编程开发 除了我们常见的php,java,c,前后端等等等用电脑来编写程序的,还有可以用手机编写软件的 用手机来开发软件 既然是在手机上开发编写软件那么肯定也少不了工具,这篇文章就给大家分享几个手 ...

  6. 基于GD32开发板的GPS定位模块的使用操作

    基于上一章的介绍,本章将介绍如何基于gd32开发板使用gps定位模块. 一.官方代码分析 正点原子的官方测试例程,测试代码的逻辑还是比较简单的,主要就是先调用函数atk_mo1218_init()进行 ...

  7. 支持所有库的python手机编程软件_有了这个软件,Python新手可以随时随地用手机练习编程了...

    很多小伙伴想利用空闲时间学习Python,但是有时候身边没有电脑,今天就给大家推荐一款手机APP:QPython. Qpython是一个Python引擎,只能运行在安卓系统上,内置了一个Python编 ...

  8. 手机下载Python_手机也能编程?盘点这6个可以用手机编程的App!快收藏

    学编程,最方便的肯定是电脑啦.但是有很多时候电脑没办法带电脑怎么学习编程呢?小谷在网上整理了一些: 简单几个可以在手机上编程的软件,主要分为C/C++,Java,Python,前端网页,Linux这5 ...

  9. Matlab.NET混合编程调用Figure窗体

    原文:[原创]Matlab.NET混合编程调用Figure窗体 1.前言 做Matlab.NET混合编程好几年了,虽然Matlab很多函数忘记得差不多了,但基本的东西还是能熟练使用.特别是在C#调用M ...

最新文章

  1. META Header
  2. CXF做的webservice简单例子
  3. java调用python的函数_java如何调用python的.py文件,以及如何执行里面的函数,和创建...
  4. PrintWriter用法简析
  5. python之命令行解析工具argparse
  6. OpenGL学习笔记以及其它学习思考
  7. root cause of message type unknown during BP delta upload
  8. Service Fabric 用 Powershell 部署应用到本地
  9. flex.css快速入门,极速布局
  10. 3_03 蛇形填数(数组)
  11. 在高考作弊这事上,古今监考老师操碎了心!
  12. html绘制圆形和弧形的代码,html5 canvas用来绘制弧形的代码实现
  13. 在哪里可以找水系图_请问在哪可以找到广西的水系图
  14. 最新2019年dnf辅助制作视频教程
  15. WORD插入脚注后连续分节符变成了分页符
  16. 新鲜出炉:2021 编程语言排行榜~
  17. flex布局对行内子元素的影响
  18. Windows命令行打开常用设置/控制面板功能
  19. 三星T7装Linux系统,Ubuntu已成为三星ARTIK 5/7的主力GNU/Linux系统
  20. 【Oracle】SCOTT用户和HR用户

热门文章

  1. Spring学习笔记5
  2. 使用Weinre调试webapp
  3. 红巨人调色插件套装:Magic Bullet Suite for Mac(支持m1)
  4. B端产品经理如何快速了解并分析陌生领域的产品
  5. 黑马程序员-java-小天教你使用eclipse
  6. C语言字符串、宏定义及主函数介绍
  7. 一家国际货运公司的销售过程管理、报价管理
  8. 高频 实验一 正弦波振荡器
  9. 小tips --atoi函数 atof函数
  10. sudo:无法解析主机 解决方案