首页 > 其他分享 >鸿蒙OS试题

鸿蒙OS试题

时间:2024-09-05 18:49:41浏览次数:3  
标签:10 试题 鸿蒙 代码 number 1fr item colors OS

hiAppEvent提供的Watcher接口,()属性不配置,会导致编译报错,产生"ArkTSCompiler Error".

A. onReceive

B. triggerCondition

C. onTrigger

D.name

在ArkTs中以下哪些属性的声明是错误的

class c {}

let value1: number = null;

let value2: string lnull = null;

let value3:string undefined = null;

let value4:c= null

A. value4

B. value1

c. value3

D. value2

应用开发中使用的各类资源文件,需要放入特定子目录中存储管理,以下关于资源说法错误的是

A. stage模型多工程情况下,共有的资源文件放到AppScope下的resources目录。

B.resfile目录,应用安装后,resfile资源会被解压到应用沙箱路径,通过Context属性resourceDir获取

到resfile资源目录后,可通过文件路径访问。

C.rawfile目录,支持创建多层子目录,子目录名称可以自定义,文件夹内可以自由放置各类资源文件。目录中的资源文件会被编译成二进制文件,并赋予资源文件ID。

D.base目录是默认存在的目录,二级子目录element用于存放字符串、颜色、布尔值等基础元素,media、profile存放媒体、动画、布局等资源文件。

关于代码门禁理解正确的是

A.代码门禁是一项代码质量保障措施。目的是要求开发人员提交的代码必须满足一些要求才能合入代码仓库。门禁必须强制要求包括编译通过、单元测试覆盖率达标、代码静态检查无告警、全量功能测试用例、DFX专项测试都通过。

B.门禁级检查的范围和版本级检查的范围保持一致,尽可能多的在MR门禁阶段就拦截防护住问题,保障问题可以及时清理掉。

C. 构建是在代码合并后检查已提交代码的功能完整性,这种方法会导致代码合并到master后编译失败导致没有可用版本部署。通过提高滚动构建的频度就可以代替代码门禁,保障代码主干及时发现并解决问题。

D.代码门禁则是在代码合并之前就验证代码来保护主千分支的完整性。通过这种方式,可以保护主分支代码避免因合码导致的构建中断,以确保 master 分支代码始终是可部署的,并且不会因明显的错误而影响到你正在并行开发的同事工作。

一个应用项目工程中,模块依赖关系如下图所示,那么在最终编译结果.app文件中,存在的编译产物是:

A.A.hap + B.har + D.hsp

B.A.hap + B.har + C.har + D.hsp

C.A.hap + D.hsp + C.har

D.A.hap + D.hsp

应用程序开发调试过程中,经常需要安装新应用进行调测,下面安装应用操作错误的是

A. bm install -p ohosapp.hap

B. bm install-p /data/app/

C. bm install -p ohosapp.hap -r

D.hdc install-p ohosapp.hap

我们需要避免在逐帧调用的接口中执行耗时操作,下面哪个选项不属于上述的接口?

A. onTouch

B. aboutToReuse

C. onScroll

D.onAreaChange

一个应用有2个UIAbility组件,其module.json中abilities标签的配置如下方代码。

在手机设备上,执行如下操作后:

1.启动UIAbility1,然后back键返回销毁UIAbility1;

2.启动UIAbility2, 然后back键返回销毁UIAbility2;

3.启动UIAbility2, 然后back键返回销毁UIAbility2;

进入多任务列表,能看看到该应用的几个任务视图:

"abilities": [

{

"name": "UIAbility1",

"srcEntry": "./ets/entryability/Ability1.ets",

"description": "$string:EntryAbility_desc",

"icon": "$media:icon",

"label": "$string:Ability1_label",

"startWindowIcon": "$media:icon",

"startWindowBackground": "$color:start_window_background",

"exported": true,

"launchType": multiton

},

{

"name": "UIAbility2",

"srcEntry": "./ets/entryability/Ability2.ets",

"description": "$string:Ability2_desc",

"icon": "$media:icon",

"label": "$string:Ability2_label",

"startWindowIcon": "$media:icon",

"startWindowBackground": "$color:start_window_background",

"exported": true,

"launchType": singleton,

"removeMissionAfterTerminate":true

}

]

A.3个

B.0个

C.1个

D.2个

以下哪些赋值语句在ArkTS中是合法。

class C {}

let value1: number = null;

let value2: string | null = null;

let value3: string | undefined = null;

let value4: C = null

A.value2

B.value1

C.value4

D.value3

如何实现类似下图布局

A.

@Entry

@Component

struct Demo {

  // 忽略其他辅助代码

  dataSource: ItemDataSource = new ItemDataSource(100)

  itemHeightArray: number[] = []

