【鸿蒙应用开发】【HCIA认证】模拟题每日1练(第87题) 原创

张荣超_九丘教育
发布于 2021-12-13 21:05
浏览
2收藏

【鸿蒙应用开发】【HCIA认证】模拟题每日1练(第87题)-鸿蒙开发者社区

使用基于JS扩展的类Web开发范式的方舟开发框架提供了JS FA(Feature Ability)调用Java PA(Particle Ability)的机制,该机制提供了一种通道来传递方法调用、处理数据返回以及订阅事件上报。

 

当前提供Ability和Internal Ability两种调用方式,开发者可以根据业务场景选择合适的调用方式进行开发。

  • Ability:拥有独立的Ability生命周期,FA使用远端进程通信拉起并请求PA服务,适用于基本服务供多FA调用或者服务在后台独立运行的场景。
  • Internal Ability:与FA共进程,采用内部函数调用的方式和FA进行通信,适用于对服务响应时延要求较高的场景。该方式下PA不支持其他FA访问调用。

 

FA调用PA接口
FA端提供以下三个JS接口:

  • FeatureAbility.callAbility(OBJECT):调用PA能力。
  • FeatureAbility.subscribeAbilityEvent(OBJECT, Function):订阅PA能力。
  • FeatureAbility.unsubscribeAbilityEvent(OBJECT):取消订阅PA能力。


PA端提供以下两类接口:

  • IRemoteObject.onRemoteRequest(int, MessageParcel, MessageParcel, MessageOption):Ability调用方式,FA使用远端进程通信拉起并请求PA服务
  • AceInternalAbility.AceInternalAbilityHandler.onRemoteRequest(int, MessageParcel, MessageParcel, MessageOption):Internal Ability调用方式,采用内部函数调用的方式和FA进行通信。

 

FA调用PA常见问题

  • callAbility返回报错:"Internal ability not register."返回该错误说明JS接口调用请求未在系统中找到对应的InternalAbilityHandler进行处理,因此需要检查以下几点是否正确执行:
  1. 在AceAbility继承类中对AceInternalAbility继承类执行了register方法,具体注册可参考Internal Ability的示例代码。
  2. JS侧填写的bundleName和abilityName与AceInternalAbility继承类构造函数中填写的名称保持相同,大小写敏感。
  3. 检查JS端填写的abilityType(0:Ability; 1:Internal Ability),确保没有将AbilityType缺省或误填写为Ability方式。

 

 

综上所述,这道题的答案是:BC。

 

 

 

向大家推荐由我的教学团队开发的视频课程《鸿蒙应用开发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个原因,也是我个人认为最重要的原因,它是系统学习和能力提升的绝佳方式!华为官方给出了认证考试的考试大纲,大纲中明确列出了考查的技能及需要掌握的知识点,最重要的是,大纲中列出的考点都是工作中必备的核心技能,只要你按照考试大纲去准备,把考查的技能知识点全部都掌握,就能在一段时期内达到一定的水平,而且不会让你的学习跑偏!在鸿蒙认证发布之前,相信很多朋友学习鸿蒙都是漫无目的的、没有目标的,所以学习效率很低!现在有了鸿蒙认证,即便你不考也没有关系,完全可以按照考试大纲去系统学习,从而提高你的学习效率,让自己的鸿蒙学习之路始终在一个正确的轨道上,不跑偏!至于全部学完之后,是否要考个认证,可以到时候再说,先按照考试大纲学起来!

©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
标签
已于2021-12-13 21:05:13修改
4
收藏 2
回复
举报
3条回复
按时间正序
/
按时间倒序
Askeladd
Askeladd

检查JS端填写的abilityType(0:Ability; 1:Internal Ability),确保没有将AbilityType缺省或误填写为Ability方式。

 

那这题应该A也对吧

回复
2022-1-4 16:45:24
张荣超_九丘教育
张荣超_九丘教育 回复了 Askeladd
检查JS端填写的abilityType(0:Ability; 1:Internal Ability),确保没有将AbilityType缺省或误填写为Ability方式。 那这题应该A也对吧

Ability是否为0,而不是是否为1

回复
2022-1-4 23:11:44
Askeladd
Askeladd 回复了 张荣超_九丘教育
Ability是否为0,而不是是否为1

大意了  (`・ω・´)

回复
2022-1-5 15:23:56
回复
    相关推荐