DevEco Studio提供HarmonyOS应用/服务的UI预览界面与源代码文件间的双向预览功能,支持ets文件与预览器界面的双向预览。关于双向预览,下列选项说法错误的是?
A.双向预览不支持通过组件的属性面板实时修改属性或样式。
B.选中组件树中的组件,则对应的代码块和UI界面也会高亮显示。
C.选中布局文件中的代码块,则在UI界面会高亮显示,组件树上的组件节点也会呈现被选中的状态。
D.选中预览器UI界面中的组件,则组件树上对应的组件将被选中,同时代码编辑器中的布局文件中对应的代码块高亮显示。
DevEco studio提供的便捷功能来提高开发效率。他了解到,通过一个特定的操作流程,可以直接依据父类的模板生成子类中需要重写的方法代码,而无需手动编写完整方法体,在DevEco studio中,如何正确使用0verride Methods功能来快速生成子类需要重写的方法代码
A.
在项目结构视图中找到目标子类,双击打开后直接在代码编辑区输入重写方法的签名,DevEcOStudio将自动完成剩余代码。
)B.
通过菜单栏File>Settings,配置Override Methods快捷方式,之后在代码中仅需选中父类方法名即可自动在子类中生成重写代码,
C.将光标定位到子类的定义处,按下Ctrl+0(或右键单击选择Generate.>Override Methods),在弹出的对话框中选择要重写的方法,点击OK完成生成。
D.将光标放置于任何代码行,按下Ctrl+B,然后在弹出菜单中选择Override Methods,之后勾选需要重写的方法并确认。
以下关于LocalStorage的说法正确有哪些?
A.被@Component装饰的组件最多可以访问一个LocalStorage实例和AppStorage,未被@Entry装饰的组件不可被独立分配LocalStorage实例,只能接受父组件的LocalStorage实例。
B.应用程序可以创建多个LocalStorage实例,LocalStorage实例可以在页面内共享,也可以通过GetShared接口,获取在UIAbility里创建的GetShared,实现跨页面、UIAbility内共享。
C. LocalStorage中的所有属性都是不可变的。
D.组件树的根节点,即被@Entry装饰的@Component,可以被分配一个LocalStorage实例,此组件的所有子组件实例将自动获得对该LocalStorage实例的访问权限。
项目组开发的HarmonyOS应用工程,为了保护hap代码资产,如何在DevEco Studio中启用混淆的功能,并设置相应的混淆规则
A.
release模式下将buildOption/arkOptions/ruleOptions/enable设置为true
B.
在混淆规则配置文件obfuscation-rules.txt中进行混淆规则的配置
C.//这个配置主要用于har包 暂时先不选
在混淆规则配置文件consumer-rules.txt中进行混淆规则的配置
D.
release模式下将buildOption/arkOptions/ruleOptions/enable设置为false
以下哪些是可以在Navigation中使用pushPathByName接口传递的params的参数类型
A.arrayBuffer
B.map<string,string>
C.string
D.record<string,string>
23以下哪些实现方式可实现文本字号20的效果
A.
// xxx.ets
@Entry
@Component
struct Index {
build() {
Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Start, justifyContent: FlexAlign.SpaceBetween }) {
Text('This is the text with the height adaptive policy set')
.width('80%')
.height(90)
.minFontSize(20)
}.width('100%').height(250).padding({ left: 35, right: 35, top: 35 })
}
}
B.
@Entry
@Component
struct SpanExample {
build() {
Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Start, justifyContent: FlexAlign.SpaceBetween }) {
Text() {
Span('span letter spacing')
.letterSpacing(3)
.fontSize(20)
}.fontSize(30)
}.width('100%').height(250).padding({ left: 35, right: 35, top: 35 })
}
}
C.
import { LengthMetrics, LengthUnit } from '@ohos.arkui.node'
@Entry
@Component
struct Index {
fontStyleAttr: TextStyle = new TextStyle({fontSize:LengthMetrics.vp(20)});
mutableStyledString: MutableStyledString = new MutableStyledString("hello", [{
start: 0,
length: 5,
styledKey: StyledStringKey.FONT,
styledValue: this.fontStyleAttr
}]);
controller: TextController = new TextController();
async onPageShow() {
this.controller.setStyledString(this.mutableStyledString)
}
build() {
Column() {
// 显示属性字符串
Text(undefined, { controller: this.controller })
}.width('100%')
}
}
D.
// xxx.ets
@Entry
@Component
struct Index {
build() {
Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Start, justifyContent: FlexAlign.SpaceBetween }) {
// 文本水平方向对齐方式设置
// 单行文本
Text('TextAlign set to Center.')
.textAlign(TextAlign.Center)
.fontSize(20)
.border({ width: 1 })
.padding(10)
.width('100%')
}.height(600).width(350).padding({ left: 35, right: 35, top: 35 })
}
}
List组件onScrollIndex事件触发时机是
A.List组件列表滚动时每帧触发
B.List组件首次加载完成时触发
C.List组件显示区域内第一个子组件或最后一个子组件或中间位置子组件索引值变化时发
D.List组件滚动停止时触发
下面代码符合Node-API开发规范的是
A.
static napi_value Demo1(napi_env env, napi_callback_info info)
{
size_t argc;
napi_value argv[10] = {nullptr};
napi_get_cb_info(env, info, &argc, argv, nullptr, nullptr);
return nullptr;
}
B.
static napi_value Demo4(napi_env env, napi_callback_info info)
{
size_t argc = 5;
napi_value argv[3] = {nullptr};
napi_get_cb_info(env, info, &argc, argv, nullptr, nullptr);
return nullptr;
}
C.
static napi_value Demo2(napi_env env, napi_callback_info info)
{
size_t argc = 0;
napi_get_cb_info(env, info, &argc, nullptr, nullptr, nullptr);
if (argc == 0) {
return nullptr;
}
napi_value* argv = new napi_value[argc];
napi_get_cb_info(env, info, &argc, argv, nullptr, nullptr);
// 业务代码
delete argv;
return nullptr;
}
D.
static napi_value Demo3(napi_env env, napi_callback_info info)
{
size_t argc = 2;
napi_value argv[2] = {nullptr};
napi_get_cb_info(env, info, &argc, nullptr, nullptr, nullptr);
// 业务代码
return nullptr;
}
以下代码片段哪几处违反了ArkTs语法规范
class Point{
public x:number
public y:number
constructor(x:number,y:number) {
this.x=x
this.y=y
}
}
let p=new Point(1.0,1.0)
delete p.x;
p.z=2.0;
p.x='hello';
Ap.x='hello';
Bdelete p.x;
Cp.z=2.0;
D.let p=new Point(1.0,1.0)
ArkTS是鸿蒙生态的应用开发语言。以下哪些选项是ArkTS的设计理念。
A.ArkTS保留了TS大部分的语法特性,帮助开发者更容易上手ArkTS。
B.ArkTS不支持null-satety特性。
C.通过规范强化静态检查和分析,减少运行时的类型检查,从而降低了运行时负载,提升执行性能。
D.通过规范强化静态检查和分析,使得许多错误在编译时可以被检测出来,降低代码运行错误的风险。
使用ArkUI组件复用之后,还是没有显著提升列表滑动场景的性能,属于组件复用未生效可能的原因有?
A.页面嵌套了过多自定义组件
B.没有在aboutToReuse更新关联的状态变量数据,
C.复用的自定义组件中使用if等条件渲染语句导致结构不相同,未使用reuseld标记。
D.在aboutToReuse回调函数中更新了冗余的状态变量