鸿蒙开发基础认证 课后习题汇总

这篇具有很好参考价值的文章主要介绍了鸿蒙开发基础认证 课后习题汇总。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

【习题】运行Hello World工程 

判断题

单选题

多选题

该小节补充知识:

【习题】ArkTS基础知识 

判断题

单选题

多选题

该小节补充知识:

基本概念

状态管理

页面级变量的状态管理

应用级变量的状态管理:


【习题】运行Hello World工程 

及格分85/ 满分100

判断题

1. DevEco Studio是开发HarmonyOS应用的一站式集成开发环境。

正确(True)  错误(False)

回答正确

2. main_pages.json存放页面page路径配置信息。

正确(True)  错误(False)

回答正确

单选题

1. 在stage模型中,下列配置文件属于AppScope文件夹的是?

A. main_pages.json  (存储在:XX/entry/src/main/resources/base/profile/main_pages.json)

B. module.json5  (是模块级的配置文件,存储在XX/entry/src/main/module.json5)

C. app.json5

D. package.json

回答正确

多选题

1. 如何在DevEco Studio中创建新项目?

A. 在计算机上创建一个新文件,并将其命名为“new harmonyOS项目”

B. 如果已打开项目,从DevEco Studio菜单选择'file>new>Create Project'

C. 如果第一次打开DevEco Studio,在欢迎页点击“Create new Project”

回答正确

2. module.json5配置文件中,包含了以下哪些信息?

A. ability的相关配置信息

B. 模块名

C. 应用的版本号

D. 模块类型

回答正确

该小节补充知识:

