HarmonyOS应用开发者高级认证(一)

1、依次点击A、B、C、D四个按钮,其中不会触发UI刷新的是:

答案:

		Button("C").onClick(() => {this.nameList[0].name = "Jim"})

分析:直接更新非一级数据不会触发UI刷新

2、如果要实现Row组件内的子元素均匀排列,且第一个元素与行首对齐,最后一个元素与行尾对齐,需要使用justifyContent的哪个枚举值。

答案: SpaceBetween
分析:
在这里插入图片描述

3、开发者开发了一个应用,该应用只有一个 hap包,其 module.json5中 abilities的配置如下所示,包含 1个 UIAbility(无 Web组件 )、 1个 FormExtensionAbility组件、 1个WorkSchedulerExtensionAbility组件,那么该应用在运行过程中,最多会存在几个应用进程。

答案:3个
分析:同一应用内的所有同类型的ExtensionAbility运行在同一独立进程(除ServiceExtensionAbility、DataShareExtensionAbility外),跟UIAbility组件不在同一进程。
例如:一个应用有1个UIAbility组件、1个ServiceExtensionAbility、1个DataShareExtensionAbility、2个FormExtensionAbility、1个ImeExtensionAbility。则该应用在运行时,有三个进程:
UIAbility、ServiceExtensionAbility、DataShareExtensionAbility运行在同一个进程。
FormExtensionAbility运行在一个独立进程。
ImeExtensionAbility运行在一个独立进程。

4、为了使isShow参数值与半模态界面的状态同步,可以使用下列那种方式双向绑定isShow参数?

答案:$$this.isShow
分析:

  build() {Column() {Button("transition modal 1").onClick(() => {this.isShow = true}).fontSize(20).margin(10).bindSheet($$this.isShow, this.myBuilder(), {height: this.sheetHeight,})}.justifyContent(FlexAlign.Center).width('100%').height('100%')}
}
5、以下哪份代码可以实现下图 Grid布局。

在这里插入图片描述

答案:通过GridLayoutOptions
分析:由不同大小的网格组成不均匀分布的网格布局场景在实际应用中十分常见,如上图所示。在Grid组件中,可以通过创建Grid时传入合适的 GridLayoutOptions 实现如图所示的单个网格横跨多行或多列的场景。

6、在开发HarmonyOS应用工程时,随着业务的发展,现在需要创建一个模块,关于在DevEco Studio中创建Module,下列选项哪种方式是错误的?

答案:在hvigor目录下,单击鼠标右键,选择New > Module... 创建新的Module,此时module将创建在该文件目录下。
分析:hvigor :存放前端构建配置信息

7、开发者小李遇到了一个复杂的问题,该问题仅在特定的代码执行路径上出现,且难以复现。他使用的是C++进行核心算法开发,代码的逻辑密集且对性能要求极高,DevEco Studio为C/C++开发者提供的高级调试能力,以下哪个能力可以帮助小李查看代码历史执行路径,回溯到关键的变量状态。

答案:反向调试能力:允许开发者在调试过程中回退回到之前的代码行或断点,不仅查看过去的堆栈信息,还能重现历史的全局、静态和局部变量状态,帮助深入理解代码历史行为,特别是对于复杂逻辑和难以复现的bug定位至关重要
分析:

8、开发者小张正在使用 DevEco Studio开发一款 Harmony0S应用,他遇到了一个仅在应用实际运行环境中出现的问题,需要调试已部署在设备上的应用以定位问题根源,为了能够在应用已经运行的情况下介入调试,小张应该采用哪种调试方法?

答案:Attach Debugger to Process,这允许他连接到正在运行的应用进程进行调试。
分析:

9、Harmonyos应用开发团队正着手优化一款面向全球市场的在线教育应用,该应用在特定课程直播环节出现了性能波动和响应延迟的问题,严重影响用户体验。打算利用 DevEco Profiler来进行性能优化。DevEco Profiler其设计核心和主要优势是什么 。

答案:DevEco Profier依据 Top-Down设计理念,通过高度整合的数据展示范式,提供从宏观到微观的性能数据分析,加速开发者定位和解决问题的过程
分析:

10、WebSocket连接开发步骤描述错误的是。

答案:调用 Session.start方法开启 metadata数据输出
分析:

11、某业务团队的架构师发现某个特性用的频率比较少,但是这个特性占用空间资源还是比较大的。为了减少首包下载体积,准备将该特性解耦出来,并对外提供 API方便主模块调用。以下说法正确的是。

答案:将该特性做成按需加载的 hsp包,暴露接口给主模块使用。
分析:

12、以下关于 HAP(Harmony Ability Package)说法正确的是。

答案:应用工程如果包含多个 Module,在应用上架时,会将多个.hap文件打包成一个.app文件。
分析:

