鸿蒙OS试题

以下关于ArkTS线程实例间传输实现方式描述正确的是

import { taskpool, worker } from '@kit.ArkTS';

@Sendable

class A {}

let a: A = new A();

@Concurrent

function foo(a: A) {}

let task: taskpool.Task = new taskpool.Task(foo, a)

let w = new worker.ThreadWorker("entry/ets/workers/Worker.ets")

taskpool.execute(task).then(() => {});

w.postMessageWithSharedSendable(a);

task.setCloneList([a]);

taskpool.execute(task).then(() => {});

w.postMessage(a);

A.

taskpool.execute(task).then(() => {});,TaskPool 共享传输实现方式

B.

task.setCloneList([a]);

taskpool.execute(task).then(() => {});,TaskPool 共享传输实现方式

C.

w.postMessage(a);,Worker 共享传输实现方式

D.w.postMessageWithSharedSendable(a);,Worker 共享传输实现方式

Image组件以下哪些方式可显示图片?

A.

@Entry

@Component

struct ImageExample {

build() {

Column({ space: 10 }) {

Image($r('app.media.earth'))

.width(100)

.height(100)

}

}

}

B.

@Entry

@Component

struct ImageExample {

build() {

Column({ space: 10 }) {

Image("https://www.example.com/xxx.png")

.width(100)

.height(100)

}

}

}

C.

import image from '@ohos.multimedia.image'

@Entry

@Component

struct ImageExample {

@State imagePixelMap: image.PixelMap | undefined = undefined

async aboutToAppear() {

this.imagePixelMap = await this.getPixmapFromMedia($r('app.media.app_icon'))

}

build() {

Column() {

Image(this.imagePixelMap)

.width(200)

.height(200)

}

}

private async getPixmapFromMedia(resource: Resource) {

let unit8Array = await getContext(this)?.resourceManager?.getMediaContent({

bundleName: resource.bundleName,

moduleName: resource.moduleName,

id: resource.id

})

let imageSource = image.createImageSource(unit8Array.buffer.slice(0, unit8Array.buffer.byteLength))

let createPixelMap: image.PixelMap = await imageSource.createPixelMap({

desiredPixelFormat: image.PixelMapFormat.RGBA_8888

})

await imageSource.release()

return createPixelMap

}

}

D.

import { DrawableDescriptor } from '@ohos.arkui.drawableDescriptor'

@Entry

@Component

struct ImageExample {

private resManager = getContext().resourceManager

build() {

Row() {

Column() {

Image((this.resManager.getDrawableDescriptor($r('app.media.drawable').id) as DrawableDescriptor))

}.height('50%')

}.width('50%')

}

}

在基于Stage模型开发的应用项目代码下,都存在一个app.json5配置文件,用于配置应用的全局信息,以下app.json5配置文件错误的是

A.

{

"app": {

"bundleName": "com.example.myapplication",

"vendor": "example",

"versionCode": 1000000,

"versionName": "1.0.2",

"icon": "$media:app_icon",

"label": "app_name",

"bundleType": "app"

}

}

B.

{

"app": {

"bundleName": "com.example.myapplication",

"vendor": "example",

"versionCode": 1000000,

"versionName": "1.0.2",

"icon": "$media:app_icon",

"label": "$string:app_name",

"bundleType": "app"

}

}

C.

{

"app": {

"bundleName": "com.example.myapplication",

"vendor": "example",

"versionCode": 1000000,

"versionName": "1.0.2",

"icon": "$media:app_icon",

"label": "$string:app_name"

}

}

D.

{

"app": {

"bundleName": "com.example.myapplication",

"vendor": "example", "versionCode": 1000000,

"icon": "$media:app_icon",

"label": "$string:app_name",

"bundleType": "app"

}

}

某个应用的启动框架配置文件详细信息如下,以下说法正确的是:

{

"startupTasks": [

{

"name": "StartupTask_001",

"srcEntry": "./ets/startup/StartupTask_001.ets",

"dependencies": [

"StartupTask_002",

"StartupTask_003"

],

"runOnThread": "taskpool",

"waitOnMainThread": false

},

{

"name": "StartupTask_002",

"srcEntry": "./ets/startup/StartupTask_002.ets",

"dependencies": [

"StartupTask_004"

],

"runOnThread": "taskpool",

"waitOnMainThread": false

},

{

"name": "StartupTask_003",

"srcEntry": "./ets/startup/StartupTask_003.ets",

"runOnThread": "taskpool",

"waitOnMainThread": false

},

{

"name": "StartupTask_004",

"srcEntry": "./ets/startup/StartupTask_004.ets",

"runOnThread": "taskpool",

"waitOnMainThread": false

},

{

"name": "StartupTask_005",

"srcEntry": "./ets/startup/StartupTask_005.ets",

"runOnThread": "mainThread",

"waitOnMainThread": true

},

{

"name": "StartupTask_006",

"srcEntry": "./ets/startup/StartupTask_006.ets",

"runOnThread": "mainThread",

"waitOnMainThread": false,

"excludeFromAutoStart": true

}

],

"configEntry": "./ets/startup/StartupConfig.ets"

}

