鸿蒙OS高级应用开发例题

news2024/11/15 21:58:34

44项目需要同时进行应用和元服务的开发,并针对当前项目工程中的代码可以分别构建出应用和元服务的包,如何在DevEco Studio中设置不同的构建配置,达成这个目的

A. 在模块级别buld-pronlejson5定义两个target;将两个target的bundleType分别设置成app和atomicService

B. 修改工程级别的AppScope/appjson5中的bundeType值为atomicServce

C. 在工程级别build-profile.json5定义两个product,将两个product的bundleType分网设置戏app和atomicService

D. 修改工程级别的AppScope/appjson5中的bundleType值为app

22关于代理提醒开发使用的接口是

A.使用startWork申请任务,使用stopWork取消任务,使用getWorkStatus获取任务状态

B.使用publishReminder发布一个提醒类通知,使用cancelReminder取消一个指定的提醒类通知

C.使用startBackgroundRunning申请任务,使用stopBackgroundRunning取消任务

D.使用requestSuspendDelay申请任务,使用getRemainingDelayTime获取任务剩余时间

54下面代码符合ArkTS编程规范的是

A.

if (flag) {

//...

}else {

//...

}

B.

function fight(): void {

console.log('Swooosh!');

}

C.

const arr = [1, 2, 3];

D.

if(isJedi) {

fight();

}

56 ArkTS对并发编程API和能力进行了增强,以下描述正确的是

A.单次I/0任务的开发场景中,必须使用TaskPool进行开发:

B.默认情况下,Sendable数据在ArKTS并发实例间(包括主线程、TaskPool&Worker工作线程)传递的行为是拷贝传递。

C.在并发API的形式上,目前主要有两种:Worker和TaskPool

D.CPU密集型任务场景中,当任务不需要长时间(3分钟)占据后台线程,而是一个个独立的任务时,推荐使用TaskPool进行开发。

12在Harmony0S应用开发中,当开发者遇到需要分析Release版本应用的崩溃或异常堆栈信息时,为了准确地将堆栈追踪信息对应到源代码的具体位置,以下哪个描述是正确的做法或理解

A.DevEco Studio提供的Release应用堆栈解析功能,要求开发者在遇到问题时,需上传构建产物中的特定文件(如s0、source map、nameCache等)到指定工具或界面,借助这些文件辅助解析堆栈信息,实现从Release堆栈到源码的映射,便于快速定位问题

B.开发者需手动将Release构建生成的so文件与源代码进行映射,配合第三方工具进行堆栈信息还原虽然过程繁琐,但最终能定位到问题代码位置

C.DevEco Studio通过集成的Release应用堆栈解析功能,自动利用构建时产生的so文件、source map文件、nameCache文件等,需额外操作即可直接在Release应用中提供详细的源码级堆栈追踪信息

D.

因为Release应用经过优化和去除Debug信息,直接从堆栈跟踪到源代码行号是不可能的,开发者只能依靠日志信息手工推测问题所在

64在开发Harmony0S应用的多元化测试环境中,DevEco Studio引入了本地模拟器(Local Emulator)作为重要工具,旨在帮助开发者在个人开发机器上高效模拟Harmony0S环境,进行应用或服务的快速运行与细致调试。请根据本地模拟器的实际应用场景与系统要求,选出所有正确的描述选项

A.DevEco Studio的本地模拟器允许开发者在个人电脑上模拟HarmonyOS环境,便于应用或服务的运行与调试。

B.mac计算机配置方面,为了确保本地模拟器的稳定运行,推荐至少配备8GB RAM.

C.开发者需要注意的是,DevEco Studio的本地模拟器可以在虚拟机内部进一步运行,以节省硬件资源。

D.为了保证流畅的运行和调试体验,本地模拟器推荐macOS系统版本至少为12.5以上。

65 Websocket连接开发步骤描述错误的是

A.导入需要的webSocket模块

B.根据URL地址,发起WebSocket连接

C.(可选)订阅WebSocket的打开、消息接收、关闭、Error事件

D.创建一个WebSocket连接,返回一个WebSocket对象