13、我们需要避免在逐帧调用的接口中执行耗时操作,下面哪个选项不属于上述的接口?

答案:aboutToReuse
分析:组件复用时避免在aboutToReuse中执行耗时操作。 例如,在滑动场景中,使用组件复用通常需要用生命周期回调aboutToReuse去更新组件的状态变量。在滑动时,aboutToReuse会被频繁调用。如果在aboutToReuse中进行了耗时操作,将导致应用出现卡顿丢帧的问题。

14、某个应用开发了一个 UIAbilityA,其启动模式是 specified,并且对应的 AbilityStage的实现如下:
import AbilityStage from ‘@ohos.app.ability.AbilityStage’;
import type Want from ‘@ohos.app.ability.Want’;
export default class MyAbilityStage extends AbilityStage {this.instanceIndex = 0;onAcceptWant(want: Want):string {if(want.abilityName === ‘UIAbilityA’){if(want.parameters && want.parameters.instanceKey === ‘test’){return 'test_instance_'  + this.instanceIndex++;} else {return'test_instance'; }}return 'MyAbilitystage';}
}

依次调用如下方法4次启动 UIAbi1ityA,value分别是"test""test”“testA”“testA”,则当前运行期UIAbility实例有几个。

function testSpecified(context,value){let want: Want ={deviceId:",bundleName:'com.samples.stagemodelabilitydevelop',abilityName: 'UIAbilityA',moduleName:'entry',parameters:{instanceKey: value}};context.startAbility(want).then(()=>{hilog.info(DOMAIN NUMBER, TAG, 'Succeeded in starting UIAbilityA.');}).catch((err:BusinessError)=>{hilog.error(DOMAIN_NUMBER, TAG, "Failed to start UIAbilityA. code is ${err.code})})}

答案:3
分析:由于UIAbilityA的启动模式配置为指定实例启动模式,在UIAbilityA启动之前,会先进入其对应的MyAbilityStage的​​onAcceptWant()​​​生命周期回调中,解析传入的want参数,获取"instanceKey"自定义参数。根据业务需要通过MyAbilityStage的​​onAcceptWant()​​​生命周期回调返回一个字符串Key标识。​​如果返回的Key对应一个已启动的UIAbility​​,则会将之前的UIAbility拉回前台并获焦,而不创建新的实例,否则创建新的实例并启动。
本题’test’返回key为’test_instance_1’
‘test’返回key为’test_instance_2’
‘testA’返回key为’test_instance’
‘testA’返回key为’test_instance’ 三个不同key值对应三个实例

15、应用程序开发调试过程中,经常需要安装新应用进行调测,下面安装应用操作错误的是。

A. hdc install -p ohosapp.hap
B. bm install -p ohosapp.hap
C. bm install -p ohosapp.hap -r
D. bm install -p /data/app/

答案:hdc install -p ohosapp.hap
分析:bm是用来方便开发者调试的一个工具。bm工具被hdc工具封装,进入hdc shell命令后,就可以使用bm工具。 bm install -p
hdc(HarmonyOS Device Connector)是HarmonyOS为开发人员提供的用于调试的命令行工具,通过该工具可以在windows/linux/mac系统上与 真实设备或者模拟器进行交互。
hdc shell bm install -p package 通过bm安装
hdc app install [-r/-d/-g] package 安装指定的应用package

16、使用 DevEco studio进行复杂的跨设备功能开发与调试工作,期间频繁依赖本地模拟器来模拟多样化的设备环境。在这样的背景下,以下关于 DevEco studio本地模拟器所支持的规格与功能,哪一项描述是准确的?

A.本地模拟器和真机的能力没有任何差异,真机上可以支持的能力在模拟器上都可以
B.本地模拟器当前不支持查看HiLog以及FaultLog
C.本地模拟器上运行的应用无需进行签名,简化了调试过程。
D.本地模拟器当前不支持单元测试框架和U测试框架的运行

答案:本地模拟器上运行的应用无需进行签名,简化了调试过程
分析:

17、已知下列代码PageOne页面为navigation中的某一子页面,依次点击PageOne页面中toPageTwo按钮,PageTwo页面中toPageOne按钮,此时获取当前页面的路由栈数量为多少。

答案:3
分析:栈由下到上,PageOne->PageTwo->PageOne

18、已知下列代码 PageOne页面为 navigation中的某一子页面,依次点击 PageOne页面中toPageTwo按钮,PageTwo页面中 toPageOne按钮,此时点击 get按钮获取全部名为name的NavDestination页面的位置索引为。

答案:[0,2]
分析:

20、某App有A、B、C、D四个团队分别负责ModuleA、ModuleB、ModuleC和ModuleD四个业务模块,随着业务的发展,ModuleA需要跳转到ModuleB、ModuleC的页面,ModuleB需要跳转到ModuleC、ModuleD的界面,ModuleC需要跳转到ModuleA的界面,ModuleD需要跳转到ModuleB和ModuleC的界面。由于复杂的依赖关系,导致一旦有变化就需要知会各个团队,所以该团队的架构师想要解耦各个业务模块,以下哪些做法是不推荐的()

答案:采用静态import方式引入对应跳转的页面。
分析:静态引入需要频繁更新

21、以下对系统兼容性的理解正确的是。

答案:已发布的系统能力有可能会发生非兼容性变更,比如新增特性或修改问题导致的行为不兼容,这种情况下应用需要关注changelog并进行适配。
分析:

22、下面交付&持续部署描述哪个是正确的:

答案:持续交付(CD,Continuous Delivery):指的是,频繁的将软件的新版本,交付给质量团队或者用户,以供评审。如果评审通过,代码就进入生产阶段。
分析:

23、应用开发中使用的各类资源文件,需要放入特定子目录中存储管理,以下关于资源说法错误的是。

答案:rawfile目录,支持创建多层子目录,子目录名称可以自定义,文件夹内可以自由放置各类资源文件。目录中的资源文件会被编译成二进制文件,并赋予资源
分析:在Harmony OS开发中,存放资源文件的rawfile目录默认只支持一层目录结构。
开发者经常会涉及到文件的读写操作。其中,rawfile是一种常见的文件类型,可以用于存储一些静态的数据,例如:配置文件、模板文件等。