A.

StartupTask_006会在AbilityStage的onCreate前初始化完成

B.

StartupTask_005会在主线程执行

C.

StartupTask_001会在StartupTask_004之后执行;

D.

StartupTask_003会在StartupTask_004之后执行

Grid() {

ForEach(this.numbers, (day: string) => {

ForEach(this.numbers, (day: string) => {

GridItem() {

Text(day)

.fontSize(16)

.backgroundColor(0xF9CF93)

.width('100%')

.height(80)

.textAlign(TextAlign.Center)

}

}, (day: string) => day)

}, (day: string) => day)

}

.columnsTemplate('1fr '.repeat(this.columns))

.columnsGap(10)

.rowsGap(10)

.width('90%')

.scrollBar(BarState.Off)

.backgroundColor(0xFAEEE0)

.height('100%')

.cachedCount(3)

// 切换列数item位置重排动画

.animation({

duration: 300,

curve: Curve.Smooth

})

.xxxx?(

PinchGesture()

.onActionEnd((event: GestureEvent) => {

console.info('end scale:' + event.scale)

// 手指分开,减少列数以放大Item,触发阈值可以自定义,示例为2

if (event.scale > 2) {

this.columns--

} else if (event.scale < 0.6) {

this.columns++

}

// 可以根据设备屏幕宽度设定最大和最小列数,此处以最小1列最大4列为例

this.columns = Math.min(4, Math.max(1, this.columns));

AppStorage.setOrCreate('columnsCount', this.columns)

})

)

如果想让grid上的捏合手势手势生效,而不跟grid上的滚动手势形成冲突,.xxxx?手势接口应该怎么配置?

A.

parallelGesture

B.

gesture

C.

priorityGesture

D.

GesureGroup

通过如下openLink的接口启动,如下哪些配置的UIAbility不可能被拉起

import { hilog } from '@kit.PerformanceAnalysisKit';

import { UIAbility, common, OpenLinkOptions } from '@kit.AbilityKit';

import { BusinessError } from '@kit.BasicServicesKit';

export default class MyAbility extends UIAbility {

onForeground() {

let link: string = "https://www.example.com"

let openLinkOptions: OpenLinkOptions = {

appLinkingOnly: true,

parameters: {demo_key: "demo_value"}

};

try {

this.context.openLink(

link,

openLinkOptions,

(err, result) => {

hilog.error(DOMAIN, TAG, 'openLink callback error.code:' + JSON.stringify(err));

}

).then(()=>{

hilog.info(DOMAIN, TAG, 'open link success.');

}).catch((err: BusinessError)=>{

hilog.error(DOMAIN, TAG, 'open link failed, errCode ' + JSON.stringify(err.code));

})

}

catch (e) {

hilog.error(DOMAIN, TAG, 'exception occured, errCode ' + JSON.stringify(e.code));

}

}

}

A.

{

"name": "TargetAbility",

"skills": [

{

"actions":[

"ohos.want.action.viewData",

],

"entities":[

"entity.system.browsable",

],

"uris":[

{

"scheme": "https",

"host": "www.test.com",

"port": "8080",

"path": "path",

"autoVerify": ture

}

]

}

]

}

B.

{

"name": "TargetAbility",

"skills": [

{

"actions":[

"ohos.want.action.sendData",

],

"entities":[

"entity.system.browsable",

],

"uris":[

{

"scheme": "https",

"host": "www.test.com",

"port": "8080",

"path": "path",

"autoVerify": ture

}

]

}

]

}

C.

{

"name": "TargetAbility",

"skills": [

{

"actions":[

"ohos.want.action.vieData",

],

"entities":[

"entity.system.browsable",

],

"uris":[

{

"scheme": "http",

"host": "www.test.com",

"port": "8080",

"path": "path"

}

]

}

]

}

D.

{

"name": "TargetAbility",

"skills": [

{

"actions":[

"ohos.want.action.sendData",

],

"entities":[

"entity.system.browsable",

],

"uris":[

{

"scheme": "http",

"host": "www.test.com",

"port": "8080",

"path": "path",

"autoVerify": ture

}

]

}

]

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

星宇工作室

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值