  colors: number[] = [0xFFC0CB, 0xDA70D6, 0x6B8E23, 0x6A5ACD, 0x00FFFF, 0x00FF7F]

  scroller: Scroller = new Scroller()

  

  aboutToAppear() {

    this.getItemSizeArray()

  }

  build() {

    Scroll() {

      Column() {

        Grid() {

          GridItem() {

            Text('GoodsTypeList')

          }

          .backgroundColor(this.colors[0])

          GridItem() {

            Text('AppletService')

          }

          .backgroundColor(this.colors[1])

          GridItem() {

            Text('ReloadData')

          }

          .backgroundColor(this.colors[2])

        }

        .rowsGap(10)

        .columnsTemplate('1fr')

        .rowsTemplate('1fr 1fr 1fr')

        .width('100%')

        .height(100)

        .margin({

          top: 10,

          left: 5,

          bottom: 10,

          right: 5

        })

        Grid() {

          LazyForEach(this.datasource, (item: number) => {

            GridItem() {

              // 使用可复用自定义组件

              ReusableItem({ item: item })

            }

            .width('100%')

            .height(this.itemHeightArray[item % 100])

            .backgroundColor(this.colors[item % 5])

          }, (item: number) => '' + item + this.itemHeightArray[item % 100])

        }

        .columnsTemplate("1fr 1fr")

        .columnsGap(10)

        .rowsGap(5)

        .width('100%')

        .nestedScroll({

          scrollForward: NestedScrollMode.PARENT_FIRST,

          scrollBackward: NestedScrollMode.SELF_FIRST

        })

      }

    }

    .scrollBar(BarState.Off)

    .edgeEffect(EdgeEffect.None)

  }

}

B.

@Entry

@Component

struct Demo {

  // 忽略其他辅助代码

  dataSource: ItemDataSource = new ItemDataSource(100)

  itemHeightArray: number[] = []

  colors: number[] = [0xFFC0CB, 0xDA70D6, 0x6B8E23, 0x6A5ACD, 0x00FFFF, 0x00FF7F]

  scroller: Scroller = new Scroller()

  @State sections: WaterFlowSections = new WaterFlowSections()

  sectionMargin: Margin = { top: 10, left: 5, bottom: 10, right: 5 }

  oneColumnSection: SectionOptions = {

    itemsCount: 3,

    crossCount: 1,

    rowsGap: 10,

    margin: this.sectionMargin,

    onGetItemMainSizeByIndex: (index: number) => {

      return this.itemHeightArray[index % 100]

    }

  }

  lastSection: SectionOptions = {

    itemsCount: 97,

    crossCount: 2,

    margin: this.sectionMargin,

    onGetItemMainSizeByIndex: (index: number) => {

      return this.itemHeightArray[index % 100]

    }

  }

  aboutToAppear() {

    this.setItemSizeArray()

    // 初始化瀑布流分组信息

    let sectionOptions: SectionOptions[] = []

    sectionOptions.push(this.oneColumnSection)

    sectionOptions.push(this.lastSection)

    this.sections.splice(0, 0, sectionOptions)

  }

  build() {

      WaterFlow({ scroller: this.scroller, sections: this.sections }) {

        LazyForEach(this.dataSource, (item: number) => {

          FlowItem() {

            ReusableFlowItem({ item: item })

          }

          .width('100%')

          .backgroundColor(this.colors[item % 5])

        }, (item: string) => item)

      }

      .columnsGap(10)

      .rowsGap(5)

      .backgroundColor(0xFAEEE0)

      .width('100%')

      .height('100%')

  }

}

C.

@Entry

@Component

struct Demo {

  // 忽略其他辅助代码

  dataSource: ItemDataSource = new ItemDataSource(100)

  itemHeightArray: number[] = []

  colors: number[] = [0xFFC0CB, 0xDA70D6, 0x6B8E23, 0x6A5ACD, 0x00FFFF, 0x00FF7F]

  scroller: Scroller = new Scroller()

  aboutToAppear() {

    this.getItemSizeArray()

  }

  build() {

    Column() {

      List({ scroller: this.scroller, space: 10 }) {

        ListItem() {

          Grid() {

            GridItem() {

              Text('GoodsTypeList')

            }.backgroundColor(this.colors[0])

            GridItem() {

              Text('AppletService')

            }.backgroundColor(this.colors[1])

            GridItem() {

              Text('ReloadData')

            }.backgroundColor(this.colors[2])

          }

          .rowsGap(10)

          .columnsTemplate('1fr')

          .rowsTemplate('1fr 1fr 1fr')

          .width('100%')

          .height(100)

        }

        ListItem() {

          WaterFlow() {

            LazyForEach(this.datasource, (item: number, index: number) => {

              FlowItem() {

                // 使用可复用自定义组件

                ReusableItem({ item: item + index })

              }

              .width('100%')

              .height(this.itemHeightArray[item % 100])

              .backgroundColor(this.colors[item % 5])

            }, (item: number) => '' + item + this.itemHeightArray[item % 100])

          }

          .id('waterflow')

          .columnsTemplate("1fr 1fr")

          .columnsGap(10)

          .rowsGap(5)

          .width('100%')

          .height('100%')

          .nestedScroll({

            scrollForward: NestedScrollMode.PARENT_FIRST,

            scrollBackward: NestedScrollMode.SELF_FIRST

          })

        }

      }

      .scrollBar(BarState.Off)

      .edgeEffect(EdgeEffect.None)

    }

    .width('100%')

    .padding({ left: 10, right: 10 })

  }

}

