位置: 编程技术 - 正文

Android---58---初学GPS定位(android零基础)

编辑:rootadmin

推荐整理分享Android---58---初学GPS定位(android零基础),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:android从入门到精通,android入门视频教程,android零基础入门教程,android新手入门,android入门视频教程,android零基础入门教程,android入门教程,android零基础入门教程,内容如对您有帮助,希望把文章链接给更多的朋友!

GPS英文是Global Positioning System 全球定位系统的简称。

Android为GPS功能支持专门提供了一个LocationManager,位置管理器。所有GPS定位相关的服务、对象都将由该对象产生。

获取LocationManager实例:LocationManager lm = (LocationManager)getSystemService (Context.LOCATION_SERVICE)

三个核心API:LocationManager、LocationProvider、Location

LocationManager提供如下方法:

boolean addGpsStatusListener(GpsStatus.Listener listener):添加一个监听GPS状态的监听器;

void addProximityAlert(double latitude,double longitude,float radius,long expiration,PendingIntent intent):添加一个临近警告;

List getAllProviders():获取所有的LocationProvider列表; String getBestProvider(Criteria criteria,boolean enabledOnly):根据制定条件返回最优的LocationProvider对象;

GpsStatus getGpsStatus(GpsStatus status):获取GPS状态;

Location getLastKnownLocation(String provider):根据LocationProvider获取最近一次已知的Location;

LocationProvider getProvider(String name):根据名称来获取LocationProvider;

List getProviders(Criteria criteria,boolean enabledOnly):根据制定条件获取满足条件的全部LocationProvier的名称;List getProviders(boolean enabledOnly):获取所有可用的LocationProvider; boolean isProviderEnabled(String provider):判断制定名称的LocationProvider是否可用;

void removeGpsStatusListener(GpsStatus.Listener listener):删除GPS状态监听器;

void removeProximityAlert(PendingIntent intent):删除一个趋近警告;

void requestLocationUpdates(String provider,long minTime,float minDistance,PendingIntent intent):通过指定的LocationProvider周期性获取定位信息,并通过Intent启动相应的组件;

void requestLocationUpdates(String provider,long minTime,float minDistance,LcoationListener listener):通过指定的LocationProvider周期性的获取定位信息,并触发listener对应的触发器;

LocationProvider类

定位组件的抽象标识,通过它可以获取定位的相关信息;

提供如下常用方法:

String getName():返回该LocationProvider的名称;

int getAccuracy():返回该LocationProvider的精度;

int getPowerRequirement():返回该LocationProvider的电源需求;

boolean hasMonetaryCost():返回LocationProvider是收费还是免费;

boolean meetsCriteria(Criteria criteria):判断该LocationProvider是否满足Criteria条件;

boolean requiresCell():判断该LocationProvider是否需要访问网路基站;

boolean requiresNetword():判断该LocationProvider是否需要网路数据;

boolean requiresStatellite():判断该LocationProvider是否需要访问卫星的定位系统;

boolean supportsAltitude():判断该LocationProvider是否支持高度信息;

boolean supportsBearing():判断该LocationProvider是否支持方向信息;

boolean supportsSpeed():判断该LocationProvider是否支持速度信息;

LocationListener:位置监听器,监听位置变化,监听设备开关与状态

Location类

代表位置信息的抽象类;

提供如下方法来获取定位信息:

float getAccuracy():获取定位信息的精度;

double getAltitude():获取定位信息的高度;

float getBearing():获取定位信息的方向;

double getLatitude():获取定位信息的经度;

double getLongitude():获取定位信息的纬度;

String getProvider():获取提供该定位信息的LocationProvider;

float getSpeed():获取定位信息的速度;

boolean hasAccuracy():判断该定位信息是否有经度信息;

boolean hasAltitude():判断定位信息是否有高度信息;

boolean hasBearing():判断定位信息是否有方向信息;

boolean hasSpeed():判断定位信息是否有速度信息;

LocationListener:位置监听器,监听位置变化,监听设备开关与状态

Android---58---初学GPS定位(android零基础)

步骤:1.获取系统的LocationManager对象2.使用LocationManager,通过指定LocationProvider来获取定位信息,定位信息由Location对象来表示3.从Location对象中获取定位信息

下面是几个例子:

1.获取所有可用的LocationProvider:

布局文件:

Activity:

模拟器中所有可用的LocationProvider有两个:passive:由LocationProvider.PASSIVE_PROVIDER常量表示gps:由LocationProvider.GPS_PROVIDER常量表示。代表通过GPS获取定位信息的LocationProvider对象

还有一个名为network的LocationProvider,由LocationProvider.NETWORK_PROVIDER常量表示,代表通过移动通信网络获取定位信息的LocationProvider对象。

2.通过名称来获取指定的LocationProvider:

