harmonyOS开发学习课程
HarmonyOS第一课
1.【习题】运行Hello World工程
判断题
1. DevEco Studio是开发HarmonyOS应用的一站式集成开发环境。(√)
2. main_pages.json存放页面page路径配置信息。(√)
单选题
1. 在stage模型中,下列配置文件属于AppScope文件夹的是?
A. main_pages.json
B. module.json5
C. app.json5
D. package.json
答案:C
多选题
1. 如何在DevEco Studio中创建新项目?
A. 在计算机上创建一个新文件,并将其命名为“new harmonyOS项目”
B. 如果已打开项目,从DevEco Studio菜单选择'file>new>Create Project'
C. 如果第一次打开DevEco Studio,在欢迎页点击“Create new Project”
答案:BC
2. module.json5配置文件中,包含了以下哪些信息?
A. ability的相关配置信息
B. 模块名
C. 应用的版本号
D. 模块类型
答案:ABD
2.【习题】ArkTS基础知识
判断题
1. 循环渲染ForEach可以从数据源中迭代获取数据,并为每个数组项创建相应的组件。(√)
2. @Link变量不能在组件内部进行初始化。(√)
单选题
1. 用哪一种装饰器修饰的struct表示该结构体具有组件化能力?
A. @Component
B. @Entry
C. @Builder
D. @Preview
答案:A
2. 用哪一种装饰器修饰的自定义组件可作为页面入口组件?
A. @Component
B. @Entry
C. @Builder
D. @Preview
答案:B
多选题
1. 下面哪些函数是自定义组件的生命周期函数?
A. aboutToAppear
B. aboutToDisappear
C. onPageShow
D. onPageHide
E. onBackPress
答案:ABCDE
2. 下面哪些装饰器可以用于管理自定义组件中变量的状态?
A. @Component
B. @Entry
C. @State
D. @Link
答案:CD
3.【习题】应用程序框架
判断题
1. 一个应用只能有一个UIAbility。(×)
2. 创建的Empty Ability模板工程,初始会生成一个UIAbility文件。(√)
3. 每调用一次router.pushUrl()方法,页面路由栈数量均会加1。(×)
单选题
1. API9及以上,router.pushUrl()方法,默认的跳转页面使用的模式是哪一种?
A. standard
B. Single
C. Specified
答案:A
2. UIAbility启动模式需要在module.json5文件中配置哪个字段?
A. module
B. skills
C. launchType
D. abilities
答案:C
多选题
1. API9及以上,router.pushUrl()方法的mode参数可以配置为以下哪几种跳转页面使用的模式?
A. Standard
B. Single
C. Specified
答案:AB
2. UIAbility的生命周期有哪几个状态?
A. Create
B. WindowStageCreate
C. Foreground
D. Background
E. WindowStageDestroy
F. Destroy
答案:ACDF
UIAbility的生命周期包括Create、Foreground、Background、Destroy四个状态,WindowStageCreate和WindowStageDestroy为窗口管理器(WindowStage)在UIAbility中管理UI界面功能的两个生命周期回调,从而实现UIAbility与窗口之间的弱耦合。
3. UIAbility有哪几种的启动模式?
A. multiton
B. singleton
C. specified
答案:ABC
4.【习题】构建漂亮的页面
判断题
1. 在Column容器中的子组件默认是按照从上到下的垂直方向布局的,其主轴的方向是垂直方向,在Row容器中的组件默认是按照从左到右的水平方向布局的,其主轴的方向是水平方向。(√)
2. List容器可以沿水平方向排列,也可以沿垂直方向排列。(√)
3. 当Tabs组件的参数barPosition为BarPosition.End时,页签位于页面底部。(×)
4. Resource是资源引用类型,用于设置组件属性的值,可以定义组件的颜色、文本大小、组件大小等属性。(√)
单选题
1. 使用TextInput完成一个密码输入框,推荐设置type属性为下面哪个值?
A. InputType.Normal
B. InputType.Password
C. InputType.Email
D. InputType.Number
答案:B
2. 使用Image加载网络图片,需要以下那种权限?
A. ohos.permission.USE_BLUETOOTH
B. ohos.permission.INTERNET
C. ohos.permission.REQUIRE_FORM
D. ohos.permission.LOCATION
答案:B
3. 下面哪个组件层次结构是错误的?
A. List>ListItem>Column
B. Column>List>ListItem
C. Grid>Row>GridItem
D. Grid>GridItem
答案:C
多选题
1. Row容器的主轴是水平方向,交叉轴是垂直方向,其参数类型为VerticalAlign (垂直对齐),VerticalAlign 定义了以下几种类型?
A. Top
B. Bottom
C. Start
D. End
E. Center
答案:ABE
2. 下面哪些组件是容器组件?
A. Button
B. Row
C. Column
D. Image
E. TextInput
答案:BC
3. 关于Tabs组件页签的位置设置,下面描述正确的是?
A. 当barPosition为Start(默认值),vertical属性为false时(默认值),页签位于容器顶部。
B. 当barPosition为Start(默认值) ,vertical属性为true时,页签位于容器左侧。
C. 当barPosition为End ,vertical属性为false(默认值)时,页签位于容器底部。
D. 当barPosition为End ,vertical属性为true时,页签位于容器右侧。
答案:ABCD
5.【习题】构建更加丰富的页面
判断题
1. @State修饰的属性不允许在本地进行初始化。(×)
2. @CustomDialog装饰器用于装饰自定义弹窗组件,使得弹窗可以自定义内容及样式。(√)
3. 将Video组件的controls属性设置为false时,不会显示控制视频播放的控制栏。(√)
4. @Prop修饰的属性值发生变化时,此状态变化不会传递到其父组件。(√)
单选题
1. 使用Video组件播放网络视频时,需要以下哪种权限?
A. ohos.permission.READ_MEDIA
B. ohos.permission.INTERNET
C. ohos.permission.WRITE_MEDIA
D. ohos.permission.LOCATION
答案:B
2. 下列哪种组合方式可以实现子组件从父子组件单向状态同步。
A. @State和@Link
B. @Provide和@Consume
C. @State和@Prop
D. @Observed和@ObjectLink
答案:C
多选题
1. 下列哪些状态装饰器修饰的属性必须在本地进行初始化。
A. @State
B. @Prop
C. @Link
D. @Provide
E. @Consume
答案:AD
2. ArkUI提供了下面哪些弹窗功能。
A. AlertDialog
B. TextPickerDialog
C. DatePickerDialog
D. @CustomDialog
E. TimePickerDialog
答案:ABCDE
6.【习题】属性动画
判断题
1. 属性动画中产生动画的属性可以在任意位置声明。(×)
2. 属性动画中改变属性时需触发UI状态更新。(√)
单选题
1. 属性animation可以在哪些组件中使用?
A. 只能基础组件
B. 只能容器组件
C. 基础组件和容器组件
D. 以上都不对
答案:C
2. 属性动画中如何设置反向播放?
A. PlayMode.Normal
B. PlayMode.Alternate
C. PlayMode.AlternateReverse
D. PlayMode.Reverse
答案:D
3. 下面哪种情况不会回调onFinish函数?
A. delay设置为 0
B. tempo设置为 1
C. iterations设置为 -1
D. playMode设置为 PlayMode.Reverse
答案:C
4. 属性动画中关于animation参数说法错误的是?
A. 参数tempo默认值为1.0
B. 参数delay不能大于duration
C. 参数curve可以不设置
D. 参数iterations可以不设置
答案:B
多选题
1. 属性动画支持哪些属性?
A. width
B. rotate
C. opacity
D. scale
答案:ABCD
2. 属性动画中animation的参数有哪些?
A. playMode
B. curve
C. delay
D. onFinish
答案:ABCD
7.【习题】 从网络获取数据
判断题
1. 在http模块中,多个请求可以使用同一个httpRequest对象,httpRequest对象可以复用。(×)
每一个httpRequest对象对应一个http请求任务,不可复用
2. 使用http模块发起网络请求后,可以使用destroy方法中断网络请求。(√)
3. Web组件onConfirm(callback: (event?: { url: string; message: string; result: JsResult }) => boolean)事件,返回false时候触发网页默认弹窗。(×)
当onConfirm回调返回false时,触发默认弹窗。当回调返回true时,系统应用可以调用系统弹窗能力(包括确认和取消),并且需要根据用户的确认或取消操作调用JsResult通知Web组件。
单选题
1. 使用http发起网络请求,需要以下哪种权限?
A. ohos.permission.USE_BLUETOOTH
B. ohos.permission.INTERNET
C. ohos.permission.REQUIRE_FORM
D. ohos.permission.LOCATION
答案:B
2. 向服务器提交表单数据,以下哪种请求方式比较合适?
A. RequestMethod.GET
B. RequestMethod.POST
C. RequestMethod.PUT
D. RequestMethod.DELETE
答案:B
3. 下列关于Web组件的属性,描述错误的是?
A. 设置是否开启应用中文件系统的访问,默认启用。$rawfile(filepath/filename)中rawfile路径的文件不受该属性影响而限制访问。
B. imageAccess设置是否允许自动加载图片资源,默认允许。
C. javaScriptAccess设置是否允许执行JavaScript脚本,默认不允许执行。
D. zoomAccess设置是否支持手势缩放,默认允许执行缩放。
答案:C
4. 关于请求返回的响应码ResponseCode,下列描述错误的是?
A. ResponseCode.OK的值为200,表示请求成功。一般用于GET与POST请求。
B. ResponseCode.NOT_FOUND的值为404,表示服务器无法根据客户端的请求找到资源(网页)。
C. ResponseCode.INTERNAL_ERROR的值为500,表示服务器内部错误,无法完成请求。
D. ResponseCode.GONE的值为404,表示客户端请求的资源已经不存在。
答案:D
多选题
1. Web组件支持下列哪些属性或事件?
A. fileAccess(fileAccess: boolean)
B. javaScriptAccess(javaScriptAccess: boolean)
C. on(type: 'headerReceive', callback: AsyncCallback<Object>): void
D. onConfirm(callback: (event?: { url: string; message: string; result: JsResult }) => boolean)
E. destroy(): void
答案:ABD
2. 关于http模块描述正确的是?
A. http请求支持get、post、put等常用的请求方式。
B. 可以使用on('headersReceive')订阅请求响应头。
C. post请求的参数可以在extraData中指定。
D. 执行createHttp成功后,返回一个httpRequest对象,里面包括request、destroy、on和off方法。
答案:ABCD
3. 关于Web组件描述正确的是?
A. Web组件是提供具有网页显示能力的一种组件。
B. Web组件传入的地址可以是本地资源也可以是网络资源。
C. WebController可以控制Web组件的各种行为,例如网页的前进、后退等功能。
D. 当访问在线网页时,需添加网络权限。
答案:ABCD
8.【习题】保存应用数据
判断题
1. 首选项是关系型数据库。(×)
2. 应用中涉及到Student信息,如包含姓名,性别,年龄,身高等信息可以用首选项来存储(×)
3. 同一应用或进程中每个文件仅存在一个Preferences实例。(√)
单选题
1. 使用首选项要导入的包是哪个?
A. @ohos.data.rdb
B. @ohos.data.preferences
C. @ohos.router
D. @ohos.data.storage
答案:B
2. 首选项的数据持久化后是放在哪里?
A. 内存中
B. 数据库表中
C. 文件中
D. 云端
答案:C
3. 下面哪个接口不是首选项提供的API接口?
A. get()
B. update()
C. put()
D. flush()
答案:B
多选题
1. HarmonyOS提供的数据管理的方式都有哪些?
A. 首选项
B. 分布式数据服务
C. 关系数据库
D. 分布式数据对象
答案:ABCD
数据管理为开发者提供数据存储、数据管理能力。数据管理模块包括用户首选项、键值型数据管理、关系型数据管理、分布式数据对象和跨应用数据管理。HarmonyOS标准系统支持典型的存储数据形态,包括用户首选项、键值型数据库、关系型数据库。
- 用户首选项(Preferences):通常用于保存应用的配置信息。访问速度快、效率高,但不适合需要存储大量数据的场景。
- 键值型数据库(KV-Store):一种非关系型数据库,适合很少数据关系和业务关系的业务数据存储。
- 关系型数据库(RelationalStore):一种关系型数据库,广泛用于应用中的关系型数据的处理,包括一系列的增、删、改、查等接口。
2. 下面说法正确的有?
A. 首选项遵循ACID特性
B. 首选项以Key-Value形式存取数据
C. 首选项存储数据数量建议不超过1万条
D. 首选项的key为String类型
答案:BCD
首选项的特点是:
1、以Key-Value形式存储数据
Key是不重复的关键字,Value是数据值。
2、非关系型数据库
区别于关系型数据库,它不保证遵循ACID(Atomicity, Consistency, Isolation and Durability)特性,数据之间无关系。
进程中每个文件仅存在一个Preferences实例,应用获取到实例后,可以从中读取数据,或者将数据存入实例中。通过调用flush方法可以将实例中的数据回写到文件里。
9.【习题】给应用添加通知和提醒
判断题
1. 构造进度条模板通知,name字段当前需要固定配置为downloadTemplate。(√)
2. 给通知设置分发时间,需要设置showDeliveryTime为false。(×)
3. OpenHarmony提供后台代理提醒功能,在应用退居后台或退出后,计时和提醒通知功能被系统后台代理接管。(√)
单选题
1. 将通道设置为下面哪个类型,可以显示横幅通知?
A. SlotType.SOCIAL_COMMUNICATION
B. SlotType.SERVICE_INFORMATION
C. SlotType.CONTENT_INFORMATION
D. SlotType.OTHER_TYPES
答案:A
2. 下列哪个是从API 9 开始支持的后台代理提醒功能模块。
A. @ohos.reminderAgentManager
B. @ohos.reminderManager
C. @ohos.reminderAgent
D. @ohos.notificationManager
答案:A
多选题
1. 下面哪些方法可以移除通知?
A. cancel
B. cancelAll
C. removeSlot
答案:AB
2. 后台代理提醒业务分为哪几种类型。
A. 倒计时类
B. 日历类
C. 闹钟类
D. 日程类
答案:ABC
10.【习题】HarmonyOS应用/元服务上架
判断题
1. 元服务发布的国家与地区仅限于“中国大陆”(√)
2. 编译打包的软件包存放在项目目录build > outputs > default下(√)
单选题
1. 创建应用时,应用包名需要和app.json5或者config.json文件中哪个字段保持一致?
A. package
B. name
C. bundleName
答案:C
2. 发布应用时需要创建证书,证书类型选择什么类型?
A. 调试证书
B. 发布证书
答案:B
3. 发布应用时需要创建Profile时,类型选择什么类型?
A. 调试
B. 发布
答案:B
4. 上传发布软件包时,软件包的格式是什么?
A. .zip
B. .app
C. .apk
D. .hap
答案:B
5. 发布后的应用可以在哪里获取?
A. 华为应用市场
B. 华为服务中心
C. 华为生态市场
答案:A
HarmonyOS主题课
1.【习题】使用DevEco Studio高效开发
单选题
1. 用哪一种装饰器修饰的组件可作为页面入口组件?
A. @Component
B. @Entry
C. @Preview
D. @Builder
答案:B
2. ArkTS Stage模型支持API Version 9,关于其工程目录结构说法正确的是?
A. oh-package.json5用于存放应用级配置信息,包括签名、产品配置等
B. build-profile.json5用于配置三方包声明文件的入口及包名
C. module.json5包含HAP的配置信息、应用在具体设备上的配置信息以及应用的全局配置信息
D. app.json5用于编写应用级编译构建任务脚本
答案:C
3. DevEco Studio提供模拟器供开发者运行和调试HarmonyOS应用/服务,以下说法错误的是?
A. 本地模拟器是创建和运行在本地计算机上的,需要登录授权
B. 本地模拟器支持音量大小调节、电池电量调节、屏幕旋转等功能
C. 向本地模拟器安装应用/服务的时候,不需要给应用签名
D. DevEco Studio会启动应用/服务的编译构建,完成后应用/服务即可运行在本地模拟器上
答案:A
多选题
1. DevEco Studio支持使用多种语言进行应用/服务的开发,包括ArkTS、JS和C/C++。在编写应用/服务阶段,可以通过以下哪些方法提升编码效率?
A. 提供代码的智能补齐能力,编辑器工具会分析上下文并理解项目内容,并根据输入的内容,提示可补齐的类、方法、字段和关键字的名称等
B. 在编辑器中调用ArkTS API接口或ArkTS/JS组件时,支持在编辑器中快速、精准调取出对应的参考文档
C. 代码格式化功能可以帮助您快速的调整和规范代码格式,提升代码的美观度和可读性
D. 如果输入的语法不符合编码规范,或者出现语义语法错误,编辑器会显示错误或警告
答案:ABCD
2. 关于预览器的使用,以下哪些说法是正确的?
A. 在开发界面UI代码过程中,如果添加或删除了UI组件,您只需Ctrl+S进行保存,然后预览器就会立即刷新预览结果
B. 在预览器界面,可以在预览器中操作应用/服务的界面交互动作,如单击、跳转、滑动等,与应用/服务运行在真机设备上的界面交互体验一致
C. 组件预览通过在组件前添加注解@Preview实现
D. 页面预览通过在工程的ets文件头部添加注解@Entry实现
答案:ABCD
2.【习题】三方库
判断题
1. 三方组件是开发者在系统能力的基础上进行了一层具体功能的封装,对其能力进行拓展的工具 (√)
2. 可以通过ohpm uninstall 指令下载指定的三方库(×)
3. lottie使用loadAnimation方法加载动画(√)
单选题
1. 通过ohpm安装lottie后,在哪个文件中会生成相关的配置信息?
A. module.json5
B. oh-package.json5
C. app.json5
D. main_page.json
答案:B
2. lottie订阅事件的API为?
A. lottie.setSpeed()
B. lottie.setDirection()
C. animationItem.addEventListener()
D. animationItem.removeEventListener()
答案:C
多选题
1. 下列属于lottie提供的动画控制API的是?
A. lottie.play()
B. lottie.pause()
C. lottie.stop()
D. lottie.goToAndPlay()
答案:ABCD
3.【习题】HarmonyOS云开发
判断题
1. HarmonyOS云开发可以在一个项目中同时实现端侧和云侧功能的开发。(√)
2. 进行端云一体开发时,开发者需要精通前端、后端不同的开发语言。(×)
单选题
1. 开发者在DevEco Studio中,可以通过什么形式进行HarmonyOS云开发?
A. IDE插件
B. 工程模板
C. 命令行工具
D. 可视化工具
答案:B
2. HarmonyOS云开发当前支持最低API版本是多少?
A. API 6
B. API 7
C. API 8
D. API 9
答案:D
多选题
1. HarmonyOS云开发工程结构分哪些部分?
A. 端开发工程(Application)
B. 云开发工程(CloudProgram)
C. 端侧公共库(External Libraries)
D. 公共资源库(Resource)
答案:ABC
2. HarmonyOS云开发工程创建后,会自动开通哪些服务?
A. 云函数
B. 云数据库
C. 云存储
D. 认证服务
答案:ABCD
开发者能力认证
HarmonyOS应用开发者基础认证
判断题
1.首选项preferences是以Key-Value形式存储数据,其中Key是可以重复。(×)
2.Web组件对于所有的网页都可以使用zoom(factor: number)方法进行缩放。(×)
3.每一个自定义组件都有自己的生命周期(√)
4.Tabs组件仅可包含子组件TabsContent,每一个页签对应一个内容视图即TabContet组件。(√)
5.在Column和Row容器组件中,justifyContent用于设置子组件在主轴方向上的对齐格式,alignItems用于设置子组件在交叉轴方向上的对齐格式。(√)
6.所有使用@Component修饰的自定义组件都支持onPageShow,onBackPress和onPageHide生命周期函数。(×)
7.@CustomDialog装饰器用于装饰自定义弹窗组件,使得弹窗可以动态设置内容及样式。(√)
8.每调用一次router.pushUrl()方法,默认情况下,页面栈数量会加1,页面栈支持的最大页面数量为32。(√)
9.Video组件可以支持本地视频路径和网络路径播放。播放网络视频时,需要申请权限ohos.permission.INTERNET。(√)
10.使用http模块发起网络请求时,必须要使用on('headersReceive')订阅请求头,请求才会成功。(×)
11.Ability是系统调度应用的最小单元,是能够完成一个独立功能的组件。一个应用可以包含一个或多个Ability。(√)
单选题
12.用哪一种装饰器修饰的组件可作为页面入口组件?
A. @Component
B. @Entry
C. @Preview
D. @Builder
答案:B
13.下列哪种组合方式不能实现子组件从父子组件之间双向数据同步。
A. @State和@Link
B. @Provide和@Consume
C. @Observed和@ObjectLink
D.@State和@Prop
答案:D
14.关于Tabs组件页签的位置设置,下面描述错误的是
A. 当barPosition为Start(默认值),vertical属性为false时(默认值),页签位于容器顶部。
B. 当barPosition为Start(默认值) ,vertical属性为true时,页签位于容器左侧
C. 当barPosition为End ,vertical属性为false(默认值)时,页签位于容器底部。
D. 当barPosition为End ,vertical属性为true时,页签位于容器底部。
答案:D
15.关于Resource是资源引用类型描述错误的是:
A. Resource是资源引用类型,用于设置组件属性的值。
B. 通过"$r('app.type.name')"的形式引用应用资源,app代表是应用内resources目录中定义的资源,type代表资源类型(或资源的存放位置)。
C. Resource支持所有的数据类型。
D. 系统可以根据当前配置加载合适的Resource资源,例如,开发者可以根据屏幕尺寸呈现不同的布局效果,或根据语言设置提供不同的字符串。
答案:C
16.下面哪个组件不能包含子组件:
A. Row
B. Button
C. Text
D. Loading Progress
答案:D
17.Row组件中有两个Text组件,如果使用justifyContent对齐方式,下面哪个属性可以实现左右两端对齐:
A. FlexAlign.Start
B. FlexAlign.SpaceEvenly
C. FlexAlign.End
D. FlexAlign.SpaceBetween
答案:D
18.在下面哪个文件中可以设置页面的路径配置信息?
A. main_pages.json
B. module.json5
C. app.json5
D. package.json
答案:A
19.首选项preferences值的存储支持哪些数据类型?
A. 数字型
B. 字符型
C. 布尔型
D. 数字型、字符型、布尔型以及这3种类型的数组类型。
答案:D
20.关于Button组件,下面哪个样式是胶囊型按钮:
A. ButtonType.Capsule
B. ButtonType.Normal
C. ButtonType.Circle
D. 以上都不是
答案:A
21.使用Image组件加载网络图片需要如下哪种权限?
A. ohos.permission.READ_MEDIA
B. ohos.permission.INTERNET
C. ohos.permission.GET_NETWORK_INFO
D. ohos.permission.DISTRIBUTED_DATASYNC
答案:B
22.下面哪个方法,可以跳转到一个新页面,并销毁当前页面。
A. router.pushUrl()
B. router.replaceUrl()
C. router.back()
D. router.clear()
答案:B
23.关于Video组件的回调事件,下列说法错误的是:
A. onStart视频播放时触发该事件,可以在这里获取视频时长。
B. onFinish视频播放结束时触发该事件。
C. onPrepared视频准备完成时触发该事件。
D. onUpdate播放进度变化时触发该事件,单位为s,更新时间间隔为250ms。
答案:A
24.关于容器组件Row和Column,下面说法错误的是:
A. Column容器的主轴是垂直方向,交叉轴是水平方向;Row容器的主轴是水平方向,交叉轴是垂直方向。
B. 主轴和交叉轴始终是相互垂直的,Row和Column主轴的方向不一样。
C. Column的子组件在主轴方向上的对齐使用justifyContent属性来设置,其参数类型是FlexAlign。
D. Row的子组件在交叉轴方向上的对齐方式使用alignItems属性来设置,其参数类型为HorizontalAlign。
答案:D
25.例如现在要实现一个广告弹窗,包含图片和文本等信息,使用下面那种弹窗可以实现
A. AlertDialog
B. @CustomDialog
C. TextPickerDialog
D. TimePickerDialog
答案:B
26.关于@State状态数据特征,下列描述错误的是:
A. @State装饰的变量是组件内部的状态数据,当这些状态数据被修改时,将会调用所在组件的build方法进行UI刷新。
B. 标记为@State的属性是私有变量,只能在组件内访问。
C. @State变量可以不用给定初始值。
D. 子组件@Link装饰的变量可以和父组件的@State变量建立双向数据绑定。
答案:C
27.页面路由需要导入以下哪个模块?
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
28.下面哪一个事件方法可以获取到List滑动的偏移量
A. onScroll
B. onScrollIndex
C. onReachStart
D. onReachEnd
答案:A
29.首选项key的最大长度限制大小为()字节?
A. 60
B. 70
C. 80
D. 90
答案:C
30.关于UIAbility的启动模式,下列说法错误的是:
A. UIAbility支持单实例、标准模式和指定实例3种启动模式,在module.json中通过launchType配置。
B. singleton为单实例模式,系统中只存在唯一一个实例,startAbility时,如果已存在,则复用系统中的唯一一个实例。
C. standard为标准模式,每次startAbility都会启动一个新的实例,系统默认为standard模式。
D. specified为指定实例模式,运行时由Ability内部业务决定是否创建多实例。
答案:C
31.关于Web组件,下面描述错误的是:
A. WebController控制器可以控制Web组件各种行为,比如forward、backward、runJavaScript等。
B. Web组件支持fileAccess、javaScriptAccess等多种属性的设置,例如 .javaScriptAccess(true)表示允许执行JavaScript脚本。
C. Web组件支持onConfirm、onConsole等多种事件,例如网页调用confirm()告警时触发onConfirm回调。
D. 使用Web组件访问在线和离线网页都需要添加ohos.permission.INTERNET权限。
答案:D
32.发起网络数据请求需要导入以下哪个模块?
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'
答案:A
多选题
33.下面哪些组件层次结构是正确的。
A.Text>Span
B.Button>Column>Image
C.Button>Image>Text
D.Image>Text>Span
E.Column>Row>Button
答案:ABE
34.下面哪些容器组件是可以滚动的
A. Scroll
B. List
C. Row
D. Grid
E. Column
答案:ABD
35.下面哪些是Ability的生命周期回调函数?
A. onCreate
B. onDestroy
C. onPageShow
D. onPageHide
E. onForeground
F. onBackground
答案:ABEF
36.以下关于ArkTS声明式开发范式的基本组成说明正确的是
A. 装饰器:用来装饰类、结构体、方法以及变量,赋予其特殊的含义,例如@Entry表示这是个入口组件。
B. 自定义组件:可复用的 UI 单元,可组合其它组件。
C. UI描述:声明式的方法来描述UI的结构,例如build()方法中的代码块。
D. 内置组件:ArkTS中默认内置的基本组件和布局组件,开发者可以直接调用,如Column、Text、Divider、Button等。
E. 属性方法:用于组件属性的配置,统一通过属性方法进行设置,如fontSize()、width()、height()、color() 等。
F. 事件方法:用于添加组件对事件的响应逻辑,统一通过事件方法进行设置,如跟随在Button后面的onClick()。
答案:ABCDEF
37.关于ForEach(arr, itemGenerator, index)组件的描述正确的是:
A. ForEach中可以循环遍历逻辑代码,例如console.info('hello')
B. 第一个参数必须是数组,提供循环渲染的数据源。
C. 第二个参数生成子组件的lambda函数,为数据源中的每个数组项生成子组件。
D. 第三个参数为匿名函数,用于给定数组项生成唯一且稳定的键值。
答案:BCD
38.针对包含文本元素的组件,例如Text、Button、TextInput等,可以使用下列哪些属性:
A. fontColor
B. fontSize
C. fontStyle
D. fontWeight
E. fontFamily
答案:ABCDE
39.关于Tabs组件和TabContent组件,下列描述正确的是
A. TabContent组件不支持设置通用宽度属性,其宽度等于Tabs组件的barWidth属性。
B. TabContent组件不支持设置通用高度属性,其高度由父组件Tabs高度与TabBar组件高度决定。
C. TabsController用于控制Tabs组件进行页签切换,不支持一个TabsController控制多个Tabs组件。
D. TabContent组件的tabBar属性支持使用@Builder构造器生成的组件。
答案:ABCD
40.entry下的module.json5中包含以下哪些信息:
A. 应用包名和版本号信息
B. Ability的配置信息
C. 设备类型信息
D. 应用权限申请列表
答案:BCD
HarmonyOS应用开发者高级认证
HCIA-HarmonyOS应用开发能力工程师
1.HCIA-HarmonyOS介绍
判断题
1. 部件是指在部署视图中具有相对独立性,能完成一定功能的可独立交付,并且能独立部署的软件实体。(×)
2. 卡片常用于嵌入到其他应用(当前只支持系统应用)中作为其界面的一部分显示,并支持拉起页面,发送消息等基础的交互功能。(√)
3. 分布式软总线是手机、平板、智能穿戴、智慧屏、车机等分布式设备的通信基座,不仅为设备之间的互联互通提供了统一的分布式通信能力,还为设备之间的无感发现和零等待传输创造了条件。(√)
4. 原子化服务是鸿蒙系统提供的一种全新的应用形态,无需显式安装,由程序框架后台静默安装后即可使用,可为用户提供便捷服务。(√)
5. 根据设备的内存差异,OpenHarmony适配的系统类型分为三类:轻量系统、小型系统、标准系统。(√)
单选题
6. OpenHarmonyOS适配的系统类型中支持的设备最小内存为1 MiB的是哪一个系统?
A. 标准系统
B. 轻量系统
C. 小型系统
D. 大型系统
答案:C
多选题
7. HarmonyOS可以通过架构分层间的接口定义,对操作系统进行大颗粒系统解构。以下哪些选项是内核层向上提供的标准接口?
A. DDK
B. POSIX
C. HDI
D. CMSIS
答案:BCD
内核层向上提供 KAL(Kernel Abstract Layer,支持 POSIX 和 CMSIS 两种标准接口)和 HDI 接口,内核层每种内核形态对应于一个内核组件
8. 在万物智联时代重要机遇期,鸿蒙系统结合移动生态发展的趋势,提出了哪三大技术理念?
A. 统一生态 原生智能
B. 一次开发 多端部署
C. 可分可合 自由流转
D. 硬件互助 资源共享
答案:ABC
harmonyOS三大技术特性
1.硬件互助,资源共享
2.一次开发,多端部署
3.统一OS,弹性部署
9. HarmonyOS从用户和开发者视角出发,开发出了一款面向万物互联时代的操作系统。以下哪两个选项是HarmonyOS基于这两个视角提出的设计理念?
A. 开发者最大效率原则
B. 消费者安全最高原则
C. 开发者最小代价原则
D. 消费者体验最佳原则
答案:CD
2.HarmonyOS-应用开发入门
判断题
1. 在Windows系统下载安装DevEco Studio工具时,安装路径可以包含中文名。(×)
2. 在使用物理真机运行应用前需要对应用进行签名,开发者可以使用IDE工具提供的自动化签名方案,在打开Project Structure界面后,点击Signing Configs,勾选Automatically generate signature,等待自动签名完成即可。(√)
3. 某开发者在使用远程真机运行应用时,不需要对应用进行签名;但使用本地真机运行应用时,必须需要对应用进行签名。(×)
单选题
4. 某开发者在开启HarmonyOS应用开发入门章节的教学时,使用低代码开发作为引入实验。打开IDE工具后,他可以点击哪一个文件进行可视化开发设计?
A. EntryAbility.ts
B. index.ets
C. index.visual
D. Ability.test.ets
答案:C
5. 某开发者在下载DevEco Studio时出现了问题,他可以通过欢迎界面Help中的哪一个功能来诊断开发环境是否完备?
A. Plugin Development
B. Tip of the Day
C. Diagnose Development Environment
D. About
答案:C
多选题
6. 开发者可以利用工具中的预览器进行代码调试,以下哪几项选项是对预览器功能的正确描述?
A. 预览器提供HarmonyOS应用/服务的UI预览界面与源代码文件间的双向预览功能,支持ets文件、hml文件预览器界面进行双向预览。
B. 支持动态预览,在Previewer中预览时,可以操作应用简单的交互动作。
C. 预览器提供了Profile Manager功能,支持开发者自定义预览设备Profile。
D. 选定EntryAbility.ts文件,单击View>Tool Windows>Previewer,预览器打开。
答案:ABC
7. 分布式功能是HarmonyOS的亮点之一,DevEco Studio为此提供了多种方式,以便于开发者可以同时将代码在不同设备上进行预览。以下那几项是关于多端设备预览器的正确说法?
A. 多设备预览时,不支持双向预览功能。
B. 两个设备支持的编码语言不同,也可以使用多端设备预览功能。
C. 多端设备预览支持页面内动画的预览。
D. 打开Profile Manager中的Multi-profile preview开关,即可同时查看多设备上的应用/服务运行效果。
答案:AD
8. 以下哪几项属于Previewer预览器支持的功能?
A. 查看ArkTS组件预览效果
B. 播放视频
C. 动态预览
D. 播放语音
答案:AC
9. DevEco Studio提供模拟器进行应用运行调试,开发者可以通过菜单栏中的Tools栏下,找到Device Manager来打开模拟器,以下哪些选项是DevEco Studio支持提供的模拟器类型?
A. 超级终端远程模拟器
B. 本地模拟器
C. 远程真机
D. 远程模拟器
答案:ABD
10. 下列哪几项是DevEco Studio提供的调试与开发工具?
A. 预览器
B. 本地真机
C. 本地模拟器
D. 远程模拟器
答案:ABCD
3.HarmonyOS-Stage模型
判断题
1. 在Stage模型中,Ability的启动模式在缺省情况下是singleton。(√)
单选题
2. 在Stage模型下使用ArkTS语言进行应用开发时,往往需要创建多个页面。开发者可以在以下哪一个文件中查看页面的路由信息?
A. build-profile.json
B. string.json
C. main_pages.json
D. hvigorfile.ts
答案:C
3. 开发stage模型下的应用程序时,需要在配置文件中对应用的包结构进行声明。以下哪一项关于配置文件的描述是错误的?
A. bundleName该标签用于标识应用的包名,用于标识应用的唯一性。该标签不可缺省。
B. 配置文件由app和module这两个部分组成,缺一不可。
C. 同一个应用的不同HAP包的app配置必须保持一致。
D. 在开发stage模型下的应用程序时,需要在module.json5和config.json配置文件中对应用的包结构进行声明。
答案:D
多选题
4. 在Stage模型下,AbilityContext具备以下哪几项能力?
A. Ability的启动
B. 拉起弹窗请求用户授权
C. Ability的停止
D. 获取caller通信接口
答案:ABCD
5. 在Stage模型中,Ability的生命周期回调函数有哪些?
A. onCreate
B. onWindowStageDestroy
C. onDestroy
D. onBackground
答案:ABCD
4.HCIA-ArkTS语法
判断题
1. 在使用ArkTS语言开发界面UI代码过程中,如果添加或删除了UI组件,则会实时(亚秒级)刷新预览结果,达到极速预览的效果。(×)
2. 某开发者开发了一款社交软件,在登录界面,需要用户进行隐私勾选校验,可以用过ArkTS的警告弹窗实现该功能。(√)
3. ArkTS支持通过$$双向绑定变量,通常应用于状态值频繁改变的变量。(√)
单选题
4. 某开发者使用ArkTS语言开发时,自定义了MyInput组件,并导出该组件,便于页面中相同组件的重复使用,下列选项中,导出正确的是哪一项?
A. import MyInput
B. export default { MyInput: { } }
C. export default MyInput
D. import default MyInput
答案:C
5. 在Stage模型下使用ArkTS语言进行应用开发时,往往需要创建多个页面。开发者可以在以下哪一个文件中查看页面的路由信息?
A. string.json
B. hvigorfile.ts
C. build-profile.json
D. main_pages.json
答案:D
多选题
6. 某开发者使用ArkTS语言实现了文本内容从“Hello World”变为“Hello ArkTS”,相关代码如下,下列选项中描述正确的是哪几项?
@Entry @Component struct Hello { @State myText: string = 'World' build() { Column() { Text("Hello") .fontSize(50) Text(this.myText) .fontSize(50) Divider() Button() { Text("Click me") .fontSize(30) } .onClick(() => { this.myText = "ArkTS" }) .width('200%') .height('10%') } } }
A. @Entry和@State均属于装饰器
B. @bulid以下的代码都属于UI描述
C. onClick是事件方法
D. fontSize()、width()、height()是属性方法
答案:ABCD
5.HarmonyOS-声明式开发范式组件
单选题
1. 某开发者想设计一个胶囊型按钮,并且按钮按下时有按压态显示效果,下例选项中代码正确的是哪一项?
A. Button('按钮', { type: ButtonType.Normal, stateEffect: true })
B. Button('按钮', { type: ButtonType.Capsule, stateEffect: true })
C. Button('按钮', { type: ButtonType.Normal, stateEffect: false })
D. Button('按钮', { type: ButtonType.Circle, stateEffect: true })
答案:B
2. 某小学需要在LED大屏上插入滚动播放效果的文字,进行学校活动通知,以下哪一项组件可以实现该功能?
A. Marquee
B. Image
C. Slider
D. Text
答案:A
3. 某开发者想做一个问卷调查页面,其中涉及到多选题的勾选,该开发者可以使用以下哪一项组件实现其功能?
A. Divider
B. Button
C. Blank
D. Checkbox
答案:D
4. 以下哪一个选项可以修改所有的Text组件的颜色为红色?
A. .text{ color: red;}
B. #text{ color: red;}
C. text{ color: red;}
D. text .all{ color: red;}
答案:C
5. 某开发者需要将数据展示为环形图表,可以使用以下哪一项组件实现该功能?
A. DataPanel
B. DatePicker
C. Gauge
D. Progress
答案:C
6.HCIA-类Web开发范式基础
单选题
1. 某开发者创建了一个服务卡片,使用JS语言进行开发,该应用容器组件设为水平方向排列的弹性盒子,盒子内有三个div组件,已知这三个子组件的height均为100px,我们使用class样式选择器对他们设定不同的样式,代码如下,下列选项中哪一个是对运行结果的正确描述?
.box1{ background-color: red; flex: 1; height: 100px; } .box2{ background-color: blue; flex: 0 0 200px; height: 100px; } .box3{ background-color: green; flex: 3; height: 100px; }
A. 第一个子元素占据剩余父元素宽度的三分之一;第二个子元素宽度固定为200px; 第三个子元素占据剩余父元素宽度的三分之二。
B. 第一个红盒子占据整个父元素宽度的三分之一;第二个蓝盒子宽度固定为200px;第三个绿盒子占据整个父元素宽度的三分之三。
C. 第一个红盒子占据整个父元素宽度的四分之一;第二个蓝盒子宽度固定为200px;第三个绿盒子占据整个父元素宽度的四分之三。
D. 第一个红盒子占据剩余父元素宽度的四分之一;第二个蓝盒子宽度固定为200px;第三个绿盒子占据剩余父元素宽度的四分之三。
答案:D
2. 某开发者使用ArkTS UI下的自定义弹窗设计了手机电量低于20%的提醒弹窗,代码如下,以下哪一项代码填入横线处可以正常显示自定义弹窗?
// 定义自定义弹窗组件 CustomDialogExample @CustomDialog struct CustomDialogExample { ...... // 主页面 @Entry @Component struct CustomDialogUser { //导入对象dialogController dialogController: CustomDialogController = new CustomDialogController({ ...... build() { Column() { Button(this.inputValue) .onClick(() => { ______ //点击按钮,弹出弹窗 }) } } }
A. this.dialogController.open()
B. this.@CustomDialog.open()
C. this.CustomDialogController .open()
D. CustomDialogExample.open()
答案:A
3. 页面中的div组件,其HML文件中的代码如下:
<div class="box" style="color: green;"> HarmonyOS </div>
其设置的CSS样式如下:
.box{ color: red; }
最后文字HarmonyOS呈现什么颜色?
A. 黑色
B. 绿色
C. 白色
D. 红色
答案:B
4. 以下哪一个是虚拟像素单位?
A. vp
B. px
C. em
D. fp
答案:A
7.HCIA-类Web开发范式组件
判断题
1. Text是显示文本的组件基础之一,它可以包含子组件Span,当包含Span时不生效,只显示Span的内容。(√)
2. 当Button组件类型为Capsule胶囊型按钮时,borderRadius设置不生效,按钮圆角始终为高度的一半。(√)
3. 自定义组件可以基于struct实现,不能有继承关系,对于struct的实例化,可以省略new。(√)
4. Swiper是可滚动的容器组件,当子组件的布局尺寸超过父组件的尺寸时,内容可以滚动。(×)
5. @Prop可以用于父子组件的双向数据绑定,父组件的内部状态数据源,任何一方所作的修改都会反应给另一方。(×)
HCIA-HarmonyOS应用开发工程师 V2.0 模拟考试
判断题
1. 在Stage模型中,Ability的启动模式在缺省情况下是singleton。(√)
2. 某开发者在使用运程真机运行应用时,不需要对应用进行签名;但使用本地真机运行应用时,必须需要对应用进行签名。(×)
3. 自定义组件可以基于struct实现,不能有继承关系,对于struct的实例化,可以省略new。(√)
4. 卡片常用于嵌入到其他应用(当前只支持系统应用)中作为其界面的一部分显示,并支持拉起页面,发送消息等基础的交互功能。(√)
5. 使用图片资源时,应用可以成功加载common路径下的本地图片,但无法加载网络图片。检查是否申请相关权限ohos.permission.ACCESS_NOTIFICATION_POLICY,进行网络连接。(×)
6. 在使用物理真机运行应用前需要对应用进行签名,开发者可以使用IDE工具提供的自动化签名方案,在打开Project Structure界面后,点击Signing Configs,勾选Automatically generate signature,等待自动签名完成即可。(√)
7. 在Windows系统下载安装DevEco Studio工具时,安装路径可以包含中文名。(×)
8. 页面跳转可以分为页面跳转和页面间跳转,页面内跳转是指所跳转的页面在同一个Ability内部,它们之间的跳转可以使用Router或者Navigation的方式;页面间跳转是指所跳转的页面属与不同的Ability,这种跳转需要借助FeatureAbility实现。(√)
9. 某开发者开发了一款社交软件,在登录界面,需要用户进行隐私勾选校验,可以用过ArkTS的警告弹窗实现该功能。(√)
10. 分布式软总线是手机、平板、智能穿戴、智慧屏、车机等分布式设备的通信基座,不仅为设备之间的互联互通提供了统一的分布式通信能力,还为设备之间的无感发现和零等待传输创造了条件。(√)
11. 低代码开发提供UI可视化开发能力,支持自由拖拽组件和可视化数据绑定,可快速预览效果,所见即所得。通过拖拽式编排、可视化配置的方式,帮助开发者减少重复性的代码编写,快速地构建多端应用程序。(√)
12. 创建的Empty Ability 模板工程,会默认创建一个EntryAbility,该Ability的Page页面就是Index.ets。(√)
13. @State装饰的变量是组件内部的状态数据,当这些状态数据被修改时,将会调用所在组件的build方法进行UI刷新。(√)
14. Flex组件在渲染时存在二次布局过程,因此在对性能有严格要求的场景下建议使用Column、Row代替。(√)
15. @Prop可以用于父子组件的双向数据绑定,父组件的内部状态数据源,任何一方所作的修改都会反应给另一方。(×)
16. 原子化服务是鸿蒙系统提供的一种全新的应用形态,无需显式安装,由程序框架后台静默安装后即可使用,可为用户提供便捷服务。(√)
17. 在使用ArkTS语言开发界面UI代码过程中,如果添加或删除了UI组件,则会实时(亚秒级)刷新预览结果,达到极速预览的效果。(×)
18. Text是显示文本的组件基础之一,它可以包含子组件Span,当包含Span时不生效,只显示Span的内容。(√)
19. ArkTS支持通过$$双向绑定变量,通常应用于状态值频繁改变的变量。(√)
20. 一个应用可以有多个Ability,除了工程构建完毕后自动生成的EntryAbility会自动配置Page页面,其它手动创建的Ability都需要开发者为其设置相关的Page页面。(√)
21. Refresh容器组件可以进行页面下拉操作并显示刷新动效。(√)
22. Swiper是可滚动的容器组件,当子组件的布局尺寸超过父组件的尺寸时,内容可以滚动(×)
23. 部件是指在部署视图中具有相对独立性,能完成一定功能的可独立交付,并且能独立部署的软件实体。(×)
24. 当Button组件类型为Capsule胶囊型按钮时,borderRadius设置不生效,按钮圆角始终为高度的一半。(√)
25. 用@Entry装饰的自定义组件用作页面的默认入口组件,加载页面时,将首先创建并呈现@Entry装饰的自定义组件,在单个源文件中,有且仅有一个@Entry。(√)
26. 根据设备的内存差异,OpenHarmony适配的系统类型分为三类:轻量系统、小型系统、标准系统。(√)
单选题
27. 在低代码开发模式下,开发者想在Button组件上绑定一个名为“onChange”的点击事件,该开发者可以在哪个属性栏中进行方法关联绑定?
A. Flex
B. Event
C. General
D. Feature
答案:B
28. 某开发者想测试一下@Preview作用的组件,编写了如下代码,以下哪一项是在组件模式预览的内容?
@Entry @Component struct index { @State message: string = 'Hello World' build() { Row() { Column() { test1() test2() Text(this.message) .fontSize(50) .fontWeight(FontWeight.Bold) } .width('100%') } .height('100%') } } @Preview @Component struct test1{ build(){ Text("你好HarmonyOS") .fontColor(Color.Blue) .fontSize(30) } } @Component struct test2{ build(){ Text("开始学习吧") .fontColor(Color.Red) .fontSize(30) } }
A. Hello World
B. 你好HarmonyOS
C. 你好HarmonyOS开始学习吧
D. 开始学习吧
答案:B
29. 对于justify-content样式,下列哪一项描述是错误的?
A. justify-content:space-between两端对齐,子元素之间间距都相等。
B. justify-content样式的默认值是:flex-start。
C. justify-content:flex-end:子元素左对齐。
D. justify-content样式可以设置子元素在主轴方向上的对齐方式。
答案:C
30. 以下Ability生命周期回调中,哪一项在Ability启动时被调用?
A. onWindowStageCreate
B. onDestroy
C. onCreate
D. onWindowStageDestroy
答案:A
31. 某开发者自定义了test1组件,代码如下,如果在其他组件内进行调用test1,下列选项中正确的是哪一项?
@Component struct test1{ build(){ Text("你好HarmonyOS") .fontColor(Color.Blue) .fontSize(30) } }
A. .test1()
B. test1
C. test1()
D. @Component test1()
答案:C
32. 以下哪一个文件可以用于查看HAP包的配置信息、应用/服务在具体设备上的配置信息以及应用/服务的全局配置信息?
A. module.json
B. hvigorfile.ts
C. build-profile.json
D. Ability.test.ets
答案:A
33. 开发者在开发应用时,会为组件配置属性,如fontSize()、width()、height()、color()等,在DevEco Studio工具中通过以下哪种方式在组件后面配置UI的属性?
A. #
B. *
C. &
D. .
答案:D
34. 某开发者使用ArkTS UI下的自定义弹窗设计了手机电量低于20%的提醒弹窗,代码如下, 以下哪一项代码填入横线处可以正常显示自定义弹窗?
// 定义自定义弹窗组件 CustomDialogExample @CustomDialog struct CustomDialogExample { ...... // 主页面 @Entry @Component struct CustomDialogUser { //导入对象dialogController dialogController: CustomDialogController = new CustomDialogController({ ...... build() { Column() { Button(this.inputValue) .onClick(() => { ______ //点击按钮,弹出弹窗 }) } } }
A. CustomDialogExample.open()
B. this.CustomDialogController .open()
C. this.dialogController.open()
D. this.@CustomDialog.open()
答案:C
35. 某开发者使用低代码模式进行开发,他可以在以下哪一个属性栏中设置组件的特有样式?
A. Flex
B. Feature
C. Event
D. General
答案:B
36. 某开发者使用低代码模式进行开发,想往Text组件上绑定数据,以下哪一项可以在关联的ets文件中正确定义变量?
A. title:string = ‘Hello world'
B. @struct string: title = ‘Hello world'
C. @State title:string = ‘Hello world'
D. @State string: title = ‘Hello world'
答案:C
37. DevEco Studio工程目录结构提供多种视图,以下哪一种视图是工程创建后默认展示的目录结构视图?
A. Project视图
B. ArkUI视图
C. Packages视图
D. HarmonyOS视图
答案:A
38. 某小学需要在LED大屏上插入滚动播放效果的文字,进行学校活动通知,以下哪一项组件可以实现该功能?
A. Text
B. Image
C. Slider
D. Marquee
答案:D
39. 以下哪一个选项可以修改所有的Text组件的颜色为红色?
A. color: red;
B. }
C. .text{color: red;}
D. }
E. text .all{
F. text{color: red;}
G. #text{
H. color: red;
答案:F
40. 某开发者需要将数据展示为环形图表,可以使用以下哪一项组件实现该功能?
A. Progress
B. DatePicker
C. DataPanel
D. Gauge
答案:D
多选题
41. 下列哪几项是DevEco Studio提供的调试与开发工具?
A. 本地真机
B. 预览器
C. 本地模拟器
D. 远程模拟器
答案:ABCD
42. 在Stage模型中,Ability的生命周期回调函数有哪些?
A. onWindowStageDestroy
B. onCreate
C. onBackground
D. onDestroy
答案:ABCD
43. 在Stage模型下,AbilityContext具备以下哪几项能力?
A. Ability的启动
B. 获取caller通信接口
C. 拉起弹窗请求用户授权
D. Ability的停止
答案:ABCD
44. 一个HAP在工程目录中对应一个Module,由代码、资源、第三方库及应用配置文件组成,它可以分为哪两种类型?
A. PA
B. FA
C. Entry
D. Feature
答案:CD
45. 某开发者使用ArkTS语言实现了文本内容从“Hello World”变为“Hello ArkTS”,相关代码如下,下列选项中描述正确的是哪几项?
@Entry @Component struct Hello { @State myText: string = 'World' build() { Column() { Text("Hello") .fontSize(50) Text(this.myText) .fontSize(50) Divider() Button() { Text("Click me") .fontSize(30) } .onClick(() => { this.myText = "ArkTS" }) .width('200%') .height('10%') } } }
A. fontSize()、width()、height()是属性方法
B. @bulid以下的代码都属于UI描述
C. onClick是事件方法
D. @Entry和@State均属于装饰器
答案:ABCD
46. 下列组件中,哪几项属于容器组件?
A. List
B. Row
C. Column
D. Flex
答案:ABCD
47. 某开发者设计了一款社交软件,登录界面如下,该登录界面涉及哪些组件?
A. Checkbox
B. Text
C. Button
D. TextInput
答案:ABCD
48. 以下哪几项属于滚动类组件?
A. Scroll
B. Grid
C. Swiper
D. List
答案:ABCD
49. HarmonyOS可以通过架构分层间的接口定义,对操作系统进行大颗粒系统解构。以下哪些选项是内核层向上提供的标准接口?
A. POSIX
B. HDI
C. CMSIS
D. DDK
答案:ABC
50. 某开发者开发了如下代码,请阅读以下代码,关于该段代码描述正确的是哪几项?
@Entry @Component struct Second { @State sizeNum :number = 45 @State count :number = 60 @State offsetNum :number = 50 build() { Row() { Column() { Text('hello') .fontSize(this.sizeNum) Image($r("app.media.icon1")) .width(this.count % 2 === 0 ? 100 : 200) .height(this.offsetNum + 100) } .width('100%') } .height('100%') } }
A.页面中文字显示在图片上方,并且文字大小为60vp
B. 图片资源来源于media文件夹下名叫"icon1"的图片
C. 图片的宽度为100vp
D. 图片的高度为145vp
答案:BC
51. 开发者可以利用工具中的预览器进行代码调试,以下哪几项选项是对预览器功能的正确描述?
A. 支持动态预览,在Previewer中预览时,可以操作应用简单的交互动作。
B. 预览器提供了Profile Manager功能,支持开发者自定义预览设备Profile。
C. 选定EntryAbility.ts文件,单击View>Tool Windows>Previewer,预览器打开。
D. 预览器提供HarmonyOS应用/服务的UI预览界面与源代码文件间的双向预览功能,支持ets文件、hml文件预览器界面进行双向预览。
答案:ABD
52. 以下哪些能力是AbilityContext所具备的?
A. Ability的停止
B. Ability的启动
C. 拉起弹窗请求用户授权
D. 获取caller通信接口
答案:ABCD
53. 在万物智联时代重要机遇期,鸿蒙系统结合移动生态发展的趋势,提出了哪三大技术理念?
A. 统一生态 原生智能
B. 一次开发 多端部署
C. 硬件互助 资源共享
D. 可分可合 自由流转
答案:ABC
这个问题在之前的测试中答ABD判定回答正确
技术理念:一次开发 多端部署;可分可合 自由流转;统一生态 原生智能;
技术特性:一次开发 多端部署;硬件互助 资源共享;统一OS 弹性部署;
54. HarmonyOS应用支持经典的弹性布局,下列哪几项是关于该布局的错误描述?
A. 一个元素的display属性值设置为flex,那么这个元素中的子元素,就会遵循弹性布局的规则。
B. 如果在父容器宽度足够时,也可以通过flex-wrap:wrap;设置来换行。
C. 主轴永远是水平方向。
D. 弹性盒子中默认存在两根轴,一个是水平方向的主轴,一个是垂直方向的侧轴。
答案:BC
55. 分布式功能是HarmonyOS的亮点之一,DevEco Studio为此提供了多种方式,以便于开发者可以同时将代码在不同设备上进行预览。以下那几项是关于多端设备预览器的正确说法?
A. 多端设备预览支持页面内动画的预览。
B. 打开Profile Manager中的Multi-profile preview开关,即可同时查看多设备上的应用/服务运行效果。
C. 两个设备支持的编码语言不同,也可以使用多端设备预览功能。
D. 多设备预览时,不支持双向预览功能。
答案:BD
56. 以下哪几项属于@Component的特点?
A. 数据驱动更新
B. 生命周期
C. 可重用
D. 可组合
答案:ABCD
57. DevEco Studio提供模拟器供开发者运行和调试HarmonyOS应用/服务,以下哪几项是对模拟器功能错误的描述?
A. Remote Emulator每次使用时长为2小时,到期前可申请延长使用时间。
B. Remote Emulator需要耗费一定的计算机磁盘资源。
C. 打开模拟器前的统一操作,进行华为开发者账号登授权。
D. Local Emulator在运行和调试应用/服务时,由于没有网络数据的交换,因此可以保持很好的流畅性和稳定性。
答案:BC
58. HarmonyOS从用户和开发者视角出发,开发出了一款面向万物互联时代的操作系统。以下哪两个选项是HarmonyOS基于这两个视角提出的设计理念?
A. 开发者最小代价原则
B. 消费者安全最高原则
C. 消费者体验最佳原则
D. 开发者最大效率原则
答案:AC
59. DevEco Studio提供模拟器进行应用运行调试,开发者可以通过菜单栏中的Tools栏下,找到Device Manager来打开模拟器,以下哪些选项是DevEco Studio支持提供的模拟器类型?
A. 远程模拟器
B. 超级终端远程模拟器
C. 本地模拟器
D. 远程真机
答案:ABC
60. 以下哪几项属于Previewer预览器支持的功能?
A. 动态预览
B. 播放视频
C. 查看ArkTS组件预览效果
D. 播放语音
答案:AC
这个问题之前这么答是正确的,但是这里提示回答错误
61. 请阅读以下代码,描述正确的是哪几项?
// xxx.ets @Entry @Component struct CounterExample { @State value: number = 0 build() { Column() { Counter() { Text(this.value.toString()) }.margin(100) .onInc(() => { this.value++ }) .onDec(() => { this.value-- }) }.width("100%") } }
A. Counter是一个容器组件
B. onDec用于监听数值减少事件
C. onInc用于监听数值增加事件
D. 可以实现增加或者减少的计数操作
答案:ABCD
62. @State装饰的变量是组件内部的状态数据,当这些状态数据被修改时,将会调用所在组件的build方法进行UI刷新。以下哪几项属于@State的特征?
A. 内部私有
B. 支持多种数据类型
C. 不需要本地初始化
D. 支持多实例
答案:ABD
63. 某开发者准备开发一款简易计算器,可以通过以下哪几项组件实现该功能?
A. Text
B. GridItem
C. Grid
D. Gauge
答案:ABC
64. 某开发者编写了如下代码,下列选项中哪几项属于装饰器?
A. @State
B. Struct
C. @Entry
D. @Component
答案:ACD
65. @Prop装饰器可以在修改父组件关联数据时,更新当前组件的UI,以下哪几项属于@Prop的特征?
A. 可以进行单向数据绑定
B. 可以与父组件@State变量建立双向数据绑定
C. 仅支持组件内访问
D. 支持多个实例
答案:ACD
66. 请阅读以下代码,下列选项描述正确的是哪几项?
// xxx.ets @Entry @Component struct BadgeExample { @State counts: number = 1 @State message: string = 'new' build() { Column() { Text('numberBadge').width('80%') Row({ space: 10 }) { Badge({ count: this.counts, maxCount: 99, position: BadgePosition.RightTop, style: { color: 0xFFFFFF, fontSize: 16, badgeSize: 20, badgeColor: Color.Red } }) { Button('message') .onClick(() => { this.counts++ })
A. Badge组件可以附加在单个组件上用于信息标记
B. 当消息数大于99时,message上标显示圆点标记
C. 点击message按钮,数字上标会增加。
D. 当消息数大于99时,message上标显示99+
答案:ACD
补充
27. 【单选题】下列哪一项组件提供了一系列属性方法来设置页面的标题栏、工具栏以及菜单栏的各种展示样式?
A. LoadingProgress
B. Navigation
C. Badge
D. Counter
答案:B
33. 【单选题】手机调节音量时,有如下效果,下列哪一项组件可以实现该功能?
A. Toggle
B. Stepper
C. Span
D. Slider
答案:D
39. 【单选题】ArkUI框架提供了堆叠容器组件,请阅读以下代码,下列选项中运行结果正确的是哪一项?
// xxx.ets @Entry @Component struct StackExample { build() { Stack({ alignContent: Alignment.TopStart }) { Text('Text1') .width(200) .height(180) .textAlign(TextAlign.End) .backgroundColor("#aabbcc") Text('Text2') .width(130) .height(100) .textAlign(TextAlign.End) .backgroundColor('#bbccaa’) Text('Text3') .width(60) .height(45) .textAlign(TextAlign.End) .backgroundColor('#abcabc') } .backgroundColor(Color.Pink) .width("100%") .height('200') } }
A. [52]
B. [51]
C. [54]
D. [53]
答案:D
HCIA:一小时快速入门HarmonyOS应用开发
判断题
1. 某开发者在开发模块服务卡片应用时,需要注意该应用的免安装的HAP包不能超过10MB(√)
2. 低代码开发模式下,可视化布局界面可以与布局文件一键互相转换,从而帮助开发者减少重复性的代码编写,快速地构建多端应用程序。(×)
3. 某开发者使用部署在云端上的P40真机设备资源进行应用调试。过了一段时间之后,由于资源受限,他需要释放掉当前资源后,重新申请P40设备运行应用。此时他可以沿用之前的应用签名。(×)
单选题
1. OpenHarmonyOS适配的系统类型中支持的设备最小内存为128 MiB的是哪一个系统?
A. 轻量系统
B. 小型系统
C. 标准系统
D. 大型系统
答案:C
2. DevEco Studio中的预览器工具提供多端设备同时预览的功能,以下哪一项是关于多端设备预览器的错误描述?
A. 多端设备预览器不支持展示页面动画效果。
B. 多端设备预览最多同时支持4个设备的预览。
C. 如果选择的两个设备所支持的编码语言不同,将不能开启多端设备预览功能。
D. 多端设备预览器支持双向预览功能。
答案:D
多选题
1. HarmonyOS作为一款面向万物互联时代的、全新的分布式操作系统,它具备哪三大技术特性?
A. 一次开发 多端部署
B. 统一OS,弹性部署
C. 硬件互助 资源共享
D. 统一生态 原生智能
答案:ABC
对话专家!HCIA认证解读独家大放送
判断题
1. 某开发者在开发模块服务卡片应用时,需要注意该应用的免安装的HAP包不能超过10MB(√)
2. 低代码开发模式下,可视化布局界面可以与布局文件一键互相转换,从而帮助开发者减少重复性的代码编写,快速地构建多端应用程序。(×)
3. 某开发者使用部署在云端上的P40真机设备资源进行应用调试。过了一段时间之后,由于资源受限,他需要释放掉当前资源后,重新申请P40设备运行应用。此时他可以沿用之前的应用签名。(×)
单选题
1. 某开发者想为开发应用添加一个动态加载页面,请问可以在以下哪一项配置文件中修改应用初始化页面路径?
A. build-profile.json5
B. module.json5
C. Entryability.ts
D. hvigorfile.ts
答案:C
2. 某开发者构建了两个自定义组件btton1,btton2。以下哪一项代码填入横线处可以使自定义组件正确被调用?
@Entry @Component struct Index { @State message: string = '欢迎学习' build() { Row() { Column() { ______ Text(this.message) .fontSize(50) .fontWeight(FontWeight.Bold) ______ } .width('100%') } .height('100%') } }
A. Button1;Button2
B. .Button1;.Button2
C. .button1;.button2
D. button1();button2()
答案:D
3. 以下哪一项生命周期回调函数会在创建自定义组件的新实例后,在执行其build函数之前执行?
A. onBackPress()
B. onPageShow()
C. aboutToDisappear()
D. aboutToAppear()
答案:D
4. 请阅读以下代码,该段代码中存在几个内置组件?
@Entry @Component struct demo { @State message: string = 'Hello World' build() { Column() { Row() { Text(this.message) .width(100) .height(100) Divider() Text('click +1') .onClick(() => { console.info('click +1') }) } Divider() Column() { Image('demo.jpg') .width(20) .height(20) Blank() } } } }
A. 3
B. 6
C. 8
D. 9
答案:D
5. 某开发者设计了为应用添加了一个购物车功能,可以使用Counter组件实现对购物车商品数的添加以及减少。以下哪一项回调中可以设置对应变量的减少计数操作?
A. onInc()
B. onDec()
C. onAdd()
D. onChange()
答案:B
多选题
1. 跑马灯组件可以用于展示一段可往左或往右单行滚动的文字,loop属性可以被用于设置文字的滚动次数,以下哪几个选项可以设置文字无限滚动?
A. 10000000
B. 1
C. 0
D. -10000
答案:CD
2. ArkTS的装饰器提供了丰富多样的能力,以下哪几项状态变量初始化方式上必须使用本地初始化方式?
A. @Provide
B. @Link
C. @ObjectLink
D. @State
答案:AD
HCIP-HarmonyOS应用开发高级工程师V1.0模拟考试
判断题
1. i18n是一种趋同的设计方式,通过一种方案去满足不同国家的需求。(×)
2. 跨端迁移是一种实现用户应用程序流转的技术方案,指多端上FA/PA同时运行、或者交替运行实现完整的业务。(×)
3. 在HarmonyOS的分布式协同办公场景中,一份文件可以在多个终端操作,而实际的文件存储可以有且仅有一份。(√)
4. HarmonyOS Connect继承了HiLink的碰一碰、快速连接的功能体验,而在连接技术上,HarmonyOS Connect使用了HarmonyOS的分布式软总线连接能力。(√)
5. HarmonyOS应用在跨端迁移后,原设备上的应用需要自行退出。(√)
6. HarmonyOS跨端迁移和多端协同,是使用不同的FA/PA,在不同设备间运行来实现完整的业务。(×)
7. HarmonyOS应用可以直接读取日历信息,不需要单独配置权限。(×)
8. 声明式开发范式的属性动画需要在css样式文件中设置。(×)
9. 在HarmonyOS流转中,如果对端设备不支持流转任务管理服务,则不能进行跨端迁移。(×)
10. 在HarmonyOS有序公共事件中,高优先级订阅者可修改公共事件内容或处理结果,但不能终止公共事件处理。(×)
11. 在HarmonyOS中发布带权限公共事件,发布者首先要在config.json中申请所需的权限。(×)
12. 在真机上运行Release类型的HAP包需要签名,运行Debug类型的HAP包则不需要签名。(×)
13. 在类Web开发范式的自定义组件中,父组件和子组件之间的数据可以双向传递。(×)
14. 类Web开发范式中的自定义组件引入到宿主页面时,必须使用属性指定自定义组件名称(×)
15. 在HarmonyOS中,当订阅动作是在无序公共事件发布之后进行,订阅者也能收到该无序公共事件。(×)
单选题
16. 在声明式开发范式中,可以通过以下哪个参数,设置属性动画的播放次数?
A. duration
B. iterations
C. curve
D. delay
答案:B
17. 以下哪一项产品属于智能家居生态中的家庭中控交互中心?
A. 智能摄像头
B. 智能面板
C. 智能牙刷
D. 扫地机
答案:B
18. 以下哪种原子化布局能力属于自适应变化能力?
A. 拉伸
B. 拆行
C. 隐藏
D. 占比
答案:A
HarmonyOS 设计工具提供了原子化布局能力,划分为“自适应变化能力”和“自适应布局能力”两类。自适应变化能力包含了缩放能力和拉伸能力,自适应布局能力包含了隐藏、折行、均分、占比和延伸能力。
19. HarmonyOS设备A上的应用通过调用分布式任务调度的能力startAbility,向设备B的应用发起多端协同,此过程属于多端协同的哪个过程?
A. 流转进行
B. 流转结束
C. 流转完成
D. 流转准备
答案:A
跨端迁移
1.流转准备:设备A上的应用向流转任务管理服务注册一个流转回调
2.流转完成:设备A上的应用通过调用分布式任务调度的能力,如continueAbility等,向设备B的应用发起跨端迁移。流转中将流转状态上报到流转任务管理服务
多端协同
1.流转准备:设备A上的应用向流转任务管理服务注册一个流转回调
2.流转进行:设备A上的应用通过调用分布式任务调度的能力,如startAbility, connectAbility等,向设备B的应用发起多端协同。流转中将流转状态上报到流转任务管理服务。
3.流转结束:用户通过设备A的流转任务管理界面结束流转。用户点击结束任务后,流转任务管理服务回调通知应用取消流转。设备A上的应用通过调用分布式任务调度的能力,如stopAbility, disconnectAbility等,终止和设备B的多端协同。流转结束后将流转状态上报到流转任务管理服务,并向流转任务管理服务注销流转回调。
20. 在类Web开发范式自定义组件的生命周期回调方法中,以下哪一项生命周期可用于初始化显示相关数据,通常用于加载图片资源、开始执行动画等场景?
A. onAttached
B. onInit
C. onDetached
D. onLayoutReady
答案:A
21. 某HarmonyOS开发者想要使用https请求,需要导入以下哪个模块?
A. @ohos.net.http
B. @ohos.request
C. @ohos.net.webSocket
D. @ohos.net.https
答案:A
22. JS服务卡片在以下哪个选项中进行加载渲染?
A. 卡片代理服务
B. 卡片提供方
C. 卡片处理方
D. 卡片使用方
答案:D
23. 以下哪种原子化布局能力是控制元素的尺寸?
A. 均分
B. 拆行
C. 隐藏
D. 缩放
答案:D
24. 通过以下哪个接口可以一次性查询到HAP包下所有Ability的信息?
A. bundleManager.queryAbilityByWant
B. bundleManager.getBundleInfo
C. bundleManager.getAbilityInfo
D. bundleManager.getApplicationInfo
答案:B
25. 在HarmonyOS流转架构中,以下哪个模块提供远程服务启动、远程服务连接、远程迁移等能力?
A. 分布式安全
B. 流转任务管理服务
C. 分布式软总线
D. 分布式任务调度
答案:D
26. 以下哪一项是DevEco Studio开发工具的性能分析器?
A. Debugger
B. Profiler
C. HiTrace
D. Simulator
答案:B
27. 以下哪个公共事件发布后,订阅者再发起订阅还能收到之前发布的公共事件?
A. 带权限的公共事件
B. 粘性公共事件
C. 无序公共事件
D. 有序公共事件
答案:B
28. 类Web开发范式中的自定义组件使用以下哪个标签引入到宿主页面?
A. elem
B. element
C. comp
D. component
答案:B
29. 视频来电时从手机迁移到智慧屏,视频聊天体验更佳,手机视频应用退出。该场景中使用了HarmonyOS的哪一项流转方案?
A. 跨端协同
B. 跨端迁移
C. 多端迁移
D. 多端协同
答案:B
30. 在类Web开发范式的自定义组件中,父组件通过设置属性向子组件传递参数,该开发者自定义的属性名称为compProp,在父组件引用时需要将属性名称转换为下列哪一项?
A. CompProp
B. comp-prop
C. compProp
D. compprop
答案:B
31. 以下哪一个工具可以提供兼容性测试报告,用于验证HarmonyOS应用在华为真机设备上运行的兼容性问题,包括首次安装、再次安装、启动、卸载等场景?
A. HarmonyOS测试框架
B. 应用云测试
C. 应用安全测试
D. Profiler
答案:B
32. 以下哪个HarmonyOS的AI能力可以提供文档翻拍过程中的辅助增强功能?
A. 分词
B. 文档检测矫正
C. 图像超分辨率
D. 通用文字识别
答案:B
33. 以下哪一种数据库的Key前面拼接了本设备的DeviceID标识符?
A. 轻量级数据存储
B. 单版本分布式数据库
C. 关系型数据库
D. 设备协同分布式数据库
答案:D
34. 以下哪一个选项是类Web开发范式的绘图组件svg中绘制椭圆形状的子组件?
A. circle
B. rect
C. ellipse
D. line
答案:C
35. 以下哪一种动态布局属于自适应动态布局?
A. 重复布局
B. 瀑布布局
C. 相对拉伸
D. 挪移布局
答案:C
多选题
36. 在声明式开发范式中,以下哪些装饰器装饰的自定义组件成员变量必须本地初始化?
A. @Link
B. @StorageLink
C. @State
D. @Prop
答案:BC
37. 以下哪几项属于HarmonyOS Connect服务包提供的基础服务?
A. 运维服务
B. 极简交互
C. 极简连接
D. 万能卡片
答案:BCD
HarmonyOS Connect 服务包由基础服务、增强服务、HarmonyOS Connect 云等组成。
基础服务:极简连接、万能卡片、极简交互、硬件互助
增强服务:运维服务、运营服务、专属场景服务
38. HarmonyOS服务卡片提供方包含以下哪几个模块?
A. 卡片服务
B. 通信适配层
C. 卡片管理
D. 卡片提供方实例管理模块
答案:ABD
39. 声明式开发范式的转场动画包含以下哪几种类型?
A. 组件内转场
B. 应用间转场
C. 共享元素转场
D. 页面间转场
答案:ACD
40. 在声明式开发范式中,页面间转场通过在全局pageTransition方法内配置以下哪几个组件来自定义页面转场动效?
A. onEnter
B. PageTransitionExit
C. onExit
D. PageTransitionEntry
答案:BD
41. 当HarmonyOS设备不支持流转任务管理服务时,开发者需要自行实现以下哪些功能?
A. 分布式安全
B. 流转状态管理
C. 设备选择
D. 分布式软总线
答案:BC
42. HarmonyOS的NotificationSlot包含以下哪几种类型?
A. 其他类型
B. 社交通信
C. 内容咨询
D. 服务提醒
答案:ABCD
43. HarmonyOS分布式数据服务通过以下哪几项,将不同应用的数据进行隔离?
A. 设备
B. 账号
C. 应用
D. 数据库
答案:BCD
44. HarmonyOS设计工具是一款Sketch插件,包含以下哪几种功能?
A. 设计系统
B. 原子化布局
C. 标注工具
D. 控件库
答案:ABCD
45. HarmonyOS通知内容包含以下哪几种类型?
A. 图片
B. 多行文本
C. 普通文本
D. 长文本
答案:ABCD
答的ABD回答错误
46. HarmonyOS流转任务管理服务为开发者提供了以下哪几项功能?
A. 上报业务状态
B. 解注册
C. 注册
D. 显示设备列表
答案:ABCD
47. HarmonyOS分布式数据服务包含以下哪几项?
A. 分布式数据服务接口
B. 通信适配层
C. 同步组件
D. 存储服务
答案:ABCD
48. HarmonyOS提供的包管理能力包含以下哪些信息?
A. Ability信息
B. 应用程序信息
C. HAP包信息
D. 应用包信息
答案:ABCD
49. DevEco Studio性能分析器能够对以下哪几方面资源进行使用率分析?
A. 电池
B. 内存
C. CPU
D. 网络
答案:ABCD
50. HarmonyOS多窗口交互能力提供了以下哪几种交互方式?
A. 全局消息通知
B. 悬浮窗
C. 平行视界
D. 分屏
答案:BCD
补充
1. 【判断题】HarmonyOS的方舟开发框架包含基于TS扩展的类Web开发范式和基于JS扩展的声明式开发范式。(×)
10. 【判断题】HarmonyOS原子化布局包含自适应变化和自适应布局两类。(√)
15. 【判断题】HarmonyOS服务卡片使用方可以通过通信适配层和卡片提供方直接交互。(×)
39. 【多选题】类Web开发范式中的自定义组件绑定子组件事件使用的是以下哪几种语法?
A. on
B. #
C. $
D. @
答案:AD