标签:10,试题,鸿蒙,代码,number,1fr,item,colors,OS
From: https://blog.csdn.net/SSRppIG/article/details/141833563

相关文章

  • 第16篇 如何制作自己的安装程序--使用InnoSetupPE工具
    1.安装去官网下载最新版本:https://jrsoftware.org/isdl.php#stable2.进入应用主界面3.点击file》New【开始打包】直接next4.填写相关数据直接点next5.根据要求填写,然后直接next6.这里默认不改,然后直接next7.这里也默认不改,然后直接next8.这里为空,可以不填,然后......
  • when get data from request.POST or request.body
    InDjango,youcanretrievedatafromarequestusingeither request.POST or request.body,dependingonthecontenttypeoftherequestandhowthedataisbeingsent.Here’sadetailedexplanationofwhentouseeach:1.Using request.POSTWhentoUse:......
  • 苹果iMessage群发,苹果iMessage短信,苹果iMessage推信,电脑版Mac Os系统自动群发iMess
    一、PC电脑版苹果系统(MacOS)上实现imessage群发总结为以下几种方式:/*MacOS苹果系统,正常情况下,只能安装到苹果公司自己出品的Mac电脑,俗称白苹果,不能安装到各种组装机或者其他品牌的品牌机上,黑苹果的的原理,就是通过一些“破解补丁”工具欺骗macOS系统,让苹果系统认为你的电脑......
  • IOS 20 发现界面(UITableView)歌单列表(UICollectionView)实现
    发现界面完整效果本文实现歌单列表效果文章基于IOS19发现界面(UITableView)快捷按钮实现继续实现发现界面歌单列表效果歌单列表Cell实现实现流程:1.创建Cell,及在使用UITableView的Controller控制器上注册Cell;2.获取data列表数据,并调用UITableView的reloadData(),将数据......
  • pgsql计算加减乘除:深入探索PostgreSQL中的数学运算
    pgsql计算加减乘除:深入探索PostgreSQL中的数学运算在数据库管理系统中,进行基本的数学运算是非常常见的需求。PostgreSQL(简称pgsql),作为一个功能强大的开源对象-关系数据库系统,提供了丰富的数学函数和操作符来支持加减乘除等基本运算。本文将深入探讨如何在PostgreSQL中执行这些运算......
  • centos下python3.6.8 安装ssl模块
    1.查看openssl是否已安装输入命令行:opensslversion 2.下载python安装包.这个在官网去下载就可以了.然后导入到centos系统当中,并进行解压tar-zxvfxxx.tgz3.安装python,相关前置条件查看百度即可.什么gcc之类的常用命令:./configure--prefix="/usr/local/python"m......
  • 【时时三省】c语言例题----华为机试题<截取字符串>
    山不在高,有仙则名。水不在深,有龙则灵。                                    ----CSDN时时三省1,题目HJ46截取字符串描述输入一个字符串和一个整数k,截取字符串的前k个字符并输出数据范......
  • centos7 内核升级
    需要下载三个rpm包wgethttp://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/kernel-lt-devel-4.4.215-1.el7.elrepo.x86_64.rpmwgethttp://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/kernel-lt-headers-4.4.215-1.el7.elrepo.......
  • 活动在即,不容错过丨亚信安慧AntDB诚邀您参加“PostgreSQL数据库技术峰会”
    ​​9月7日下午,“PostgreSQL数据库技术峰会”西安站将在西安市西安元谷学习中心4号厅举办。湖南亚信安慧科技有限公司(简称“亚信安慧”)受邀参会,将带来《提升企业数据安全,AntDB数据库回收站技术应用》的精彩演讲。在此,亚信安慧AntDB数据库诚邀您莅临参会,与业内专家共同探讨数据库技......
  • CentOS安装MySQL8教程
    官方地址:https://dev.mysql.com/downloads/mysql/选择版本前需先看一下服务器的glibc版本ldd--version上传将下载好的tar包上传到服务器上,这里演示上传到了/usr/local/文件夹下   (也可以自定义位置)解压tar-Jxvfmysql-8.0.39-linux-glibc2.17-x86_64.tar.......