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

news2024/9/20 16:51:20
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.coloradmin.cn/o/2037394.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

wish怎么提升店铺流量?自养号测评防关联技术全解析

在电商领域,Wish作为一家知名的跨境电商平台,店铺流量的提升对于商家来说至关重要,如若店铺流量不够的话排名也会比较靠后,这时候卖家就需要做好相关运营政策去提升流量。 一、Wish怎么提升店铺流量? 1、优化商品信息…

C语言——结构体、共用体、枚举、位运算

C语言——结构体、共用体、枚举、位运算 结构体共用体枚举位运算 结构体 如果将复杂的复杂的数据类型组织成一个组合项,在一个组合项中包含若干个类型不同(当然也可以相同)的数据项。 C语言允许用户自己指定这样一种数据结构,它称…

Sentinel 滑动时间窗口源码分析

前言: Sentinel 的一个重要功能就是限流,对于限流来说有多种的限流算法,比如滑动时间窗口算法、漏桶算法、令牌桶算法等,Sentinel 对这几种算法都有具体的实现,如果我们对某一个资源设置了一个流控规则,并…

【upload]-ini-[SUCTF 2019]CheckIn-笔记

上传图片木马文件后看到&#xff0c;检查的文件内容&#xff0c;包含<? 一句话木马提示 检查的文件格式 用如下图片木马&#xff0c;加上GIF89a绕过图片和<?检查 GIF89a <script languagephp>eval($_POST[cmd])</script> .user.ini实际上就是一个可以由用…

交换机VLAN配置中Tagged与Untagged端口的差异和应用区别

VLAN&#xff08;虚拟局域网&#xff09;是一种将局域网设备从逻辑上划分为不同虚拟工作组的技术。它打破了传统局域网在物理位置上的限制&#xff0c;允许网络管理员根据功能、部门或安全需求等因素&#xff0c;将同一物理网络中的设备划分到不同的逻辑网络中。每个VLAN都像一…

使用Copilot辅助编程:我如何减少加班并提高工作效率

当我聘用了一个高级工程师给我写代码&#xff0c;我再也不加班了&#xff01; 很多医生朋友说写代码很难&#xff0c;学不会python。在这个AI时代&#xff0c;作为智慧的顶尖人类&#xff0c;你还在百度搜代码真的是out了。 学会站在巨人的肩膀上&#xff0c;让AI替你搬砖&am…

工业互联网边缘计算实训室解决方案

一、引言 随着物联网&#xff08;IoT&#xff09;、5G通信技术的快速发展&#xff0c;工业互联网已成为推动制造业转型升级的重要力量。边缘计算作为云计算的延伸和补充&#xff0c;在实时数据分析、降低数据传输延迟、提升处理效率及增强数据安全性方面展现出巨大潜力。在此背…

C语言——查漏补缺

前言 本篇博客主要记录一些C语言的遗漏点&#xff0c;完成查漏补缺的工作&#xff0c;如果读者感兴趣&#xff0c;可以看看下面的内容。都是一些小点&#xff0c;下面进入正文部分。 1. 字符汇聚 编写代码&#xff0c;演示多个字符从两端移动&#xff0c;向中间汇聚 #inclu…

无人机可以用来追黄蜂吗?

哈哈&#xff0c;这个问题真是挺有趣的&#xff01;不过&#xff0c;从实际应用和安全性角度来考虑&#xff0c;使用无人机来追黄蜂可能并不是一个好主意。 首先&#xff0c;黄蜂通常对突然出现的移动物体非常敏感&#xff0c;尤其是像无人机这样的“不明飞行物”。如果无人机…

【网站项目】SpringBoot679牙科诊所管理系统

&#x1f64a;作者简介&#xff1a;拥有多年开发工作经验&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。&#x1f339;赠送计算机毕业设计600个选题excel文件&#xff0c;帮助大学选题。赠送开题报告模板&#xff…

Qt 窗口:对话框详解