E.使用完WebSocket连接之后,主动断开连接

F.调用Session.start方法开启metadata数据输出

87下面关于方舟字节码指令含义说明正确的是

A.

假设寄存器v0存放了对象A, 累加器(acc)存放了对象B,那么执行指令"lda v0"后,v0存放对象B,acc存放对象B

B.

假设寄存器v0存放了对象A, 寄存器v1存放了对象B,那么执行指令"mov v0, v1"后,v0存放对象A, v1存放对象A

C.

假设寄存器v0存放了对象A, 累加器(acc)存放了对象B,那么执行指令"lda v0"后,v0存放对象A,acc存放对象A

D.

假设寄存器v0存放了对象A, 寄存器v1存放了对象B,那么执行指令"mov v0, v1"后,v0存放对象B, v1存放对象B

14关于长时任务开发使用的接口是

A.使用startWork申请任务,使用stopWork取消任务,使用getWorkStatus获取任务状态
B.使用publishReminder发布一个提醒类通知,使用cancelReminder取消一个指定的提醒类通知
C.使用startBackgroundRunning申请任务,使用stopBackgroundRunning取消任务
D.使用requestSuspendDelay申请任务,使用getRemainingDelayTime获取任务剩余时间



21关于短时任务开发使用的接口是

A.使用requestSuspendDelay申请任务,使用getRemainingDelayTime获取任务剩余时间

B.使用publishReminder发布一个提醒类通知,使用cancelReminder取消一个指定的提醒类通知

C.使用startBackgroundRunning申请任务,使用stopBackgroundRunning取消任务

  1.  使用startWork申请任务,使用stopWork取消任务,使用getWorkStatus获取任务状态

关于延迟任务开发使用的接口是

A.使用requestSuspendDelay申请任务,使用getRemainingDelayTime获取任务剩余时间

B.使用publishReminder发布一个提醒类通知,使用cancelReminder取消一个指定的提醒类通知

C.使用startBackgroundRunning申请任务,使用stopBackgroundRunning取消任务

  1.  使用startWork申请任务,使用stopWork取消任务,使用getWorkStatus获取任务状态


在Ul组件的click处理事件中调用如下的eventHubFunc,连续点击2次该控件后,运行日志输出是ABCD中的哪项?

23 import common from '@kit.AbilityKit';

import{promptAction} from '@kit.ArkUI'

@Entry

@Component

struct Page_EventHub {

 private context=getContext(this) as common.UIAbilityContext;

 eventHubFunc():void{

  this.context.eventHub.emit('event1');

  this.context.eventHub.emit('event2',2,'test2');

  this.context.eventHub.off('event1');

 }

 build() {

  Column(){

   // ...

   List({initialIndex:0}){

    ListItem(){

     Row(){

      // ...

     }

     .onClick(() => {

      this.eventHubFunc()

      promptAction.showToast({

       message:$r('app.string.EventHubFuncA')

      })

     })

    }

   }

  }

 }

}

A、

[Example].[Entry].[EntryAbility]receive.[]

[Example].[Entry].[EntryAbility] receive.[2,"test2"]

[Example].[Entry].[EntryAbility] receive.[2,"test2"]

B、

[Example].[Entry].[EntryAbility]receive.[]

[Example].[Entry].[EntryAbility]receive.[2,"test2"]

[Example].[Entry].[EntryAbility]receive.[]

C、

[Example].[Entry].[EntryAbility]receive.[]

[Example].[Entry].[EntryAbility] receive.[2,"test2"] 

D、

[Example].[Entry].[EntryAbility]receive.[]

[Example].[Entry].[EntryAbility]]receive.[2,"test2"]

[Example].[Entry].[EntryAbility]receive.[]

[Example].[Entry].[EntryAbility]]receive.[2,"test2"]

46在组件中,经常需要使用字符串、图片等资源。HSP中的组件需要使用资源时,一般将其所用资源放在HSP包内,而非放在HSP的使用方处,以符合高内聚低合的原则。下面访问HSP资源错误的是

