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 ",
相关文章:
HarmonyOS应用开发者高级认证(一)
1、依次点击A、B、C、D四个按钮,其中不会触发UI刷新的是: 答案: Button("C").onClick(() > {this.nameList[0].name "Jim"})分析:直接更新非一级数据不会触发UI刷新 2、如果要实现Row组件内的子元素均匀…...
【网络】套接字(socket)编程——UDP版
1.socket 1.1.什么是socket Socket 的中文翻译过来就是“套接字”。 套接字是什么,我们先来看看它的英文含义:插座。 Socket 就像一个电话插座,负责连通两端的电话,进行点对点通信,让电话可以进行通信,端…...
一篇文章让你彻底掌握 Shell
大家好,这里是 Lucifer三思而后行,专注于提升数据库运维效率。 文章目录 一篇文章让你彻底掌握 Shell简介什么是 shell什么是 shell 脚本Shell 环境指定脚本解释器 模式交互模式非交互模式 基本语法解释器注释echoprintfprintf 的转义符 变量变量命名原则…...
Java中的Collection集合:深入理解与应用
在Java中,Collection接口是Java集合框架(Java Collections Framework)的基石之一,它定义了一系列操作对象集合的方法,如添加、删除、遍历等。Collection接口是List、Set和Queue等具体集合类型的父接口,为Ja…...
Kubernetes-K8S
Kubernetes由于单词太长,省略掉中间8个字母简称为K8S。它介于应用服务和服务器之间。能够通过策略协调和管理多个服务,只需要一个YAML文件配置。定义应用的部署顺序等信息,自动部署应用到各个服务器,还可以自动扩容缩容。 架构原理…...
简化文本处理流程,通用文字识别助力提升信息采集效率
随着信息技术的发展、移动设备使用的普及和全球化的商业需求,非结构化数据转换为结构化数据的需求日益增长,数字化成为信息存储和管理的主流趋势。在此背景下,OCR技术应运而生,该技术可以将图像中文本信息转化为计算机等设备可以使…...
【网络】TCP协议通信的重要策略——滑动窗口,快重传,流量控制,拥塞控制,延时应答
目录 MSS值 滑动窗口 滑动窗口与重发机制 快重传机制 滑动窗口与流量控制 滑动窗口与拥塞控制 延时应答 个人主页:东洛的克莱斯韦克-CSDN博客 相关文章 【网络】传输层TCP协议的报头和传输机制-CSDN博客 【网络】详解TCP协议通信时客户/服务端的状态-CSDN博…...
极狐GitLab CI/CD 如何构建镜像并推送到 azure 镜像仓库?
极狐GitLab 是 GitLab 在中国的发行版,专门面向中国程序员和企业提供企业级一体化 DevOps 平台,用来帮助用户实现需求管理、源代码托管、CI/CD、安全合规,而且所有的操作都是在一个平台上进行,省事省心省钱。可以一键安装极狐GitL…...
Leetcode—1143. 最长公共子序列【中等】
2024每日刷题(155) Leetcode—1143. 最长公共子序列 实现代码 class Solution { public:int longestCommonSubsequence(string text1, string text2) {int m text1.length();int n text2.length();vector<vector<int>> dp(m 1, vector&…...
ZBrush笔刷介绍
根据使用的方法和效果,ZBrush的笔刷可以分类如下: 基本功能笔刷 这些笔刷用于常规的雕刻、移动和平滑操作。 纹理应用笔刷 一般需要自己额外购买的是这三种笔刷 Alpha Brushes:使用灰度图(alpha)来定义笔刷形状和纹…...
React+AntDesign做一个日历,展示节假日,节气,并且在某几个时间上添加活动备注
直接贴效果图😄 首先日历是用的AntDesign提供的Calendar组件,这个组件还是蛮强大的,可以自定义头部时间下拉;渲染每个时间段,或者重置时间段内容,玩的空间是很大的 直接贴代码,结尾最后我会将…...
排序算法之梳排序
title: 梳排序 date: 2024-7-30 14:46:27 0800 categories: 排序算法 tags:排序算法梳排序 description: 梳排序(Comb Sort)是一种由弗拉基米尔多博舍维奇(Wlodzimierz Dobosiewicz)于1980年所发明的不稳定排序算法,并…...
ESP8266 创建TCP连接
TCP Client 使用WiFiClient类可以实现TCP Client 基本方法 连接Server,connect WiFiClient client; client.connect(host, port) 检测客户端是否存在数据流 client.available() 读取客户端的一个字符 client.read(); 检查连接状态 client.connected() 使用…...
OceanBase内存管理小窍门
本文来自OceanBase热心用户的实践分享。 本文主要是对OceanBase内存管理的实用技巧分享,而并非直接深入OceanBase的代码层面进行阐述。 阅读本文章你将了解: 重载运算符new 与malloc在返回值上区别?在ceph 双向链表新用法&am…...
【问题解决】git status中文文件名乱码
问题复现 解决办法 在git bash中直接执行如下命令 git config --global core.quotepath false原因 通过 git config --help 可以查看到以下内容: core.quotePath Commands that output paths (e.g. ls-files, diff), will quote “unusual” characters in the p…...
探索数据结构:AVL树的分析与实现
✨✨ 欢迎大家来到贝蒂大讲堂✨✨ 🎈🎈养成好习惯,先赞后看哦~🎈🎈 所属专栏:数据结构与算法 贝蒂的主页:Betty’s blog 1. AVL树的介绍 在前面我们学习二叉搜索树时知道,在数据有序…...
使用 C++ 实现简单的插件系统
使用 C 实现简单的插件系统 在现代软件开发中,插件系统是一种常见的架构模式,它允许开发者在不修改主程序的情况下,扩展应用程序的功能。通过插件,用户可以根据需要添加或移除功能模块,从而提高软件的灵活性和可维护性…...
使用Python创建省份城市地图选择器
在这篇博客中,我们将探讨如何使用Python创建一个简单而实用的省份城市地图选择器。这个项目不仅能帮助我们学习Python的基础知识,还能让我们了解如何处理JSON数据和集成网页浏览器到桌面应用程序中。 C:\pythoncode\new\geographicgooglemap.py 全部代码…...
【Java 数据结构】Stack和Queue介绍
Stack和Queue StackStack是什么Stack的使用构造方法常用方法 栈的模拟实现初始化和基本方法入栈出栈查看栈顶 栈的应用链栈的简单介绍 QueueQueue是什么Queue的使用队列的模拟实现初始化入队出队查看队头元素 循环队列循环队列的定义及其注意点循环队列的实现初始化和基本方法获…...
Docker基本语法
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、更新yum镜像仓库(一)查看本地yum镜像源地址(二)设置docker的镜像仓库(1)安装必要工具…...
uniapp 对于scroll-view滑动和页面滑动的联动处理
需求 遇到一个需求 解决方案 这个时候可以做一个内页面滑动判断 <!-- scroll-y 做true或者false的判断是否滑动 --> <view class"u-menu-wrap" style"background-color: #fff;"><scroll-view :scroll-y"data.isGo" scroll-wit…...
opencv基础的图像操作
1.读取图像,显示图像,保存图像 #图像读取、显示与保存 import numpy as np import cv2 imgcv2.imread(./src/1.jpg) #读取 cv2.imshow("img",img) #显示 cv2.imwrite("./src/2.jpg",img) #保存 cv2.waitKey(0) #让程序进入主循环(让…...
Java | Leetcode Java题解之第337题打家劫舍III
题目: 题解: class Solution {public int rob(TreeNode root) {int[] rootStatus dfs(root);return Math.max(rootStatus[0], rootStatus[1]);}public int[] dfs(TreeNode node) {if (node null) {return new int[]{0, 0};}int[] l dfs(node.left);i…...
本地查看的Git远程仓库分支与远程仓库分支数量不一致
说明:一次,在IDEA中想切换到某分支,但是查看Remote没有找到要切换的分支,但是打开GitLab,查看远程仓库,是有这个分支的。 解决:1)在IDEA的Git中,点下面Fatch获取一下远程…...
opencv-python实战项目九:基于拉普拉斯金字塔的图像融合
文章目录 一,简介:二,拉普拉斯金字塔介绍:三,算法实现步骤3.1 构建融合拉普拉斯金字塔3.2 融合后的拉普拉斯金字塔复原: 四,整体代码实现:五,效果: 一&#x…...
浅谈JDK
JDK(Java Development Kit) JDK是Java开发工具包,是Java编程语言的核心软件开发工具。 JDK包含了一系列用于开发、编译和运行Java应用程序的工具和资源。其中包括: 1.Java编译器(javac):用于将Java源代码编译成字节…...
爬虫案例3——爬取彩票双色球数据
简介:个人学习分享,如有错误,欢迎批评指正 任务:从500彩票网中爬取双色球数据 目标网页地址:https://datachart.500.com/ssq/ 一、思路和过程 目标网页具体内容如下: 我们的任务是将上图中…...
C++ | Leetcode C++题解之第337题打家劫舍III
题目: 题解: struct SubtreeStatus {int selected;int notSelected; };class Solution { public:SubtreeStatus dfs(TreeNode* node) {if (!node) {return {0, 0};}auto l dfs(node->left);auto r dfs(node->right);int selected node->val…...
软件架构设计师-UML知识导图
软件架构设计师-UML知识导图,包含如下内容: 结构化设计,包含结构化设计的概念、结构化设计的主要内容、概要设计、详细设计及模块设计原则;UML是什么:介绍UML是什么;UML的结构:构造块、公共机制…...
在使用transformers和pytorch时出现的版本冲突的问题
在使用transformers和torch库的时候,出现了以下问题: 1、OSError: [WinError 126] 找不到指定的模块。 Error loading "D:\Program Files\anaconda3\envs\testenv\Lib\site-packages\torch\lib\fbgemm.dll" or one of its dependencies. 2、…...
十堰市公司网站建设/刷僵尸粉网站推广
2019独角兽企业重金招聘Python工程师标准>>> LAMP架构介绍 Linux Apache(httpd) MySQL PHPPHP网站(Google、淘宝、百度)三个角色可以在一台机器、也可以分开(httpd和PHP要在一起)httpd、PHP、MySQL工作关系图 PHP去…...
金华高端网站建设/网站关键词推广优化
今天帮朋友设置宽带路由器时,发现在在“高级路由”设置中有两个选项:网关和路由器。对这两个选项有些混淆网关简而言之,网关是网络的进口和出口(网关还有其他功能,如协议翻译……),网关定义网络…...
上海免费注册公司官网/搜索引擎网站排名优化方案
尽管广泛阅读了JDK源代码并检查了内在例程,但我还是不能一概而论.我正在测试清除使用ByteBuffer.putLong(int index,long value)用allocateDirect分配的ByteBuffer.基于JDK代码,如果缓冲区为“本机字节顺序”,则将导致单个8字节的写操作;如果不按字节交换,则将导致相…...
公司做网站多/搜索引擎优化方法有哪些
作者:瀚高PG实验室 (Highgo PG Lab)- 波罗 autovacuum 是 postgresql 里非常重要的一个服务端进程,能够自动地执行,在一定条件下自动地对 dead tuples 进行清理并对表进行分析 autovacuum参数控制 autovacuum 进程是…...
wordpress插件设置/系统优化助手
为什么80%的码农都做不了架构师?>>> 今天心情比较好,就把自己的思想、理解画个比喻图什么的,给大家分享分享,觉得有些收获,就帮我点一下推荐,觉得无聊,就不看内容,看看图…...
门户网站平台建设方案/行业数据统计网站
一、复制表1. 复制表结构及其数据:create table table_name_new as select * from table_name_old2. 只复制表结构:create table table_name_new as select * from table_name_old where 12;或者:create table table_name_new like table_nam…...