目录 对话框 1. 对话框的基本概念 2. 对话框的内存释放问题 3. 自定义对话框界面 3.1 使用纯代码的方式定义 3.2 使用图形化的方式定义 4. 对话框的分类 4.1 模态对话框 4.2 非模态对话框 4.3 混合属性对话框 5. Qt 内置对话框 5.1 消息对话框 QMessageBox 示例1&…

生活生鲜超市小程序系统开发方案

生活生鲜超市小程序系统是集商品浏览、在线下单、支付结算、物流配送、会员管理等功能于一体。是为了满足现代消费者对新鲜食品购买的便利性与即时性需求。 适用于&#xff1a;生鲜超市、百货、连锁、水果、批发、便民、果蔬、食品、食材、鲜果、特产、海鲜等店铺。一、目标用户…

IP基础知识以及IP地址分类(A类 B类 C类 D类 E类)

IP地址是什么&#xff1f; IP 地址是互联网协议特有的一种地址&#xff0c;它是 IP 协议提供的一种统一的地址格式&#xff0c;为互联网上的每一个网络和每一台主机分配一个逻辑地址&#xff0c;以此来屏蔽物理地址的差异。 MAC和IP 在⽹络数据包传输中&#xff0c;源IP地址…

蜂鸣器(51单片机)

一、蜂鸣器介绍 1.蜂鸣器 2.蜂鸣器电路 3.芯片图示 二、蜂鸣器功能实现 1.蜂鸣器提示音代码 蜂鸣器函数 播放提示音功能实现 2.蜂鸣器播放音乐

Scrapy框架进行数据采集详细实现

摘要 本项目是python课程的课程项目&#xff0c;在简要学习完python和爬虫相关的Scrapy框架后&#xff0c;基于这两者的运用最终完成了对于北京链家网站新房页面的信息进行爬取&#xff0c;并将爬取的数据存放于excel之中&#xff0c;可使用excel或者wps进行查看。 1 引言 1…

论文分享 | Fuzz4All: 基于大语言模型的通用模糊测试

大语言模型是当前最受关注的研究热点&#xff0c;基于其生成和理解能力&#xff0c;对现有领域在提升性能和效果上做更多尝试。分享一篇发表于2024年ICSE会议的论文Fuzz4All&#xff0c;它组合多个大语言模型以非常轻量且黑盒的方式&#xff0c;实现了一种跨语言和软件的通用模…

【数学分析笔记】第1章第2节:映射与函数(2)

1. 集合与映射 1.12 函数&#xff08;实函数&#xff09; 函数是映射的一种特殊情况&#xff0c; f : X ⟶ Y f:\textbf{X}\longrightarrow \textbf{Y} f:X⟶Y x ⟼ y f ( x ) x\longmapsto yf(x) x⟼yf(x) 如果 X ⊂ R , Y R \textbf{X}\subset\mathbb{R},\textbf{Y}\ma…

OpenCV的Hello World

按照前文的步骤&#xff0c;我们已经在Windows机器上把OpenCV源代码编译成了DLL。接下来的问题自然是&#xff0c;我们怎么在自己的项目中使用OpenCV&#xff1f;我们将从零开始编写第一个OpenCV “Hello World”程序。通过本文的练习&#xff0c;大家将掌握&#xff1a; 在自…

你真的懂什么是串口吗?

你真的懂什么是串口吗&#xff1f; 文章目录 你真的懂什么是串口吗&#xff1f;问题什么是串口概念4种电平及其特性串口与电脑USB口通信 通讯分类常见的串行通信接口通信方式分类串行通信并行通信 传输方向分类同步方式分类PS&#xff1a;波特率和比特率 RS232 和 RS485RS232 引…

Django 中显示图片

在 Django 中显示图片的基本步骤包括&#xff1a;配置静态文件和媒体文件的处理、上传图片、以及在模板中显示图片。以下是详细步骤&#xff1a; 问题背景&#xff1a; 我在学习 Django 并在构建一个简单的网站&#xff0c;我尝试使用模板语言添加一些图片&#xff0c;但显示的…