24、下面的配置一共存在有几处错误。
//	module.json5配置文件:
{"module": {"name": "entry",// ..."abilities": [{"name": "EntryAbility","srcEntry": "./ets/entryability/EntryAbility.ets",// ..."skills": [{"entities": ["entity.system.home"],"actions": ["ohos.want.action.home"]}],"metadata": [{"name": "ohos.entry.shortcuts","resource": "$profile:shortcuts_config"}]}]}
}
//	在/resources/base/profile/目录下配置shortcuts_config.json配置文件:
{"shortcuts": [{"shortcutId": "id_test1",// 【shortcutLabel】字符串不符合匹配规则"label": "shortcutLabel","icon": "$media:shortcutIcon","wants": [{"bundleName": "com.ohos.hello","moduleName": "entry","abilityName": "EntryAbility"}]}]
}

答案:1
分析:shortcutLabel 字符串不符合匹配规则 “label”: "$string:shortcutLabel ",

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/399577.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于JSP的个性化影片推荐系统

你好呀,我是计算机学姐码农小野!如果有相关需求,可以私信联系我。 开发语言:JSP 数据库:MySQL 技术:JSP技术 工具:MyEclipse、Tomcat、MySQL 系统展示 首页 管理员功能模块 用户功能模块 …

Rancher的RKE和RKE2部署K8s集群kube-proxy开启strictARP

kube-proxy配置strictARPtrue 1、非RKE部署的K8s集群:配置首先,需要为kube-proxy启动strictARP,以便Kubernetes集群中的所有网卡停止响应其他网卡的ARP请求,而由OpenELB来处理ARP请求。 $ kubectl edit configmap kube-proxy -n…

C# 在Word中插入或删除分节符

在Word中,分节符是一种强大的工具,用于将文档分成不同的部分,每个部分可以有独立的页面设置,如页边距、纸张方向、页眉和页脚等。正确使用分节符可以极大地提升文档的组织性和专业性,特别是在长文档中,需要…

【STM32】USART通用同步/异步收发器(串口数据的接收与发送)

本篇博客重点在于标准库函数的理解与使用,搭建一个框架便于快速开发 目录 USART简介 USART时钟使能 USART初始化 串口参数 串口数据时序 USART中断配置 USART使能 数据的接收与发送 Serial.h Serial.c main.c USART简介 USART(Universal S…

leedCode - - - 栈和队列

目录 1.有效的括号( LeetCode 20 ) 2.最小栈( LeetCode 155 ) 3.接雨水( LeetCode 42 ) 4.逆波兰表达式求值(LeetCode 150) 5.柱状图中最大的矩形(LeetCode 84&…

计算机毕业设计选题推荐-大学生就业招聘管理系统-Java/Python项目实战

✨作者主页:IT毕设梦工厂✨ 个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Py…

【Redis】Redis 初探:特性、应用场景与高并发架构演进之路

目录 初识 Redis关于 Redis服务端高并发分布式结构演进之路概述常⻅概念基本概念应⽤(Application)/ 系统(System)模块(Module)/ 组件(Component)分布式(Distributed&…

SSM养老院信息管理系统—计算机毕业设计源码16963

目 录 摘要 1 绪论 1.1研究意义 1.2开发意义 1.3ssm框架介绍 1.4论文结构与章节安排 2 养老院信息管理系统系统分析 2.1 可行性分析 2.1.1 技术可行性分析 2.1.2 经济可行性分析 2.1.3 法律可行性分析 2.2 系统功能分析 2.2.1 功能性分析 2.2.2 非功能性分析 2.…

C++ STL初阶(9):list 中关于reverse_iterator的实现

在完成vector和list的iterator相关部分的实践后来完成反向迭代器的实现 1. list的反向迭代器 书接上回,反向迭代器应当重新封装一个类。 反向迭代器和正向迭代器最大的区别就是,反向迭代器是倒着走的,所以最核心的逻辑就是将封装成-- 注意&am…

Cadence Allegro 入门教程笔记:如何绘制原理图和原理图库?

文章目录 一、用 Capture CIS 17.4 绘制原理图库 Cadence Allegro QQ交流学习裙:173416628 1、凡亿教育的Cadence Allegro 17.4基础教程 2、小哥Cadence Allegro 132讲 技巧视频 3、小哥Cadence Allegro 两层板 基础视频 4、小哥Cadence Allegro 四层板 提高视频…

【NLP】文本处理的基本方法【jieba分词、命名实体、词性标注】

文章目录 1、本章目标2、什么是分词3、jieba的使用3.1、精确模式分词3.2、全模式分词3.3、搜索引擎模式分词3.4、中文繁体分词3.5、使用用户自定义词典 4、什么是命名实体识别5、什么是词性标注6、小结7、jieba词性对照表⭐ 🍃作者介绍:双非本科大三网络…

opencv-python图像增强三:图像清晰度增强

文章目录 一、简介:二、图像清晰度增强方案:三、算法实现步骤3.1高反差保留实现3.2. usm锐化3.3 Overlay叠加 四:整体代码实现五:效果 一、简介: 你是否有过这样的烦恼,拍出来的照片总是不够清晰&#xff…

【Linux】网络编程套接字Scoket:UDP网络编程

目录 一、了解UDP协议 二、了解端口和IP地址 三、套接字概述与Socket的概念 四、Socket的类型 五、 Socket的信息数据结构 六、网络字节序与主机字节序的互相转换 七、地址转换函数 八、UDP网络编程流程及相关函数 socket函数 bind函数 recvfrom函数 sendto函数 …

UIAbility组件基础(一)

一、概述 UIAbility组件是一种包含UI的应用组件,主要用于和用户交互。UIAbility组件是系统调度的基本单元,为应用提供绘制界面的窗口。一个应用可以包含一个或多个UIAbility组件。每一个UIAbility组件实例都会在最近任务列表中显示一个对应的任务。 U…

C语言 ——— 学习、使用memmove函数 并模拟实现

目录 memmvoe函数的功能 学习memmove函数​编辑 模拟实现memmove函数 memmvoe函数的功能 memmvoe函数的功能类似于memcpy函数,都是内存拷贝,唯一的区别是memcpy函数不能成功拷贝原数据,而memmvoe函数可以 举例来说: [1, 2, 3…

单元测试注解:@ContextConfiguration

ContextConfiguration注解 ContextConfiguration注解主要用于在‌Spring框架中加载和配置Spring上下文,特别是在测试场景中。 它允许开发者指定要加载的配置文件或配置类的位置,以便在运行时或测试时能够正确地构建和初始化Spring上下文。 基本用途和工…

全国首个数据要素人才标准,亿信华辰携76家单位共同起草

在数字化浪潮汹涌的今天,数据已跃升为社会经济发展的核心引擎。如何精准、高效地评估数据要素领域人才的专业能力,成为了亟待解决的关键议题。亿信华辰积极响应国家战略布局,依托自身在大数据管理与应用领域的深厚底蕴,携手业界76…

CUDA Programming - (1) CUDA简介

1. GPU 简介 处理器一般包含以下几部分:Cache 缓存,ALU 计算单元,Control 控制中心,RAM 内存。 CPU(Central Processing Unit):中央处理器。适合进行逻辑,ALU计算核心较少。适合控…

企业源代码加密软件有哪些?2024最好用的十款源代码加密软件

在当今快速发展的技术环境中,企业源代码的安全性至关重要。源代码不仅包含着企业的核心知识产权,还可能涉及敏感的商业数据。因此,选择一款合适的源代码加密软件,对于保护企业资产和避免数据泄露风险至关重要。随着安全技术的不断…

Codeforces Pinely Round 4 (Div. 1 + Div. 2) A~G

A.Maximize the Last Element(枚举) 题意: 给你一个由 n n n个整数组成的数组 a a a,其中 n n n是奇数。 在一次操作中,你将从数组 a a a中删除两个相邻的元素,然后将数组的剩余部分连接起来。例如&…