HarmonyOS应用开发者认证考试PC网址
基础:
华为开发者学堂
高级:
华为开发者学堂
注:免费认证,其中基础认证有免费的课程,浏览器用Edge。
文章目录
目录
前言
在数字化浪潮席卷全球的今天,信息技术以其独特的魅力引领着社会进步的脚步。作为新一代智能终端操作系统,HarmonyOS以其独特的分布式技术,为万物互联提供了强有力的支撑,也赋予了开发者无尽的创意空间。对于有志于投身应用开发的我们来说,掌握HarmonyOS的开发技术,无疑是把握未来科技发展趋势、提升自身竞争力的关键所在。
HarmonyOS应用开发者基础/高级认证,是检验我们是否具备HarmonyOS应用开发能力的重要标准。通过这一认证,我们不仅能够系统地掌握HarmonyOS的开发框架、API调用、界面设计等基本技能,还能够深入理解分布式技术原理,掌握跨设备协同、场景化服务等高级功能。这不仅是对我们技术能力的肯定,更是对我们创新思维的激发。
要想得到HarmonyOS应用开发者基础/高级认证,意味着我们将开启一段充满挑战与机遇的学习之旅。在这条道路上,我们将与众多优秀的开发者并肩作战,共同探索HarmonyOS的无限可能。我们将通过不断的学习和实践,逐步提升自己的开发水平,为未来的应用开发奠定坚实的基础。
一、备考流程
1、注册账号——实名认证
首先,进入网址后,点击右上角注册/登录
登录后,右上角点击头像进入个人信息界面,或者点击个人中心再选择个人信息
往下滑,开始认证(不细教)
2、课程学习
认证完后,进入Harmony应用开发者基础认证界面,可以看到有很多课程可以学习
点击右侧开始学习后,可以进入每一章节的视频讲解,左边有小节目录,上面还有学习进度。课程不仅免费,还可以随时调整进度条。 每一个大章节都会有一个闯关习题,来考验你这个章节的学习程度
我们只需要跟着课程慢慢学就好了,打牢基础,再考最后的认证
3、参加考试
在上面我给的链接里,往下滑,点击开始考试即可
二、练习内容(含答案)
考试整体分三块:判断题、单选题、多选题,下面我把一些题目列出来供大家练习(练好一定过关)。多选题已直接给答案,多看几遍就好。
1、HarmonyOS开发者初级认证
判断题
@CustomDialog装饰器用于装饰自定义弹窗组件,使得弹窗可以动态设置内容及样式。(正确) |
Ability是系统调度应用的最小单元,是能够完成一个独立功能的组件。一个应用可以包含一个或多个Ability。(正确) |
Tabs组件仅可包含子组件TabsContent,每一个页签对应一个内容视图即TabContet组件。(正确) |
Video组件可以支持本地视频路径和网络路径播放。播放网络视频时,需要申请权限ohos.permission.INTERNET。(正确) |
Web组件对于所有的网页都可以使用zoom(factor: number)方法进行缩放。(错误) |
每调用一次router.pushUrl()方法,默认情况下,页面栈数量会加1,页面栈支持的最大页面数量为32。(正确) |
每一个自定义组件都有自己的生命周期。(正确) |
使用http模块发起网络请求时,必须要使用on('headersReceive')订阅请求头,请求才会成功。(错误) |
首选项preferences是以Key-Value形式存储数据,其中Key是可以重复。(错误) |
所有使用@Component修饰的自定义组件都支持onPageShow,onBackPress和onPageHide生命周期函数。(错误) |
在Column和Row容器组件中,justifyContent用于设置子组件在主轴方向上的对齐格式,alignItems用于设置子组件在交叉轴方向上的对齐格式。(正确) |
单选题
Row组件中有两个Text组件,如果使用justifyContent对齐方式,下面哪个属性可以实现左右两端对齐(D) A. FlexAlign.Start B. FlexAlign.SpaceEvenly C. FlexAlign.End D. FlexAlign.SpaceBetween |
发起网络数据请求需要导入以下哪个模块(A) A. import http from ‘@ohos.net.http’ B. import http from ‘@ohos.net.https’ C. import request from ‘@ohos.request’ D. import request from ‘@ohos.net.request’ |
关于@State状态数据特征,下列描述错误的是(C) A. @State装饰的变量是组件内部的状态数据,当这些状态数据被修改时,将会调用所在组件的build方法进行UI刷新。 B. 标记为@State的属性是私有变量,只能在组件内访问。 C. @State变量可以不用给定初始值。 D. 子组件@Link装饰的变量可以和父组件的@State变量建立双向数据绑定。 |
关于Button组件,下面哪个样式是胶囊型按钮(A) A. ButtonType.Capsule B. ButtonType.Normal C. ButtonType.Circle D. 以上都不是 |
关于Resource是资源引用类型描述错误的是(C) A. Resource是资源引用类型,用于设置组件属性的值。 B. 通过"$r(‘app.type.name’)"的形式引用应用资源,app代表是应用内resources目录中定义的资源,type代表资源类型(或资源的存放位置)。 C. Resource支持所有的数据类型。 D. 系统可以根据当前配置加载合适的Resource资源,例如,开发者可以根据屏幕尺寸呈现不同的布局效果,或根据语言设置提供不同的字符串。 |
关于Tabs组件页签的位置设置,下面描述错误的是(D) A.当barPosition为Start(默认值),vertical属性为false时(默认值),页签位于容器顶部。 B.当barPosition为Start(默认值) ,vertical属性为true时,页签位于容器左侧。 C.当barPosition为End ,vertical属性为false(默认值)时,页签位于容器底部。 D.当barPosition为End ,vertical属性为true时,页签位于容器底部。 |
关于UIAbility的启动模式,下列说法错误的是(C) A. UIAbility支持单实例、标准模式和指定实例3种启动模式,在module.json中通过launchType配置。 B. singleton为单实例模式,系统中只存在唯一一个实例,startAbility时,如果已存在,则复用系统中的唯一一个实例。 C. standard为标准模式,每次startAbility都会启动一个新的实例,系统默认为standard模式。 D. specified为指定实例模式,运行时由Ability内部业务决定是否创建多实例。 |
关于Video组件的回调事件,下列说法错误的是(A) A. onStart视频播放时触发该事件,可以在这里获取视频时长。 B. onFinish视频播放结束时触发该事件。 C. onPrepared视频准备完成时触发该事件。 D. onUpdate播放进度变化时触发该事件,单位为s,更新时间间隔为250ms。 |
关于Web组件,下面描述错误的是(D) A.WebController控制器可以控制Web组件各种行为,比如forward、backward、runJavaScript等。 B.Web组件支持fileAccess、javaScriptAccess等多种属性的设置,例如 .javaScriptAccess(true)表示允许执行JavaScript脚本。 C.Web组件支持onConfirm、onConsole等多种事件,例如网页调用confirm()告警时触发onConfirm回调。 D.使用Web组件访问在线和离线网页都需要添加ohos.permission.INTERNET权限。 |
关于容器组件Row和Column,下面说法错误的是(D) A. Column容器的主轴是垂直方向,交叉轴是水平方向;Row容器的主轴是水平方向,交叉轴是垂直方向。 B. 主轴和交叉轴始终是相互垂直的,Row和Column主轴的方向不一样。 C. Column的子组件在主轴方向上的对齐使用justifyContent属性来设置,其参数类型是FlexAlign。 D. Row的子组件在交叉轴方向上的对齐方式使用alignItems属性来设置,其参数类型为HorizontalAlign。 |
例如现在要实现一个广告弹窗,包含图片和文本等信息,使用下面那种弹窗可以实现(B) A. AlertDialog B. @CustomDialog C. TextPickerDialog D. TimePickerDialog |
使用Image组件加载网络图片需要如下哪种权限(B) A. ohos.permission.READ_MEDIA B. ohos.permission.INTERNET C. ohos.permission.GET_NETWORK_INFO D. ohos.permission.DISTRIBUTED_DATASYNC |
首选项key的最大长度限制大小为()字节(C) A. 60 B. 70 C. 80 D. 90 |
首选项preferences值的存储支持哪些数据类型(D) A. 数字型 B. 字符型 C. 布尔型 D. 数字型、字符型、布尔型以及这3种类型的数组类型。 |
下列哪种组合方式不能实现子组件从父子组件之间双向数据同步(D) A. @State和@Link B. @Provide和@Consume C. @Observed和@ObjectLink D. @State和@Prop |
下面哪个方法,可以跳转到一个新页面,并销毁当前页面(B) A. router.pushUrl() B. router.replaceUrl() C. router.back() D. router.clear() |
下面哪个组件不能包含子组件(D) A. Row B. Button C. Text D. LoadingProgress |
下面哪一个事件方法可以获取到List滑动的偏移量(A) A. onScroll B. onScrollIndex C. onReachStart D. onReachEnd |
页面路由需要导入以下哪个模块(B) A. import prompt from ‘@ohos.prompt’ B. import router from ‘@ohos.router’ C. import Notification from ‘@ohos.notification’ D. import window from ‘@ohos.window’ |
用哪一种装饰器修饰的组件可作为页面入口组件(B) A. @Component B. @Entry C. @Preview D. @Builder |
在下面哪个文件中可以设置页面的路径配置信息(A) A. main_pages.json B. module.json5 C. app.json5 D. package.json |
多选题
entry下的module.json5中包含以下哪些信息(BCD) A. 应用包名和版本号信息 B. Ability的配置信息 C. 设备类型信息 D. 应用权限申请列表 |
关于ForEach(arr, itemGenerator, index)组件的描述正确的是(BCD) A. ForEach中可以循环遍历逻辑代码,例如console.info(‘hello’) B. 第一个参数必须是数组,提供循环渲染的数据源。 C. 第二个参数生成子组件的lambda函数,为数据源中的每个数组项生成子组件。 D. 第三个参数为匿名函数,用于给定数组项生成唯一且稳定的键值。 |
关于Tabs组件和TabContent组件,下列描述正确的是(ABCD) A. TabContent组件不支持设置通用宽度属性,其宽度等于Tabs组件的barWidth属性。 B. TabContent组件不支持设置通用高度属性,其高度由父组件Tabs高度与TabBar组件高度决定。 C. TabsController用于控制Tabs组件进行页签切换,不支持一个TabsController控制多个Tabs组件。 D. TabContent组件的tabBar属性支持使用@Builder构造器生成的组件。 |
下面哪些容器组件是可以滚动的(ABD) A. Scroll B. List C. Row D. Grid E. Column |
下面哪些是Ability的生命周期回调函数(ABEF) A. onCreate B. onDestroy C. onPageShow D. onPageHide E. onForeground F. onBackground |
下面哪些组件层次结构是正确的(ABE) A. Text>Span B. Button>Column>Image C. Button>Image>Text D. Image>Text>Span E. Column>Row>Button |
以下关于ArkTS声明式开发范式的基本组成说明正确的是(ABCDEF) A. 装饰器:用来装饰类、结构体、方法以及变量,赋予其特殊的含义,例如@Entry表示这是个入口组件。 B. 自定义组件:可复用的 UI 单元,可组合其它组件。 C. UI描述:声明式的方法来描述UI的结构,例如build()方法中的代码块。 D. 内置组件:ArkTS中默认内置的基本组件和布局组件,开发者可以直接调用,如Column、Text、Divider、Button等。 E. 属性方法:用于组件属性的配置,统一通过属性方法进行设置,如fontSize()、width()、height()、color() 等。 F. 事件方法:用于添加组件对事件的响应逻辑,统一通过事件方法进行设置,如跟随在Button后面的onClick()。 |
针对包含文本元素的组件,例如Text、Button、TextInput等,可以使用下列哪些属性(ABCDE) A. fontColor B. fontSize C. fontStyle D. fontWeight E. fontFamily |
2、HarmonyOS开发者高级认证
判断题
ArkUI 是声明式开发范式(正确) |
Harmonyos应用可以兼容OpenHarmony生态(正确) |
worker线程不支持UI操作(正确) |
基于端云一体化开发,开发者需要精通前端、后端不同的开发语言(错误) |
每调用一次routerpushur1()方法,默认情况下,页面栈数量会加1,页面栈支持的最大页面数量为32(正确) |
每一个自定义组件都有自己的生命周期(正确) |
使用端云一体化开发,无需自己搭建服务器,并进行运维了(正确) |
首选项preferences是以Key-Value形式存储数据,其中Key是可以重复(错误) |
首选项是非关系数据库,遵循ACID特性(错误) |
所有使用@Component修饰的自定义组件都支持onPageShow,onBackPress和onPageHide生命周期函数(错误) |
云函数打包完成后,需要到AppGallery Connect创建对应函数的触发器才可以在端侧中调用(错误) |
在column和Row容器组件中,aligntems用于设置子组件在主轴方向上的对齐格式,justifycontent用于设置子组件在交叉轴方向上的对齐格式(错误) |
只要使用端云一-体化的云端资源就需要支付费用(错误) |
单选题
@State修饰的状态数据被修改时会触发组件的什么方法进行UI界面更新(A) A. build方法 B. aboutToAppear方法 C. onPageShow方法 |
HarmonyOS提供的Webview能力是否支持与H5双向通信(B) A. 不支持 B. 支持 |
HUKS中文全称是什么(B) A. 加解密系统 B. 通用密钥库系统 C. 访问控制系统 D. 密码管理系统 |
Row组件中有两个Text组件,如果使用justifyContent对齐方式,下面哪个属性可以实现左右两端对齐:(A) A. FlexAlign.SpaceBetween B. FlexAlign.End C. FlexAlign.SpaceEvenly D. FlexAlign.Start |
Webview在HarmonyOS中的入口是通过什么组件体现的(D) A. RichText B. Socket C. HTTP D. Web组件 |
Worker线程最大同时激活数(C) A. 6 B. 9 C. 8 D. 7 |
创建应用时,应用包名需要和app.json5文件中哪个字段保持一致?(C) A. name B. package C. bundleName |
端云一体化当前支持最低的鸿蒙API版本是(D) A. 6 B. 8 C. 7 D. 9 |
发布后的鸿蒙应用可以在哪里获取? (C) A. 华为服务中心 B. 华为生态市场 C. 华为应用市场 |
发布开放式测试版本,测试时间有限制吗?(A) A. 有 B. 没有 |
发布开放式测试版本后,还可以再更新版本吗?(B) A. 不可以 B. 可以 |
发布开放式测试版本后,怎么追加测试用户?(B) A. 直接在当前版本追加新的测试用户,然后手动发送邀请 B. 需要重新发布新的测试版本追加用户 |
发布应用时需要创建Profile时,类型选择什么类型?(B) A. 调试 B. 发布 |
发布应用时要创建证书,证书类型选择什么类型?(B) A. 调试证书 B. 发布证书 |
关于Tabs组件页签的位置设置,下面描述错误的是(C) A. 当barPosition为Start(默认值),vertical属性为false时(默认值),页签位于容器顶部。 B. 当barPosition为End ,vertical属性为false(默认值)时,页签位于容器底部。 C. 当barPosition为End ,vertical属性为true时,页签位于容器底部。 D. 当barPosition为Start(默认值) ,vertical属性为true时,页签位于容器左侧 |
关于UIAbility的启动模式,下列说法错误的是:(B) A. UIAbility支持单实例、多实例模式和指定实例3种启动模式,在module.json中通过launchType配置。 B. muliton为多实例模式,每次startAbility都会启动一个新的实例,系统默认为muliton为模式。 C. singleton为单实例模式,系统中只存在唯一一个实例,startAbility时,如果已存在,则复用系统中的唯一一个实例。 D. specified为指定实例模式,运行时由Ability内部业务决定是否创建多实例。 |
关于Video组件的回调事件,下列说法错误的是:(D) A. onPrepared视频准备完成时触发该事件。 B. onFinish视频播放结束时触发该事件。 C. onUpdate播放进度变化时触发该事件,单位为s,更新时间间隔为250ms。 D. onStart视频播放时触发该事件,可以在这里获取视频时长。 |
关于容器组件Row和Column,下面说法错误的是:(D) A. Column的子组件在主轴方向上的对齐使用justifyContent属性来设置,其参数类型是FlexAlign。 B. 主轴和交叉轴始终是相互垂直的,Row和Column主轴的方向不一样。 C. Column容器的主轴是垂直方向,交叉轴是水平方向;Row容器的主轴是水平方向,交叉轴是垂直方向。 D. Row的子组件在交叉轴方向上的对齐方式使用alignItems属性来设置,其参数类型为HorizontalAlign。 |
开发者在DevEco Studio中,可以通过什么方式使用端云一体化?(C) A. 可视化工具 B. 命令行工具 C. 工程模板 D. IDE插件 |
跨端迁移和协同是哪个鸿蒙特征的能力(A) A. 自由流转 B. 一次开发多端部署 C. 可分可合 D. 统一生态 |
认证服务支持下列哪种帐号认证(C) A. 支付宝 B. 微信 C. 华为帐号 D. QQ |
上传鸿蒙应用或元服务软件包时,软件包的格式是什么?(A) A. .app B. .hap C. .zip D. .apk |
添加用户信息时,如果帐号使用手机号码,以下哪种输入格式正确?(B) A. 189****1234 B. 86-189****1234 C. +86189****1234 D. 0086-189****1234 |
下面哪个方法,可以跳转到一个新页面,并销毁当前页面。(A) A. router.replaceUrl() B. router.pushUrl() C. router.clear() D. router.back() |
下面哪个组件不能包含子组件:(A) A. LoadingProgress B. Row C. Text D. Button |
一个完整的软件包是否需要有一个Profile文件?(B) A. 不需要 B. 需要 |
应用包名不能包含一些保留字段,以下哪个字段符合规范?(C) A. .harmony. B. .system. C. .test. D. .ohos. |
元服务包每个HAP包不得超过(),以提供秒开体验。(B) A. 2GB B. 2MB C. 无限制 |
在下面哪个文件中可以设置页面的路径配置信息?(A) A. main_pages.json B. module.json5 C. app.json5 D. package.json |
自定义组件的aboutToAppear()在什么时机执行(C) A. build函数之后 B. 页面进入之时 C. build函数之前 |
元服务包名必须以哪个字段结尾? A. .hmservice |
引用ohpm.三方库的包依赖是在哪个配置文件中 A. oh-package.json5 |
下列哪种组合方式不能实现子组件从父子组件之间双向数据同步 A.@State和@Prop |
关于@state状态数据特征,下列描述错误的是: A.@State查量可以不用给定初始值 |
引用ohpm三方库的包依赖是在哪个配置文件中 A. oh-package.json5 |
发布开放式测试版本后,还需要人工审核吗? A.不需要 |
元服务创建测试用户时,用户列表存储位置需要选择 A.中国 |
开放式测试版本发布后,受邀测试用户如何体验? A.进入服务中心,打开“开发者测试”开关,在最下方的“服务测试”找到待体验的元服务 |
多选题
entry下的modulejson5中包含以下哪些信息(ABC) A.Ability的配置信息 B.设备类型信息 C.应用权限申请列表 |
UIAbility的启动模式有哪些(ABC) A.singleton B.specified C.multition |
UIAbility的生命周期包括哪些函数?(ABCD) A.onCreate B.onForeground C.onBackground D.onDestroy |
端云一体化工程目录结构分为哪些部分(ABC) A.端开发工程(Application) B.云开发工程(CloudProgram) C.端侧公共库(External Libraries) |
端云一体化已经集成以下哪些服务SDK(ABC) A.云数据库 B.云存储 C.云托管 |
端云一体化中的云函数支持哪些操作(ABCD) A.编写函数 B.测试函数 C.打包函数 D.部署函数 |
公共事件服务为应用程序提供哪些能力(ABC) A.订阅公共事件 B.发布公共事件 C.取消订阅公共事件 |
鸿蒙特征包含哪些场景化能力(ABC) A.一次开发、多端部警 B.可分可合、自由流转 C.统一生态、原生智能 |
鸿蒙应用/元服务上架过程上传软件包常见的问题有哪些(ABCD) A.软件包中的发布Profile文件和当前上传软件包的应用不匹配 B.软件包中的发布证书与发布Profile文件中的发布证书不匹配 C.软件包未签名导制提示非法软件包 D.软件包中使用证书已经失效过者过期 |
下面哪些容器组件是可以滚动的(ABC) A.Scroll B.List C.Grid |
下面哪些组件层次结构是正确的(ABC) A.Text>Span B.Button>Column>lmage C.Column>Row>Button |
一次开发多端部署的三个层次有哪些?(ABC) A.界面级一多 B.功能级一多 C.工程级一多 |
以下关于ArkTS声明式开发范式的基本组成说明正确的是(ABCDEF) A.装饰器:用来装饰类.结构体、方法以及变量,赋予其特殊的含义,例如@Entry表示这是个入口组件。 B.自定义组件:可复用的UI单元,可组合其它组件。 C.UI描述:声明式的方法来描述U的结构,例如build0方法中的代码块。 D.内置组件: ArkTS中默认内置的基本组件和布局组件,开发者可以直接调用,如Column. Text, Divider. Button等。 E.属性方法:用于组件属性的配置,统- -通过属性方法进行设置,如fontSize0. width0. height)、 color( 等。 F.事件方法:用于添加组件对事件的响应逻辑,统-通过事件方法进行设置,如跟随在Button后面的onClick)。 |
自定义组件的组件化特点有哪些(ABCD) A.可组合 B.可重用 C.配置化生命周期 D.数据驱动更新 |
三、注意事项
考试说明
1、每个帐号每月有3次考试机会,次月重置考试次数。做题过程中请认真对待,避免考试次数浪费
2、考试时长为1小时,请合理分配做题时间;
3、考试期间只有3次切屏次数,若超过3次则自动提交考卷;
4、基础认证考试分数达到90分即为合格,高级认证考试分数达到80分即为合格,未达到合格分数则无法获取证书。
如何获取证书
1、通过考试后,可前往我的学堂-我的证书-我的开发者认证查看证书和下载电子证书(查看证书前,请确保已实名认证)。
2、证书自颁布之日起2年内有效。
总结
以上就是我要讲的内容,本文简单介绍了如何去考HarmonyOS应用开发者基础认证和高级认证。有问题可以进群讨论,QQ群428886795,如果有其他问题也可以随时私聊我。