最近有个同学考了HCIP-HarmonyOS H14-231,题库分享一下。完整题库发在"题主"小程序上了,需要的同学可以自己去找。
某开发者在使用WLAN功能时,写了如下代码,关于该代码描述正确的是哪个选项?()
wifi.getLinkedinfo ().then(data => { console.info ("get wifi linked info:" + JSON.stringify (data)); }).catch(error => { console.info("get wifi linked info error); });
A、需要权限ohos.permission.GET_WIFI_INFO
B、查询WLAN信号强度
C、查询WLAN是否已连接
D、查询WLAN是否已激活
答案:A
解析:调用wifi.getLinkedInfo ()方法用于获取WLAN连接信息,在HarmonyOS中需要申请ohos.permission.GET_WIFI_INFO权限才能获取。选项B(信号强度)、C(是否已连接)、D(是否已激活)并非该接口直接或唯一描述,且代码主要目的是获取连接详情,并非单纯的状态查询。
HarmonyOS默认共享内存的大小为?
A、8M
B、4M
C、2M
D、1M
答案:C
解析:在HarmonyOS中,默认的共享内存大小为2M。这是一个关于系统基础配置的知识点。
现将一个Text组件作为某个页面的标题,需要设置Text为不可见,但仍占据着当前布局空间,下列正确单选题的是哪一项?
A、ohos:visibility= hide
B、text.setVisibility(Component. VISIBLE)
C、ohos:visibility=visible
D、ohos: visibility=invisible
答案:D
解析:在HarmonyOS中,要使组件不可见但仍占据布局空间,应设置其visibility属性为invisible。选项A的hide语法错误(应为hide不是属性值,且格式应为ohos:visibility="invisible");选项B是设置为可见,与要求相反;选项C是设置为可见。属性值invisible表示不可见但占位。
某开发者定义了一个实体乎Student.java,并使用如下代码来构造数据表:
Entity(tableName="student", ignoredColumns =["ignoredColumn1"," ignoredColumn2", indices =(@Index(value=("firstName:", "lastName", name="name_index", unique = true))
Public.class User extends OrmObject(
@PrimaryKey(autoGenerate=true)
Private Integer userId;
Private String firstName;
Private String lastName;
Private int age;
Private double balance;
Private int ignoredColumn1;
Private int ignoredColumn2;
)下列关于这段代码的描述中,哪项是错误的?
A、IgnoredColumns表示该字段不需要添加到student表的属性中
B、Indices为firstName和lastName两个字段建立了复合索引lnameindex
C、数据表名为student
D、复合索引"nameindex的索引值不唯一
答案:D
解析:根据注解@Index(unique = true )可知,为firstName和lastName建立的复合索引name_index设置了unique = true,这意味着索引值是唯一的,所以选项D的描述"索引值不唯一"是错误的。选项A、B、C的描述均与代码含义相符。
某开发者想要开发一个具有页签功能的页面,该开发者可以使用HarmomyOS提供的TabList组件。如果想要设置文本水平居中对齐,下列代码正确的是哪一项?
A、ohos:text alignment=start
B、ohos:text alignment=bottomB
C、ohos:text alignment=vertical center
D、ohos:text alignment=horizontal center
答案:D
解析:在HarmonyOS中,使用ohos:text_alignment属性设置文本对齐方式。horizontal_center表示水平居中对齐。选项A是左对齐(start),选项B语法及语义错误,选项C是垂直居中(vertical_center)。
用户从音乐列表页面点击歌曲,跳转到该歌曲的播放界面,原理是页面路由route根据以下哪一项跳转到目标页面?
A、router.push
B、router.back
C、url
D、intent
答案:C
解析:在HarmonyOS中,页面路由(router)通过指定的URL(Uniform Resource Locator)来标识和导航到目标页面。开发者通过router.pushUrl ({url: '页面URL'})的方式实现页面跳转,其核心依据是目标页面对应的URL。选项A(router.push )是方法名,不是跳转依据;选项B(router.back)是返回操作;选项D(intent)是Android系统中的机制,在HarmonyOS中对应的是基于URL的路由。因此,路由跳转的依据是目标页面的URL。
某开发者设计了一款游戏应用,首页为MainAbility,点击桌面上的游戏图标,然后按下Home键从而将游戏隐藏到后台,MainAbility的生命周期是如何变化的?
A、onStart() → onResume() → onInActive() → onBackground()
B、onStart() → onActive() → onInActive() → onStop()
C、onStart() → onActive() → onInActive()
D、onStart() → onActive() → onInActive() → onBackground()
答案:D
解析:在HarmonyOS中,Ability的生命周期为:启动时调用onStart(),进入前台获得焦点时调用onActive();当按下Home键将应用切换到后台时,首先会失去焦点调用onInActive(),随后进入后台状态调用onBackground()。选项A错误地使用了onResume(Android生命周期);选项B错误地以onStop结束,这通常是Ability销毁时调用;选项C缺少进入后台的onBackground()状态。
在HarmonyOS系统架构中,以下哪项提供统一的外设访问能力和驱动的开发管理框架?
A、KAL (Kernel Abstract Layer)
B、Ability
C、UI
D、HDF (Hardware Driver Foundation)
答案:D
解析:HDF(Hardware Driver Foundation,硬件驱动框架)是HarmonyOS中提供统一外设访问能力和驱动开发、加载、管理的核心框架。选项A(KAL,内核抽象层)主要用于屏蔽底层内核差异;选项B(Ability)是应用组件;选项C(UI)是用户界面框架。
如果一个UI界面不再对用户可见,但又不想将其销毁,系统将调用哪个方法进行相应的资源释放?
A、onForeground()
B、onInactive()
C、onPause()
D、onBackground()
答案:D
解析:在HarmonyOS的Ability生命周期中,当Ability不再对用户可见(例如被其他Ability完全遮挡或切换到后台),但并未被销毁时,系统会调用onBackground()回调。在此回调中,开发者应释放不需要的UI资源,以优化内存使用。onInactive()在失去焦点时调用,此时可能仍部分可见;onForeground()是进入前台时调用;onPause()是Android的生命周期回调。
某开发者想要在应用中实现页面滑动的效果,该开发者需要选择以下哪个组件?
A、PageSlider
B、ToastDialog
C、webView
D、ProgressBar
答案:A
解析:PageSlider是HarmonyOS中用于实现页面滑动切换效果的组件,它支持通过滑动来浏览多个子页面。ToastDialog用于显示提示信息,webView用于加载网页,ProgressBar用于显示进度条,均不提供页面滑动切换功能。
某开发者在使用Text组件进行开发时,由于输入的字符串长度过长,需要将文本中间的内容使用省略号进行截断。请问使用下列哪条代码可以实现上述要求?
A、ohos:truncation_mode=ellipsis_at_start
B、ohos:truncation_mode=auto_scrolling
C、ohos:truncation mode=ellipsis_at_middle
D、ohos:truncation_mode=ellipsis_at_end
答案:C
解析:在HarmonyOS的Text组件中,通过设置truncation_mode属性来控制文本过长时的截断和省略方式。ellipsis_at_middle表示在文本中间显示省略号(例如,"开头...结尾"),符合题目要求。选项A是在开头显示省略号,选项B是自动滚动,选项D是在结尾显示省略号。注意选项C的属性名书写应为truncation_mode,但根据题意,其值ellipsis_at_middle是正确的选择。
HarmonyOS支持开发者在"reqPermissions"字段中自定义权限来访问受权限保护的对象,"reqPermissions"字段在哪个文件中配置?
A、config.json
B、ability_main.xml
C、MainAbilitySlice.java
D、string.json
答案:A
解析:在HarmonyOS应用开发中,应用所需的权限(包括自定义权限)需要在应用的配置文件config.json 中的module字段下的reqPermissions数组中进行声明。其他文件:ability_main.xml 是布局文件,MainAbilitySlice.java 是Java代码文件,string.json是字符串资源文件。
在HarmonyOS中,下列场景属于应用负责实例化的是哪一项?
A、通过一个超链接跳转到另一个页面
B、通过网页看小说,不小心点到一个广告,这个广告直接跳到应用商场请求下载某个游戏
C、一个应用页面有消息、联系人、设置等,在这些内容中进行切换
D、通过导航启动某个AbilitySlice
答案:C
解析:在HarmonyOS中,应用负责实例化通常指的是在同一Ability内,开发者通过代码主动创建和管理AbilitySlice的实例,并进行切换。选项C描述的应用内多个功能(消息、联系人、设置)之间的切换,通常是在同一个Ability内通过切换不同的AbilitySlice来实现,这需要应用自身负责实例化和管理这些Slice。选项A、B涉及页面跳转,通常由系统路由机制管理;选项D"通过导航启动某个AbilitySlice"也属于系统导航行为。
以下哪个子系统不属于HarmonyOS的基础软件服务子系统?
A、事件通知服务子系统
B、电话服务子系统
C、多媒体子系统
D、位置服务子系统
答案:D
解析:根据HarmonyOS的官方系统架构,基础软件服务子系统通常包括事件通知、电话服务、多媒体等核心系统服务。位置服务子系统通常被归类为增强软件服务子系统或特定领域服务,而非最基础的核心软件服务集合。因此,位置服务子系统不属于基础软件服务子系统。
工程师进行JS(JavaScript)开发,使用图片资源时,应用可以成功加载common路径下的本地图片,但无法加载网络图片。工程师应检查以下哪项权限?
A、ohos.permission.READ.MEDIA
B、ohos.permission.WRITE MEDIA
C、ohos.permission.INTERNET
D、ohos.permission.GET NETWORK INFO
答案:C
解析:加载网络图片需要应用能够访问互联网,因此在HarmonyOS中必须申请并获取ohos.permission.INTERNET网络权限。选项A和B涉及媒体文件的读写,与网络访问无关;选项D是获取网络状态信息,不是进行网络通信所必需的权限。
HarmonyOS视频模块支持视频业务的开发和生态开放,开发者可以通过已开放的接口很容易地实现视频媒体的播放、操作和新功能开发。视频播放包括播放控制、播放设置和播放查询,如播放的开始/停止、播放速度设置和是否循环播放等。当开发视频播放功能时,以下开发步骤正确的是哪一项?
A、创建Player实例 → 构造数据源对象并设置媒体源 → 调用方法prepare() → 调用方法play() → 调用方法stop() → 调用方法release()
B、创建Player实例 → 调用方法prepare() → 调用方法play() → 构造数据源对象并设置媒体源 → 调用方法stop() → 调用方法release()
C、构造数据源对象并设置媒体源 → 创建Player实例 → 调用方法play() → 调用方法prepare() → 调用方法stop() → 调用方法release()
D、调用方法prepare() → 创建Player实例 → 构造数据源对象并设置媒体源 → 调用方法 → 创建Player实例Play() → 调用方法stop() → 调用方法release()
答案:A
解析:HarmonyOS视频播放的标准流程是:先创建播放器(Player)实例,然后设置媒体源(数据源),接着调用prepare()进行准备,准备完成后调用play()开始播放,播放结束后调用stop()停止,最后调用release()释放资源。选项A正确遵循了这一顺序。其他选项的步骤顺序存在逻辑错误。
以下场景中,能够正确解释HarmonyOS剪贴板的是哪一项描述?
A、可以在应用A种复制,不可以在应用B中粘贴
B、可以在应用A中复制粘贴到应用B
C、只支持复制
D、只支持剪切
答案:B
解析:HarmonyOS的剪贴板服务提供系统级的复制、剪切和粘贴功能,支持跨应用的数据共享。因此,在一个应用(如应用A)中复制的数据,可以在另一个应用(如应用B)中进行粘贴。选项A、C、D的描述都是不完整或错误的。
某开发者正在开发一款机翼预订应用,在机翼的地点选择上,需要用到滑动选择器Picker,为了能够突出显示被选中的文本,该开发者设置了所选文本边距大于普通文本边距的呈现效果。以下设置正确的是哪几项?
A、<Picker...ohos:selected_normal_text_margin_ratio="5.0"/>
B、Picker.setSelectNormalTextMarginRatio (5.0f);
C、<Picker...Ohos:selected_normal_text_margin_ratio="0.5"/>
D、Picker.setSelectNormalTextMarginRatio (5 .0);
答案:B
解析:在HarmonyOS中,设置Picker组件选中文本与普通文本的边距比例(selected_normal_text_margin_ratio)可以通过Java代码调用setSelectedNormalTextMarginRatio(float ratio)方法实现,参数类型为float。选项B正确地使用了该方法并传入了浮点数5.0f 。选项A和C尝试在XML布局中设置,但属性名selected_normal_text_margin_ratio可能不正确(实际应为selected_normal_text_margin相关属性),且比例值5.0 或0.5的合理性取决于具体实现,但主要问题是XML设置方式在此题上下文中可能不适用或属性名有误。选项D缺少参数类型后缀'f'。最准确的方式是通过代码设置。
某HarmonyOS工程师准备在模拟器设备上调试HarmonyOS应用,以下调试流程中正确的是哪一项?
A、检查config.json文件属性 → 设置hap包安装方式 → 设置调试代码类型 → 启动调试
B、设置hap包安装方式 → 设置调试代码类型 → 检查config.json文件属性 → 启动调试
C、设置hap包安装方式 → 检查config.json文件属性 → 设置调试代码类型 → 启动调试
D、设置调试代码类型 → 检查config.json文件属性 → 设置hap包安装方式 → 启动调试
答案:D
解析:在HarmonyOS应用调试前,通常的流程是:首先在IDE中设置调试的代码类型(如Java/JS),然后检查应用的配置文件config.json以确保基本配置正确(如包名、版本等),接着设置HAP包的安装方式(例如自动安装到模拟器),最后启动调试会话。选项D符合这一逻辑顺序。
HarmonyOS的权限开放范围是指一个权限能被哪些应用申请,以下不属于权限开放范围字段的是哪一项?
A、privilege
B、signature
C、restricted
D、device
答案:D
解析:在HarmonyOS中,权限的开放范围(availableScope)定义了哪些应用可以申请该权限,其字段取值通常包括system_grant(系统授权)、privilege(特权应用)、signature(同签名应用)、restricted(受限应用)等。device不是权限开放范围的字段,它可能与设备类型或设备等级相关,但不直接用于定义权限的申请资格。因此选项D不属于。