【鸿蒙应用开发】【HCIA认证】模拟题每日1练(第56题) 原创
开发者可以调用HarmonyOS位置相关接口,获取设备实时位置,或者最近的历史位置。
对于位置敏感的应用业务,建议获取设备实时位置信息。如果不需要设备实时位置信息,并且希望尽可能的节省耗电,开发者可以考虑获取最近的历史位置。
开发步骤
1、应用在使用系统能力前,需要检查是否已经获取用户授权访问设备位置信息。如未获得授权,可以向用户申请需要的位置权限,申请方式请参考动态申请权限开发步骤。系统提供的定位权限有:ohos.permission.LOCATION、ohos.permission.LOCATION_IN_BACKGROUND。
访问设备的位置信息,必须申请ohos.permission.LOCATION权限,并且获得用户授权。
如果应用在后台运行时也需要访问设备位置,除需要将应用声明为允许后台运行外,还必须申请ohos.permission.LOCATION_IN_BACKGROUND权限,这样应用在切入后台之后,系统可以继续上报位置信息。
2、实例化Locator对象,所有与基础定位能力相关的功能API,都是通过Locator提供的。
Locator locator = new Locator(context);
其中入参需要提供当前应用程序的AbilityInfo信息,便于系统管理应用的定位请求。
3、实例化RequestParam对象,用于告知系统该向应用提供何种类型的位置服务,以及位置结果上报的频率。
方式一:
为了面向开发者提供贴近其使用场景的API使用方式,系统定义了几种常见的位置能力使用场景,并针对使用场景做了适当的优化处理,应用可以直接匹配使用,简化开发复杂度。
以导航场景为例,实例化方式如下:
RequestParam requestParam = new RequestParam(RequestParam.SCENE_NAVIGATION);
方式二:
如果定义的现有场景类型不能满足所需的开发场景,系统提供了基本的定位优先级策略类型。
以定位精度优先策略为例,实例化方式如下:
RequestParam requestParam = new RequestParam(RequestParam.PRIORITY_ACCURACY, 0, 0);
后两个入参用于限定系统向应用上报定位结果的频率,分别为位置上报的最小时间间隔,和位置上报的最小距离间隔,开发者可以参考API具体说明进行开发。
4、实例化LocatorCallback对象,用于向系统提供位置上报的途径。
应用需要自行实现系统定义好的回调接口,并将其实例化。系统在定位成功确定设备的实时位置结果时,会通过onLocationReport接口上报给应用。应用程序可以在onLocationReport接口的实现中完成自己的业务逻辑。
MyLocatorCallback locatorCallback = new MyLocatorCallback();
public class MyLocatorCallback implements LocatorCallback {
@Override
public void onLocationReport(Location location) {
}
@Override
public void onStatusChanged(int type) {
}
@Override
public void onErrorReport(int type) {
}
}
5、启动定位。
locator.startLocating(requestParam, locatorCallback);
如果应用不需要持续获取位置结果,可以使用如下方式启动定位,系统会上报一次实时定位结果后,自动结束应用的定位请求。应用不需要执行结束定位。
locator.requestOnce(requestParam, locatorCallback);
6、(可选)结束定位。
locator.stopLocating(locatorCallback);
如果应用使用场景不需要实时的设备位置,可以获取系统缓存的最近一次历史定位结果。
locator.getCachedLocation();
此接口的使用需要应用向用户申请ohos.permission.LOCATION权限。
综上所述,这道题的答案是:BCD。
向大家推荐由我的教学团队开发的视频课程《鸿蒙应用开发HCIA认证超细致精讲》:
https://edu.51cto.com/topic/4940.html
————————————————————————————————————————————————————————————————————
什么是鸿蒙应用开发HCIA认证呢?华为认证分为两大类,分别是:云服务与平台、ICT技术架构与应用。这两大类总共覆盖了20多个技术领域,包括大家熟知的:大数据、AI、云、智能计算、WLAN、安全、5G、等。这20多个技术领域中的每个技术领域,都由低到高分为3个等级:HCIA、HCIP、HCIE,其中,HCIA是华为认证的ICT工程师,HCIP是华为认证的高级工程师,HCIE是华为认证的ICT专家。ICT的全称是Information Communication Technology,也就是信息通信技术。
随着鸿蒙的日趋流行,HarmonyOS被放在了华为认证第一的位置上,可见其重要性。HarmonyOS这个领域也由低到高分为3个等级:HCIA、HCIP、HCIE,分别表示工程师、高级工程师、专家。通过HCIA,说明你具有熟练的开发经验,扎实的理论基础;通过HCIP,说明你已经掌握复杂场景开发的能力;通过HCIE,说明你已经是全场景解决方案的专家,已经掌握了规划设计与系统调优的能力。目前,华为官方只发布了鸿蒙的HCIA,后续会逐渐发布鸿蒙的HCIP和HCIE。其中,HCIA又分为鸿蒙应用开发工程师和鸿蒙设备开发工程师。
为什么要考鸿蒙应用开发HCIA认证呢?我觉得有这么几个主要原因。首先,这个认证在一定程度上证明了你的技术能力,尤其是当你去求职的时候,你说你行,怎么证明你行呢?认证的证书可以在一定程度上证明你行。考取鸿蒙认证的第2个主要原因是:抓住鸿蒙的红利期,物以稀为贵。如果你想赶上这波红利期,想要加入到鸿蒙的这波浪潮里,考取一个鸿蒙的认证,或多或少可以为你增添一些竞争的筹码。考取鸿蒙认证的第3个原因,也是我个人认为最重要的原因,它是系统学习和能力提升的绝佳方式!华为官方给出了认证考试的考试大纲,大纲中明确列出了考查的技能及需要掌握的知识点,最重要的是,大纲中列出的考点都是工作中必备的核心技能,只要你按照考试大纲去准备,把考查的技能知识点全部都掌握,就能在一段时期内达到一定的水平,而且不会让你的学习跑偏!在鸿蒙认证发布之前,相信很多朋友学习鸿蒙都是漫无目的的、没有目标的,所以学习效率很低!现在有了鸿蒙认证,即便你不考也没有关系,完全可以按照考试大纲去系统学习,从而提高你的学习效率,让自己的鸿蒙学习之路始终在一个正确的轨道上,不跑偏!至于全部学完之后,是否要考个认证,可以到时候再说,先按照考试大纲学起来!