A.通过$r访问HSP中的资源。lmage($r('app.media.example”))id('example).borderRadius(48px')

B.使用相对路径的方式,访问HSP中的资源。 lmage("././resources/base/media/example.png”)id('example") borderRadius('48px'))

C.跨包访问HSP内资源时,推荐实现一个资源管理类,以封装对外导出的资源。将需要对外提供的资源封装为一个资源管理类:

// library/src/main/ets/ResManager.ets

export class ResManager{

static getPic(): Resource{

return $r('app.media.pic'):

static getDesc(): Resource{






12ArkTS中的import用法,正确的是:

A.import { export1 } from "ets file name"

B.import { export1 as alias1 } from "ets file name"

C.import * as name from "ets file name"

D.import defaultExport from "ets file name"

33以下代码片段哪几处违反了AKTS语法规范

function foo(value1:number,value2:number){

return value1+value2

}

foo():

foo(1,2)

foo(1,2,3)

foo(1,2,3,4)

A.foo():

B.foo(1,2)

C.foo(1,2,3)

D.foo(1,2,3,4)


89某APP依赖了3个ohpm库,这3个库与用的体积都比较大,在App的技术架构中hap和多个hsp均依赖这3个库,为了减少ap的首包大小,以下哪些法是无效的?


A将这3个ohom库封装到har包中,并对外提供必要的接口




45为了提高性能,所以List组件支持懒加载,可以通过配置cachedcount属性设置缓存列表项的数量。当我们不设置[ist的属性cachedcount时,该属性的默认值是?


A.3

B.1
C.2

D.0


67singueto模式的UiABILity,在冷启动时生命周期的执行顺序是:

B.onCreate->onWindowstagecreate->onForeground
78Harmonyos应用开发团队正着手优化一款面向全球市场的在线教育应用,该应用在特定课程直播环节出现了性能波动和响应延迟的问题,严重影响用户体验。打算利用DevEcoProfiler来进行性能优化。DevEco Profiler其设计核心和主要优势是什么?
A.DevEco profler依据Top-Down设计理念,通过高度整合的数据展示范式,提供从宏观到微观的性能数据分析,加速开发者定位和解決问题的过程

67开发者小林正在使用DevEcoStudio开发一款Harmony0s应用,并在真机上进行调试,他在运行应用的过程中突然发现一处旺布局

需要微调,希望在不中断当前应用运行的情况下看到调整效果,基于DevEco studio提供的Hot Re1oad(热重载)能力,以下哪种做法能让小林最有效地实现他的需求
A.在不关闭应用的情况下,直接修改代码并保存,借助HotROle实时查看布局调整的效果

14以下关于Taskool和worker的描述正确的是
A.TaskPool支持任务延时执行


28 Text组件不支持以下哪种使用方式?

A

@Entry

@Component

struct TextExample {

build(){

Column({ space:8}){

Text('textShadow').fontsize(9),fontcolor(0xcccccc).margin(15).width('90%')

B

@Entry

@Component

struct styledStringDemo t

scroll: Scroller-new Scroller();mutableStyledString: Mutablestyledstring = new Mutablestyledstring("test hello i

start: 0

length: 5.

styledKey: styledstringKey.FONT,

styledValue: new Textstyle({ fontcolor:color.Pink })

}1);

controllerl: Textcontroller=new Textcontroller();

async onPageShow(){

this.controllerl.setstyledstring(this.mutableStyledstring)

build(){

Column(){Text(undefined, { controller: this.controller1 })}.width('100')

C

struct styledStringDemo {

scroll: Scroller= new Scroller();

layout: TextLayoutManager = new TextLayouttManager()

controller1: TextController = new TextcoMtroller();

async onPageShow(){

this,controllerl.setLayout(this.layout)

async onPageShow(){

this.controllerl.setLayout(this.layout)

build(){

Column(){

Text(undefined,f controller: this.controller1 })}.width('100%')

D

struct SpanExample {build(){

Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Start, justifyoText() {Span('In Line

Span(' Component')

Span('!')

} width('100%'),height(250),padding({ left: 35, right: 35, top: 35 })

56已知下列代码PageOne页面为navigation中的某一子页面,依次点击Page0ne页面中toPageTwo按钮,PageTwo页面中toPageOne按钮,此时获取当前页面的路由栈数量为多少

A.2

B.4

C.1

D.3

57已知下列代码PageOne页面为navigation中的某一子页面,依次点击Page0ne页面中toPageTwo按钮,PageTwo页面中toPageOne按钮,此时点击get按钮获取全部名为nameNavDestination页面的位置索引为

A. [21]

B. [0,1]

c. [0,2]


58 开发者小张正在使用DevEco Studio开发一款HarmonyoS应用,他遇到了一个仅在应用实际运行环境中出现的问题,需要调试已部署在设备上的应用以定位问题根源,为了能够在应用已经运行的情况下介入调试,小张应该采用哪种调试方法

A.使用“Profile”功能,因为这同样能提供对运行时应用的监控与调试能力。

B. Run without Debugging,先让应用自由运行,随后手动附加调试器。

C.使用Debug功能,将应用重新推包运行调试

D. Attach Debugger to Process,这允许他连接到正在运行的应用进程进行调试。


59小华正在使用DevEco studio开发一款基于HarmonyosArkUI应用,该应用需要实现一个功能,即当用户点击按钮时,通过APKTS/IS API调用系统的分享功能。小华对具体的API调用细节不太熟悉,如何通过DevEco studio快速查阅相关的API文档。

A.小华右键点击代码编辑区,选择“Find Usages”选项,试图从其他地方引用该API的实例中学习如何使用分享功能。

B. 小华应该先停止编码工作,打开浏览器,手动搜索关键词“HarmonyOS ArkUl分享API”,在官方网站的文档页面中寻找相关API的使用方法,

C.小华将鼠标悬停在编辑器中已经键入或打算键入的API调用(例如 @system.router.push)上,等待编辑器自动弹出悬浮提示框,显示该API的简要信息和不同版本参数说明。随后,点击提示框右下角的“Show in AP| Reference”链接,直接跳转到详尽的API参考文档页面。

D、小华在代码编辑区直接铡入分享功能相关的API调用代码,如 arkui.getShare(),然后按F1键,期望编辑器能自动跳转到该API的文档页面。

 A.通过GridLayoutOptions

60当您开始开发一个应用/服务时,首先需要根据工程创建向导,创建一个新的工程,工具会自动生成对应的代码和资源模板。关于新建工程,下列选项说法正确的是?

A.、创建用于Lite Wearable设备的工程,可以选择Native C++工程模板。

B.Compatible SDK是兼容的最低API Version

C.应用包名(Bundle name) 必须为以点号(.)分隔的字符串,且至少包含三段,每段中仅允许使用英文字母、数字,如“com.example.myapplication”

D. 工程文件本地存储路径(Save location)允许包含中文字符。


61开发者在编写ArkUI代码时,想要提前预览下所编写的组件的效果,下述哪个组件可以使用DevEco Studio Previewer正常预览?

A.import { add } from '"libnative.so’, @Preview @Component struct NativeSample { count: number= add(1, 2); build() { Text(`current count is ${this.count}`)} }

B @Preview @Component struct ConsumeSample { @Consume name: string, build() {

Text(this.name) } }

C @Preview @Component struct TitleSample { @StorageProp('title”) title: string = 'PlaceHolder'build() { Text(this.title) } }

D @Preview @Component struct LinkSample { @Link message: string; build( { Text(this.message)}}
如果想让outer button响应事件,hitTestBehavior该怎么配

A. HitTestMode.None

B.HitTestMode.Block

C.HitTestMode.Default

  1.  HitTestMode.Transparent

HSP支持导出ArkUI组件、接口,供应用内的其他HAP/HSP引用,下面正确的是

A.

导出ts类和方法

// library/src/main/ets/utils/test.ts

export class Log {

static info(msg: string): void {

console.info(msg);

}

}

export function add(a: number, b: number): number {

return a + b;

}

export function minus(a: number, b: number): number {

return a - b;

}

对外暴露的接口,需要在入口文件index.ets中声明:

// library/index.ets

export { Log, add, minus } from './src/main/ets/utils/test';

B.

导出native方法,在HSP中也可以包含C++编写的so。对于so中的native方法,HSP通过间接的方式导出,以导出liblibrary.so的乘法接口multi为例:

// library/src/main/ets/utils/nativeTest.ts

import native from 'liblibrary.so';

export function nativeMulti(a: number, b: number): number {

let result: number = native.multi(a, b);

return result;

}

对外暴露的接口,需要在入口文件index.ets中声明:

// library/index.ets

export { nativeMulti } from './src/main/ets/utils/nativeTest';

C.

导出ArkUI组件

// library/src/main/ets/components/MyTitleBar.ets

@Component

export struct MyTitleBar {

build() {

Row() {

Text($r('app.string.library_title'))

.id('library')

.fontFamily('HarmonyHeiTi')

.fontWeight(FontWeight.Bold)

.fontSize(32)

.fontColor($r('app.color.text_color'))

}

.width('100%')

}

}

对外暴露的接口,需要在入口文件index.ets中声明:

// library/index.ets

export { MyTitleBar } from './src/main/ets/components/MyTitleBar';

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2058653.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

8.20模拟赛题解

简单点评一下 整体上来看 ,A题拿满分的同学可能占一半吧 ,这个数据其实是不太理想的 ,说明同学们对于思维模拟题还是不熟练,没抓住题目要分析的本质。 B题显然是保证有解的,有解的情况下问最优解,说明翻到满…

动力电池系统面向开发的测试——电池阻抗特性测试(下)

接动力电池系统面向开发的测试——开路电压测试(上)本文主要围绕BMS设计中的等效电路模型第二大动态特性参数——阻抗特性及测试内容来展开分享。 阻抗特性测试方法: 方案1:直流脉冲测试 前面在分享功率评估内容的时候&#xf…

【正点原子K210连载】第三十二章 音频FFT实验 摘自【正点原子】DNK210使用指南-CanMV版指南

第三十二章 音频FFT实验 本章将介绍CanMV下FFT的应用,通过将时域采集到的音频数据通过FFT为频域。通过本章的学习,读者将学习到CanMV下控制FFT加速器进行FFT的使用。 本章分为如下几个小节: 32.1 maix.FFT模块介绍 32.2 硬件设计 32.3 程序设…

How can OpenAI Gym‘s visualizations work within Docker?

题意:OpenAI Gym 的可视化功能如何在 Docker 中运行? 问题背景: Id like to get OpenAI Gym working with the rendered OpenGL visualizations within a docker container. 我想在 Docker 容器中让 OpenAI Gym 与渲染的 OpenGL 可视化一起…

数据通信基础

信道特性 信道带宽 W 模拟信道:WF max - F min (信道最大频率减去最小频率,单位Hz) 数字信道:数字信道是离散信道,带宽为信道能够达到的最大数据传输速率,单位bit/s 奈奎斯定理(理…

IOy系列BL196MQTT远程IO模块智能农业灌溉水质监测

随着农业科技的进步和智能农业的发展,传统的灌溉和水质管理方式正逐渐被更为高效和智能的解决方案所取代。在智能农业系统中,水质监测作为灌溉管理的关键环节,对保障作物健康和提高水资源利用效率具有重要作用。 IOy系列BL196 MQTT远程IO模块…

第七届机械、控制与计算机工程国际学术会议(ICMCCE2024)

第七届机械、控制与计算机工程国际学术会议定于2024年10月25日至27日在中国杭州召开。本届会议由巢湖学院主办,主要围绕“机械”、“控制”与“计算机工程”等研究领域展开讨论。旨在为机械、控制与计算机工程方面的专家学者及企业发展人提供一个分享研究成果、讨论…

iML6602是一款60W立体声Class-D音频功率放大器集成电路

音频放大器是在产生声音的输出元件上重建输入的音频信号的设备,其重建的信号音量和功率级都要理想:如实、有效且失真低。音频范围为约20Hz~20000Hz,因此放大器在此范围内必须有良好的频率响应(驱动频带受限的扬声器时要…

Flink常见数据源使用教程(DataStream API)

前言 一个 Flink 程序,其实就是对 DataStream 的各种转换。具体来说,代码基本上都由以下几部分构成,如下图所示: 获取执行环境(execution environment)读取数据源(source)定义基于数据的转换操作(transformations)定义计算结果的输出位置(sink)触发程序执行(exec…

深度deepin v23系统也能玩《黑神话:悟空》 8GB内存、GTX 1660 Ti丝滑流畅

首款国产现象级3A游戏《黑神话:悟空》正式上线,有玩家将其比喻为“村里这么多年终于出个大学生了”…那么,在国产操作系统上可以畅玩《黑神话:悟空》吗?答案是肯定的。深度系统最新版本deepin v23就展示了一番。 当然&…

最短路径树,CF 1076D - Edge Deletion

目录 一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 二、解题报告 1、思路分析 2、复杂度 3、代码详解 一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 1076D - Edge Deletion 二、解题报告 1、思路分析 考虑dijkstra实际上是…

如何将MySQL迁移到TiDB,完成无缝业务切换?

当 MySQL 数据库的单表数据量达到了亿级,会发生什么? 这个现象表示公司的业务上了一个台阶,随着数据量的增加,公司规模也进一步扩大了,是非常喜人的一个改变 ,然而随之而来的其他变化,就没那么…

【踩坑】如何解锁微软“已暂时锁定你的帐户”

登录微软账号时候,提示:有人在使用此帐户时输入错误密码的次数过多。为了保证帐户安全,我们已暂时锁定你的帐户,请稍后再试。 进入以下网站重置密码即可: https://account.live.com/ResetPassword.aspx?mktzh-CN 登录…

什么是企业高性能web服务器,这一篇就够了

一.Web 服务基础介绍 正常情况下的单次web服务访问流程: 1.1 互联网发展历程回顾 1993年3月2日,中国科学院高能物理研究所租用AT&T公司的国际卫星信道建立的接入美国SLAC国家实 验室的64K专线正式开通,成为我国连入Internet的第一根专…

IMU用于受伤颈椎的角度监测

最近,一项由泰国科研团队开展的研究,创新性地应用了惯性测量单元(IMU)传感器,以评估和比较两种不同的颈椎固定技术——传统脊柱固定(TSI)和脊柱运动限制(SMR)——在院前急…

MacBook M系列芯片基于docker安装Oracle 19c

网上找到的镜像,如:doctorkirk/oracle-19c、registry.cn-hangzhou.aliyuncs.com/zhuyijun/oracle:19c,都是linux/amd64版本,M系列芯片一般也是支持linux/amd64的镜像运行的,但是oracle的这两个镜像运行不起来&#xff…

Python入门级 [ 继上篇 进阶版 持续更新中哞哞哞!!! ]例题较多

本文主要结合例题介绍了数据集合中的元组、字符串、以及字符串的查找 替换 格式化等基础函数。下期是序列 集合 字典,这几种数据集合在Python中也是蛮重要的,对于新手比较友好。 本文例题大多来自哔站up主鱼C-小甲鱼【Python教程】的练习过程&#xff0c…

第一批AI原住民开始变现:9岁小学生,用大模型写书赚1个w

前言 当人们正在观望,AI什么时候抢走自己的饭碗时,北京一名9岁的小学生在AI的帮助下写了一本小说,并赚到了2万元的版税。 这件看似不可思议的事,他是如何做到的?此外,他还带来一个启发:面对AI时…

SpringBoot教程(二十四) | SpringBoot集成AOP实现日志记录

SpringBoot教程(二十四) | SpringBoot集成AOP实现日志记录 (一)AOP 概要1. 什么是 AOP ?2. 为什么要用 AOP?3. AOP一般用来干什么?4. AOP 的核心概念 (二)Spring AOP1. 简…

外部环境连接kafka

修改配置文件外部环境连接kafka 1、kafka的docker官方镜像地址2、kafka官方介绍的三种连接方式3、方式一:Default configs默认配置4、方式二:File input(文件输入:外部配置文件替换docker容器内的配置文件)4.1、首先查…