module.json5文件格式大致如下。(应用的版本号信息在app.json5文件当中

{
  "module": {
    "name": "entry",
    "type": "entry",
    "description": "$string:module_desc",
    "mainElement": "EntryAbility",
    "deviceTypes": [
      "phone"
    ],
    "deliveryWithInstall": true,
    "installationFree": false,
    "pages": "$profile:main_pages",
    "abilities": [
      {
        "name": "EntryAbility",
        "srcEntry": "./ets/entryability/EntryAbility.ts",
        "description": "$string:EntryAbility_desc",
        "icon": "$media:icon",
        "label": "$string:EntryAbility_label",
        "startWindowIcon": "$media:icon",
        "startWindowBackground": "$color:start_window_background",
        "exported": true,
        "skills": [
          {
            "entities": [
              "entity.system.home"
            ],
            "actions": [
              "action.system.home"
            ]
          }
        ]
      }
    ],
	"requestPermissions": [
      {
        "name": "ohos.permission.INTERNET",
      }
    ]
  }
}

app.json5

{
  "app": {
    "bundleName": "com.example.simplevideo",
    "vendor": "example",
    "versionCode": 1000000,
    "versionName": "1.0.0",
    "icon": "$media:app_icon",
    "label": "$string:app_name"
  }
}

【习题】ArkTS基础知识 

及格分85/ 满分100

判断题

1. 循环渲染ForEach可以从数据源中迭代获取数据,并为每个数组项创建相应的组件。

正确(True)  错误(False)

回答正确

2.  @Link变量不能在组件内部进行初始化。

正确(True)  错误(False)

回答正确

单选题

1. 用哪一种装饰器修饰的struct表示该结构体具有组件化能力?

A. @Component

B. @Entry

C. @Builder

D. @Preview

回答正确

2. 用哪一种装饰器修饰的自定义组件可作为页面入口组件?

A. @Component

B. @Entry

C. @Builder (ArkUI提供的一种更轻量的UI元素复用机制@Builder,@Builder所装饰的函数遵循build()函数语法规则,开发者可以将重复使用的UI元素抽象成一个方法,在build方法里调用。

D. @Preview

回答正确

多选题

1. 下面哪些函数是自定义组件的生命周期函数?(ABCDE)

A. aboutToAppear

B. aboutToDisappear

C. onPageShow

D. onPageHide

E. onBackPress

回答正确

2. 下面哪些装饰器可以用于管理自定义组件中变量的状态?(CD)

A. @Component

B. @Entry

C. @State 修饰的状态数据被修改时会触发组件的build方法进行UI界面更新。装饰内容为基本数据类型,类,数组

D. @Link 父子组件之间的双向数据绑定,父组件的内部状态数据作为数据源,任何一方所做的修改都会反映给另一方。装饰内容为基本数据类型

回答正确

该小节补充知识:

详情参考官网状态管理

基本概念
  • struct:自定义组件可以基于struct实现,不能有继承关系,对于struct的实例化,可以省略new。

  • 装饰器:装饰器给被装饰的对象赋予某一种能力,其不仅可以装饰类或结构体,还可以装饰类的属性。多个装饰器可以叠加到目标元素上,定义在同一行中或者分开多行,推荐分开多行定义。

@Entry
@Component
struct MyComponent {
}
  • build函数:自定义组件必须定义build函数,并且禁止自定义构造函数。build函数满足Builder构造器接口定义,用于定义组件的声明式UI描述。

interface Builder {
build: () => void
}
  • @Component:装饰struct,结构体在装饰后具有基于组件的能力,需要实现build方法来创建UI。

  • @Entry: 装饰struct,组件被装饰后作为页面的入口,页面加载时将被渲染显示。

  • @Preview:装饰struct, 用@Preview装饰的自定义组件可以在DevEco Studio的预览器上进行实时预览,加载页面时,将创建并显示@Preview装饰的自定义组件。

    TIPS:在单个源文件中,最多可以使用10个@Preview装饰自定义组件,更多说明请参考查看ArkTS组件预览效果

  • 链式调用:以 "." 链式调用的方式配置UI组件的属性方法、事件方法等。

状态管理

鸿蒙应用中的状态管理分成页面级别的状态管理应用级别的状态管理

页面级变量的状态管理

装饰器

装饰内容

说明

@State

基本数据类型,类,数组

修饰的状态数据被修改时会触发组件的build方法进行UI界面更新。

@Prop

基本数据类型

修改后的状态数据用于在父组件和子组件之间建立单向数据依赖关系。修改父组件关联数据时,更新当前组件的UI。

@Link

基本数据类型,类,数组

父子组件之间的双向数据绑定,父组件的内部状态数据作为数据源,任何一方所做的修改都会反映给另一方。

@Observed

@Observed应用于类,表示该类中的数据变更被UI页面管理。

@ObjectLink

被@Observed所装饰类的对象

装饰的状态数据被修改时,在父组件或者其他兄弟组件内与它关联的状态数据所在的组件都会更新UI。

@Consume

基本数据类型,类,数组

@Consume装饰的变量在感知到@Provide装饰的变量更新后,会触发当前自定义组件的重新渲染。

@Provide

基本数据类型,类,数组

@Provide作为数据的提供方,可以更新其子孙节点的数据,并触发页面渲染。

应用级变量的状态管理:

AppStorage是整个UI应用程序状态的中心“数据库”,UI框架会针对应用程序创建单例AppStorage对象,并提供相应的装饰器和接口供应用程序使用。

  • @StorageLink:@StorageLink(name)的原理类似于@Consume(name),不同的是,该给定名称的链接对象是从AppStorage中获得的,在UI组件和AppStorage之间建立双向绑定同步数据。
  • @StorageProp:@StorageProp(name)将UI组件属性与AppStorage进行单向同步,AppStorage中值的更改会更新组件中的属性,但UI组件无法更改AppStorage中的属性值。

【习题】应用程序框架 

及格分85/ 满分100

判断题

1. 一个应用只能有一个UIAbility。

正确(True) 错误(False)

回答正确

2. 创建的Empty Ability模板工程,初始会生成一个UIAbility文件。

正确(True) 错误(False)

回答正确

3. 每调用一次router.pushUrl()方法,页面路由栈数量均会加1。

正确(True)  错误(False) (不一定会加1,需要看使用的模式是 单实例 还是 多实例

回答正确

单选题

1. API9及以上,router.pushUrl()方法,默认的跳转页面使用的模式是哪一种?

A. standard

B. Single

C. Specified

回答正确

2. UIAbility启动模式需要在module.json5文件中配置哪个字段?

A. module

B. skills

C. launchType

D. abilities

回答正确

多选题

1. API9及以上,router.pushUrl()方法的mode参数可以配置为以下哪几种跳转页面使用的模式?

A. Standard

B. Single

C. Specified

回答正确

2. UIAbility的生命周期有哪几个状态?

A. Create

B. WindowStageCreate

C. Foreground

D. Background

E. WindowStageDestroy

F. Destroy

回答正确

3. UIAbility有哪几种的启动模式

A. multiton

B. singleton

C. specified

该小节补充知识:
UIAbility概述

        UIAbility是一种包含用户界面的应用组件,主要用于和用户进行交互。UIAbility也是系统调度的单元,为应用提供窗口在其中绘制界面。

router.pushUrl()的mode参数

API9及以上,router.pushUrl()方法新增了mode参数,可以将mode参数配置。router.RouterMode.Single单实例模式和router.RouterMode.Standard多实例模式。

        在单实例模式下:如果目标页面的url在页面栈中已经存在同url页面,离栈顶最近同url页面会被移动到栈顶,移动后的页面为新建页,原来的页面仍然存在栈中,页面栈的元素数量不变;如果目标页面的url在页面栈中不存在同url页面,按多实例模式跳转,页面栈的元素数量会加1。

UIAbility的生命周期

        为了实现多设备形态上的裁剪和多窗口的可扩展性,系统对组件管理和窗口管理进行了解耦。UIAbility的生命周期包括Create、Foreground、Background、Destroy四个状态,WindowStageCreate和WindowStageDestroy为窗口管理器(WindowStage)在UIAbility中管理UI界面功能的两个生命周期回调,从而实现UIAbility与窗口之间的弱耦合。

Foreground和Background状态,分别在UIAbility切换至前台或者切换至后台时触发。

分别对应于onForeground回调和onBackground回调。

①:onForeground回调,在UIAbility的UI页面可见之前,即UIAbility切换至前台时触发。可以在onForeground回调中申请系统需要的资源,或者重新申请在onBackground中释放的资源。

②:onBackground回调,在UIAbility的UI页面完全不可见之后,即UIAbility切换至后台时候触发。可以在onBackground回调中释放UI页面不可见时无用的资源,或者在此回调中执行较为耗时的操作,例如状态保存等。

UIAbility的启动模式

注意此处和上面的pushUrl的模式不同

对于浏览器或者新闻等应用,用户在打开该应用,并浏览访问相关内容后,回到桌面,再次打开该应用,显示的仍然是用户当前访问的界面。

对于应用的分屏操作,用户希望使用两个不同应用(例如备忘录应用和图库应用)之间进行分屏,也希望能使用同一个应用(例如备忘录应用自身)进行分屏。

对于文档应用,用户从文档应用中打开一个文档内容,回到文档应用,继续打开同一个文档,希望打开的还是同一个文档内容。

基于以上场景的考虑,UIAbility当前支持singleton(单实例模式)、multiton(多实例模式)和specified(指定实例模式)3种启动模式。

【习题】构建漂亮的页面 

及格分85/ 满分100

判断题

1. 在Column容器中的子组件默认是按照从上到下的垂直方向布局的,其主轴的方向是垂直方向,在Row容器中的组件默认是按照从左到右的水平方向布局的,其主轴的方向是水平方向。

正确(True)  错误(False)

回答正确

2. List容器可以沿水平方向排列,也可以沿垂直方向排列。

正确(True)   错误(False)

回答正确

3. 当Tabs组件的参数barPosition为BarPosition.End时,页签位于页面底部。

正确(True)  错误(False) (还有vertical属性来控制具体位置)

回答正确

4. Resource是资源引用类型,用于设置组件属性的值,可以定义组件的颜色、文本大小、组件大小等属性。

正确(True)  错误(False)

回答正确

单选题

1. 使用TextInput完成一个密码输入框,推荐设置type属性为下面哪个值?

A. InputType.Normal

B. InputType.Password

C. InputType.Email

D. InputType.Number

回答正确

2. 使用Image加载网络图片,需要以下那种权限?

A. ohos.permission.USE_BLUETOOTH

B. ohos.permission.INTERNET

C. ohos.permission.REQUIRE_FORM

D. ohos.permission.LOCATION

回答正确

3. 下面哪个组件层次结构是错误的?

A. List>ListItem>Column

B. Column>List>ListItem

C. Grid>Row>GridItem

D. Grid>GridItem

回答正确

多选题

1. Row容器的主轴是水平方向,交叉轴是垂直方向,其参数类型为VerticalAlign (垂直对齐),VerticalAlign 定义了以下几种类型?

A. Top

B. Bottom

C. Start

D. End

E. Center

回答正确 (因为相对于垂直方向来说,起始和结束是指Top、Buttom

2. 下面哪些组件是容器组件?

A. Button

B. Row

C. Column

D. Image

E. TextInput

回答正确

3. 关于Tabs组件页签的位置设置,下面描述正确的是?

A. 当barPosition为Start(默认值),vertical属性为false时(默认值),页签位于容器顶部。

B. 当barPosition为Start(默认值) ,vertical属性为true时,页签位于容器左侧。

C. 当barPosition为End ,vertical属性为false(默认值)时,页签位于容器底部。

D. 当barPosition为End ,vertical属性为true时,页签位于容器右侧。

回答正确

声明式开发范式目前可供选择的组件如下表所示。

组件类型

  

基础组件

Blank、Button、Checkbox、CheckboxGroup、DataPanel、DatePicker、Divider、Gauge、Image、ImageAnimator、LoadingProgress、Marquee、Navigation、Progress、QRCode、Radio、Rating、RichText、ScrollBar、Search、Select、Slider、Span、Stepper、StepperItem、Text、TextArea、TextClock、TextInput、TextPicker、TextTimer、TimePicker、Toggle、Web、XComponent

容器组件

AlphabetIndexer、Badge、Column、ColumnSplit、Counter、Flex、GridContainer、Grid、GridItem、List、ListItem、Navigator、Panel、Refresh、Row、RowSplit、Scroll、SideBarContainer、Stack、Swiper、Tabs、TabContent

媒体组件

Video

绘制组件

Circle、Ellipse、Line、Polyline、Polygon、Path、Rect、Shape

画布组件

Canvas文章来源地址https://www.toymoban.com/news/detail-860420.html

到了这里,关于鸿蒙开发基础认证 课后习题汇总的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【HarmonyOS】鸿蒙应用开发基础认证题目

    【HarmonyOS】鸿蒙应用开发基础认证题目; 随着鸿蒙系统的不断发展,前不久,华为宣布了重磅消息,HarmonyOS next 开发者版本会在明年(2024)开放,并不再支持Android应用!这也意味着,移动端开发者今后又多了一个适配平台,也到了必须学的时候了。 目前已知一线大厂均已开

    2024年02月04日
    浏览(143)
  • Hadoop大数据技术原理与应用课后习题答案汇总

    以下选项中,哪个程序负责HDFS数据存储。 ( B ) A、NameNode B、DataNode C、Secondary NameNode D、ResourceManager 下列哪项通常是集群的最主要的性能瓶颈? ( C ) A、CPU B、 网络 C、磁盘 D、内存 下面哪项是Hadoop的作者?( B ) A、Martin Fowler B、Doug cutting C、Mark Elliot Zuckerberg D、Kent Beck HDFS默认

    2024年02月13日
    浏览(43)
  • HarmonyOS云开发基础认证练习题

    HarmonyOS应用开发者基础认证练习题 HarmonyOS应用开发者高级认证练习题 HarmonyOS云开发基础认证练习题 刚看到前几天有位朋友评论问有没有HarmonyOS云开发基础认证的题,粗略看了看感觉还行,老规矩1h2min速通。不过关于云开发华子只开放了基础认证,后续如果华子开放了高级和

    2024年02月09日
    浏览(57)
  • HarmonyOS云开发基础认证---练习题一

    【判断题】 0/2 应用架构的演进依次经历了微服务架构、单体架构、Serverless架构等阶段。 错误(False) 【判断题】 2/2 认证服务在绑定微信账号后就不能再绑定QQ账号了。 错误(False) 【判断题】 2/2 自己构建的账号系统可以加入到认证服务中。 正确(True) 【判断题】 2/2 云函数开发

    2024年02月07日
    浏览(46)
  • HarmonyOS云开发基础认证---练习题二

    【判断题】 2/2 Serverless是云计算下一代的默认计算范式。 正确(True) 【判断题】 2/2 接入认证服务后,用户每次收到验证码短信都需要开发者买单。 错误(False) 【判断题】 2/2 认证服务手机号码登录需要填写国家码。 正确(True) 【判断题】 2/2 在Cloud Function中,监听事件源上的指

    2024年02月05日
    浏览(42)
  • HarmonyOS云开发基础认证习题(1~6期全)

    1. 业界认为Serverless=IaaS+PaaS。 正确(True) 错误(False) 2. 云计算的演进依次经历了虚拟机、容器化、Serverless等阶段。 正确(True) 错误(False) 3.以下哪个服务不是华为Serverless服务的范畴? A. 认证服务 B. 云函数 C. 云应用引擎 D. 云数据库 E. 云主机 F. 云托管 4. Serverless模板面向开发者

    2024年02月04日
    浏览(45)
  • HarmonyOS应用开发者基础认证【闯关习题 满分答案】

    HarmonyOS应用开发者基础认证【闯关习题 满分答案】 HarmonyOS应用开发者基础认证【满分答案】 HarmonyOS云开发基础认证【最新题库 满分答案】 判断题 1.DevEco Studio是开发HarmonyOS应用的一站式集成开发环境。 ( 正确 ) 2.main_pages.json存放页面page路径配置信息。( 正确 ) 单选题

    2024年02月08日
    浏览(51)
  • 鸿蒙OS2.0 设备开发之Hi3861-基础功能汇总

    这是一篇讲解在 鸿蒙2.0全量源码中开发Hi3861 的常用功能汇总,可帮助我们 快速配置GPIO 如,如何实现 PWM、I2C、ADC 等。 1.1 输出 分两步,使能、配置输出值; 需要注意的是,有些GPIO还需要设置复用功能,可能默认不是普通GPIO模式。 这时候就需要使用 hi_io_set_func 函数;以

    2024年02月07日
    浏览(46)
  • 【R语言编程基础】【课后习题答案】【全】

    (1)多行注释的快捷键是(C)。 A.Ctrl+Shin+N B.Ctrl+N C.Ctrl+Shin+C D.Ctrl+C (2)以下函数不能直接查看plot函数的帮助文档的是(B)。 A. ?plot B.??plot C.help(plot) D.help(plot) (3)以下R包的加载方式正确的是(A)。 A.install.package 函数 B.library 函数 C…libPaths 函数 D.install 函数 (4)以下R包中不

    2023年04月08日
    浏览(52)
  • 《Vue.js前端开发实战》课后习题答案

    本答案仅供参考,禁止用于抄袭等不法用途 一、 填空题 用户界面 ViewModel refs vue-devtools 组件 二、 判断题 对 对 对 对 对 三、 选择题 D C D A A 四、 简答题 请简述什么是Vue。 Vue(读音/Vjuː/,类似于View)是一套用于构建用户界面的渐进式框架,与其他大型框架相比,Vue被设计

    2024年02月03日
    浏览(57)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包