例如:

获取基于GPS的LocationProvider:LocationProvider locProvider = lm.getProvider(LocationManager.GPS_PROVIDER)

根据Criteria获得LocationProvider:

布局文件:

Activity:

3.获取定位数据:

通过模拟器发送GPS信息:

启动模拟器之后,在DDMS下的Emulator Control 面板即可发送GPS定位信息。

布局文件:

Activity:

4.临近警告:通过LocationManager.addProximityAlert(double latitude,double longitude , float radius , long expiration ,PendingIntent intent)添加一个临近警告

参数:

latitude:指定固定点的经度longitude:指定固定点的纬度radius:半径长度expiration:该参数指定经过多少毫秒后该临近警告就会过期失效intent:该参数指定临近该固定点时出发该intent对应的组件。

布局文件:

Activity:

ProximityAlertReciever:

Android带有undo,redo功能的EditText 没别的,只有代码自己看。。。packagezwp.mycalendar.widget;importjava.util.ArrayList;importjava.util.List;importandroid.content.Context;importandroid.text.Editable;importandroid.text.TextW

【正途】Android R.java文件丢失的问题 这个才是正途,网上很多方法都不靠谱,原文地址:

获取Android设备挂载的所有存储器 转自:

标签: android零基础

本文链接地址:https://www.jiuchutong.com/biancheng/382196.html 转载请保留说明!

上一篇:android 检测网络状况(安卓网络监测)

下一篇:Android带有undo,redo功能的EditText(Android带有注册界面的简单app)

  • 小规模30万免税包括30万吗
  • 高新技术企业享受15%税率优惠的条件
  • 企业所得税留抵税额会显示在申报表上吗?
  • 二手车经纪公司和中介的区别
  • 偶然所得个人所得税会计分录
  • 公司组织出国旅游费用
  • 年末为什么要结转应付现金股利
  • 软件企业购进软件服务怎么入账
  • 公司抬头的发票
  • 出口业务退税流程资料
  • 权益法核算投资收益
  • 收到补助款的会计分录
  • 零售商品收入会计分录
  • 建筑企业劳务分包税务筹划
  • 如何确认增值税纳税义务发生时间
  • 私人房产无偿赠个人所得税需要缴纳吗?
  • 营改增转让土地税收政策
  • 税后工资反推税前工资计算方法
  • 新建厂房装修费账务处理
  • 受托方委托加工费会计分录
  • 个人给单位垫付的款怎么做账
  • 企业利润分配的原则
  • 清除cmos有什么后果
  • 开发成本怎么核算
  • 电商快递费怎么算
  • 如何使用vim创建文件
  • 购入包装物的增值税计入进项税吗
  • php闭包和回调函数
  • 企业合并支付的资产评估费计入
  • php日期差
  • 微信小程序使用费用
  • phpweb框架
  • vue项目首屏加载过慢
  • ChatGPT 被大面积封号,到底发生什么了?
  • nginx跨域配置详解
  • php headers
  • centos7编译安装内核
  • ps的cc和sp
  • 旧固定资产出售增值税率如何计算
  • 分公司增值税可以放总公司一起缴纳吗
  • 本期应纳税额减征额是什么意思
  • 充油卡 发票
  • 购买保健食品
  • 异地工程税
  • sql2008收缩日志文件
  • 银行开出的发票可以进行税抵扣吗?
  • 一般纳税人可以给小规模开专票吗
  • 材料暂估入库的账务处理
  • 培训学校的主营业务是什么
  • 房地产公司车位出租会计分录
  • 买卖股票手续费怎么算
  • 票据贴现怎么入账
  • 小规模纳税人利润如何缴税
  • 固定资产改建支出的扣除规定
  • 更换公司新公章流程
  • 纳税人购进国内商品
  • 评估入账的无形资产能摊销吗
  • 企业所有者权益是指什么
  • mysql join实现原理
  • win8 开机
  • win10电脑出现invalid partition table怎么弄
  • 远程删除
  • win7安装office2010错误1935
  • xp系统要求
  • nicconfigsvc.exe - nicconfigsvc是什么进程 有什么用
  • Win7旗舰版64位如何关闭电脑触摸屏功能的方法
  • win10系统怎么设置开机密码
  • js domcontentloaded
  • windows visual studio openGL开发环境配置
  • javascript向flash swf文件传递参数值注意细节
  • Android ADB server didn't ACK * failed to start daemon * 简单有效的解决方案
  • jQuery+css实现的tab切换标签(兼容各浏览器)
  • js浏览器运行机制
  • html微信
  • python with 用法
  • 四川省 税务局
  • 收到红字信息表不能直接开具
  • 陕西省12366纳税服务热线
  • 二手房个税怎么算
  • 公司注册资本印花税的税率是多少
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设