You need to sign in or sign up before continuing.
未验证 提交 b733f452 编写于 作者: O openharmony_ci 提交者: Gitee

!18439 FAQ更新+website修改

Merge pull request !18439 from zengyawen/master
......@@ -5,7 +5,6 @@
- [HTTP数据请求](http-request.md)
- [WebSocket连接](websocket-connection.md)
- [Socket连接](socket-connection.md)
- [策略管理](net-policy-management.md)
- [网络共享](net-sharing.md)
- [以太网连接](net-ethernet.md)
- [网络连接管理](net-connection-manager.md)
......
# 网络策略管理部件
## 简介
网络策略管理提供一些限制网络的基础能力,包括蜂窝网络策略、休眠/省电模式策略、后台网络策略、重置网络策略等功能。
> **说明:**
> 为了保证应用的运行效率,大部分API调用都是异步的,对于异步调用的API均提供了callback和Promise两种方式,以下示例均采用callback函数,更多方式可以查阅[API参考](../reference/apis/js-apis-net-policy.md)。
## 基本概念
- 休眠模式:设备在不需要工作的时候把一些部件、外设关掉(进入低功耗模式),并限制部分应用对网络的访问。
- 省电模式:省电模式是系统里的一个开关,开启后会降低设备的性能,并限制部分应用对网络的访问。
- 省流量模式:即后台网络策略,对处于后台的使用计量网络的应用进行限制。
- 蜂窝网络:移动通信网络。
- 计量网络:设置了流量配额的电话卡网络、Wlan网络以及以太网。
## 约束
- 开发语言:C++ JS
- 系统:linux内核
- 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
## 场景介绍
网络策略管理的典型场景有:
- 设置计量网络配额/获取已经设置的计量网络策略
- 后台网络限制开关/获取后台网络限制状态/获取指定uid在后台状态下能否访问网络
- 设定指定uid访问计量网络的策略/获取指定uid访问计量网络的策略/获取设置了对应策略的uids
- 重置网络策略
- 判断uid能否访问计量/非计量网络
- 将对应uid从休眠白名单里添加、移除/获取休眠模式的白名单列表
- 将对应uid从省电白名单里添加、移除/获取省电模式的白名单列表
- 更新网络提醒策略
以下分别介绍具体开发方式。
## 接口说明
完整的JS API说明以及实例代码请参考:[网络策略管理](../reference/apis/js-apis-net-policy.md)
| 类型 | 接口 | 功能说明 |
| ---- | ---- | ---- |
| ohos.net.policy | function setBackgroundPolicy(isAllowed: boolean, callback: AsyncCallback\<void>): void |设置后台网络策略,使用callback方式作为异步方法 |
| ohos.net.policy | function isBackgroundAllowed(callback: AsyncCallback\<boolean>): void; |获取后台网络策略,使用callback方式作为异步方法 |
| ohos.net.policy | function setPolicyByUid(uid: number, policy: NetUidPolicy, callback: AsyncCallback\<void>): void; |设置对应uid应用的访问计量网络的策略,使用callback方式作为异步方法 |
| ohos.net.policy | function getPolicyByUid(uid: number, callback: AsyncCallback\<NetUidPolicy>): void;| 通过应用uid获取策略,使用callback方式作为异步方法 |
| ohos.net.policy | function getUidsByPolicy(policy: NetUidPolicy, callback: AsyncCallback\<Array\<number>>): void; | 通过策略获取设置这一策略的应用uid数组,使用callback方式作为异步方法 |
| ohos.net.policy | function getNetQuotaPolicies(callback: AsyncCallback\<Array\<NetQuotaPolicy>>): void; |获取计量网络策略,使用callback方式作为异步方法 |
| ohos.net.policy | function setNetQuotaPolicies(quotaPolicies: Array\<NetQuotaPolicy>, callback: AsyncCallback\<void>): void; |设置计量网络策略,使用callback方式作为异步方法 |
| ohos.net.policy | function restoreAllPolicies(iccid: string, callback: AsyncCallback\<void>): void; | 重置对应sim卡id的蜂窝网络、后台网络策略、防火墙策略、应用对应的策略,使用callback方式作为异步方法 |
| ohos.net.policy | function isUidNetAllowed(uid: number, isMetered: boolean, callback: AsyncCallback\<boolean>): void; | 获取对应uid能否访问计量或非计量网络,使用callback方式作为异步方法 |
| ohos.net.policy | function isUidNetAllowed(uid: number, iface: string, callback: AsyncCallback\<boolean>): void; | 获取对应uid能否访问指定的iface的网络,使用callback方式作为异步方法 |
| ohos.net.policy | function setDeviceIdleAllowList(uid: number, isAllowed: boolean, callback: AsyncCallback\<void>): void; | 设置指定uid应用是否在休眠防火墙的白名单,使用callback方式作为异步方法 |
| ohos.net.policy | function getDeviceIdleAllowList(callback: AsyncCallback\<Array\<number>>): void; | 获取休眠模式白名单所包含的uid数组,使用callback方式作为异步方法 |
| ohos.net.policy | function getBackgroundPolicyByUid(uid: number, callback: AsyncCallback\<NetBackgroundPolicy>): void; | 获取指定uid能否访问后台网络,使用callback方式作为异步方法 |
| ohos.net.policy | function resetPolicies(iccid: string, callback: AsyncCallback\<void>): void; | 重置对应sim卡id的蜂窝网络、后台网络策略、防火墙策略、应用对应的策略,使用callback方式作为异步方法 |
| ohos.net.policy | function updateRemindPolicy(netType: NetBearType, iccid: string, remindType: RemindType, callback: AsyncCallback\<void>): void; | 更新提醒策略,使用callback方式作为异步方法 |
| ohos.net.policy | function setPowerSaveAllowList(uid: number, isAllowed: boolean, callback: AsyncCallback\<void>): void; | 设置指定uid应用是否在省电防火墙的白名单,使用callback方式作为异步方法 |
| ohos.net.policy | function getPowerSaveAllowList(callback: AsyncCallback\<Array\<number>>): void; | 获取省电模式白名单所包含的uid数组,使用callback方式作为异步方法 |
| ohos.net.policy | function on(type: "netUidPolicyChange", callback: Callback\<{ uid: number, policy: NetUidPolicy }>): void; | 订阅policy发生改变时的回调,使用callback方式作为异步方法 |
| ohos.net.policy | function off(type: "netUidPolicyChange", callback: Callback\<{ uid: number, policy: NetUidPolicy }>): void; | 取消订阅policy发生改变时的回调,使用callback方式作为异步方法 |
| ohos.net.policy | function on(type: "netUidRuleChange", callback: Callback\<{ uid: number, rule: NetUidRule }>): void; | 订阅rule发生改变时的回调,使用callback方式作为异步方法 |
| ohos.net.policy | function off(type: "netUidRuleChange", callback: Callback\<{ uid: number, rule: NetUidRule }>): void; | 取消订阅rule发生改变时的回调,使用callback方式作为异步方法 |
| ohos.net.policy | function on(type: "netMeteredIfacesChange", callback: Callback\<Array\<string>>): void; | 订阅计量iface发生改变时的回调,使用callback方式作为异步方法 |
| ohos.net.policy | function off(type: "netMeteredIfacesChange", callback: Callback\<Array\<string>>): void; | 取消订阅计量iface发生改变时的回调,使用callback方式作为异步方法 |
| ohos.net.policy | function on(type: "netQuotaPolicyChange", callback: Callback\<Array\<NetQuotaPolicy>>): void; | 订阅计量网络策略发生改变时的回调,使用callback方式作为异步方法 |
| ohos.net.policy | function off(type: "netQuotaPolicyChange", callback: Callback\<Array\<NetQuotaPolicy>>): void; | 取消订阅计量网络策略发生改变时的回调,使用callback方式作为异步方法 |
| ohos.net.policy | function on(type: "netBackgroundPolicyChange", callback: Callback\<boolean>): void; | 订阅后台网络策略发生改变时的回调,使用callback方式作为异步方法 |
| ohos.net.policy | function off(type: "netBackgroundPolicyChange", callback: Callback\<boolean>): void; | 取消订阅后台网络策略发生改变时的回调,使用callback方式作为异步方法 |
## 设置计量网络配额/获取已经设置的计量网络策略
1. 从@ohos.net.policy.d.ts中导入policy命名空间。
2. 调用setNetQuotaPolicies方法,设置计量网络策略。
3. 调用getNetQuotaPolicies方法,获取计量网络策略。
```js
// 引入包名
import policy from '@ohos.net.policy';
addNetQuotaPolicy(){
let param = {
// netType值详见 [NetBearType](../reference/apis/js-apis-net-connection.md#netbeartype)
netType:Number.parseInt(this.netType),
// 计量蜂窝网络的SIM卡的标识值。以太网,wifi网络不会用到
iccid:this.iccid,
// 计量蜂窝网络中配合iccid联合使用。以太网,wifi网络单独使用。用于标记类型
ident:this.ident,
// 计量开始时间。例如M1、D1、Y1等
periodDuration:this.periodDuration,
// 发出警告的流量阈值 大于0的整数即可
warningBytes:Number.parseInt(this.warningBytes),
// 流量设置的配额 大于0的整数即可
limitBytes:Number.parseInt(this.limitBytes),
// 是否为计量网络 true为计量网络 false为非计量网络
metered:Boolean(Number.parseInt(this.metered)),https://gitee.com/openharmony/docs/pulls/14404
// 到达流量限制后的动作 详见[LimitAction](../reference/apis/js-apis-net-policy.md#limitaction)
limitAction:Number.parseInt(this.limitAction)
};
this.netQuotaPolicyList.push(param);
},
// 订阅计量网络iface发生改变时的回调
policy.on('netMeteredIfacesChange', (data) => {
this.log('on netMeteredIfacesChange:' + JSON.stringify(data));
});
// 订阅计量网络策略发生改变时的回调
policy.on('netQuotaPolicyChange', (data) => {
this.log('on netQuotaPolicyChange:' + JSON.stringify(data));
});
// 调用setNetQuotaPolicies方法,设置计量网络策略
setNetQuotaPolicies(){
this.dialogType = DialogType.HIDE;
policy.setNetQuotaPolicies(this.netQuotaPolicyList, (err, data) => {
console.log(JSON.stringify(err))
console.log(JSON.stringify(data))
});
},
// 调用getNetQuotaPolicies方法,获取计量网络策略
getNetQuotaPolicies(){
policy.getNetQuotaPolicies((err, data) => {
this.callBack(err, data);
if(data){
this.netQuotaPolicyList = data;
}
});
},
// 取消订阅计量网络iface发生改变时的回调
policy.off('netMeteredIfacesChange', (data) => {
this.log('off netMeteredIfacesChange:' + JSON.stringify(data));
});
// 取消订阅计量网络策略发生改变时的回调
policy.off('netQuotaPolicyChange', (data) => {
this.log('off netQuotaPolicyChange:' + JSON.stringify(data));
});
```
## 后台网络限制开关/获取后台网络限制状态/获取指定uid在后台状态下能否访问网络
### 开发步骤
1. 从@ohos.net.policy.d.ts中导入policy命名空间。
2. 调用setBackgroundAllowed方法,设置开启后台省流量或关闭后台省流量。
3. 调用isBackgroundAllowed方法,获取后台网络限制状态(省流量)是开启还是关闭。
4. 调用getBackgroundPolicyByUid方法,获取指定uid在后台状态下能否访问网络。
```js
// 引入包名
import policy from '@ohos.net.policy'
// 订阅后台网络策略发生改变时的回调
policy.on('netBackgroundPolicyChange', (data) => {
this.log('on netBackgroundPolicyChange:' + JSON.stringify(data));
});
// 调用setBackgroundAllowed方法,设置开启后台省流量或关闭后台省流量
setBackgroundAllowed() {
policy.setBackgroundAllowed(Boolean(Number.parseInt(this.isBoolean)), (err, data) => {
console.log(JSON.stringify(err))
console.log(JSON.stringify(data))
});
},
// 调用isBackgroundAllowed方法,获取后台网络限制状态(省流量)是开启还是关闭。
isBackgroundAllowed() {
policy.isBackgroundAllowed((err, data) => {
console.log(JSON.stringify(err))
console.log(JSON.stringify(data))
});
},
// 调用getBackgroundPolicyByUid方法,获取指定uid在后台状态下能否访问网络。
getBackgroundPolicyByUid() {
policy.getBackgroundPolicyByUid(Number.parseInt(this.firstParam), (err, data) => {
console.log(JSON.stringify(err))
console.log(JSON.stringify(data))
});
},
// 取消订阅后台网络策略发生改变时的回调
policy.off('netBackgroundPolicyChange', (data) => {
this.log('off netBackgroundPolicyChange:' + JSON.stringify(data));
});
```
## 设定指定uid访问计量网络的策略/获取指定uid访问计量网络的策略/获取设置了对应策略的uids
### 开发步骤
1. 从@ohos.net.policy.d.ts中导入policy命名空间。
2. 调用setPolicyByUid方法,设置指定uid是否可以访问后台网络。
3. 调用getPolicyByUid方法,获取指定uid的策略。
4. 调用getUidsByPolicy方法,获取使用指定策略的uids。
```js
// 引入包名
import policy from '@ohos.net.policy'
// 订阅uid的policy发生改变时的回调
policy.on('netUidPolicyChange', (data) => {
this.log('on netUidPolicyChange:' + JSON.stringify(data));
});
// 订阅uid的rule发生改变时的回调
policy.on('netUidRuleChange', (data) => {
this.log('on netUidRuleChange:' + JSON.stringify(data));
});
// 调用setPolicyByUid方法,设置指定uid是否可以访问后台网络
setPolicyByUid() {
let param = {
uid: Number.parseInt(this.firstParam), policy: Number.parseInt(this.currentNetUidPolicy)
}
policy.setPolicyByUid(Number.parseInt(this.firstParam), Number.parseInt(this.currentNetUidPolicy), (err, data) => {
console.log(JSON.stringify(err))
console.log(JSON.stringify(data))
});
},
// 调用getPolicyByUid方法,获取指定uid的策略
getPolicyByUid() {
policy.getPolicyByUid(Number.parseInt(this.firstParam), (err, data) => {
console.log(JSON.stringify(err))
console.log(JSON.stringify(data))
});
},
// 调用getUidsByPolicy方法,获取使用指定策略的uids
getUidsByPolicy(){
policy.getUidsByPolicy(Number.parseInt(this.currentNetUidPolicy), (err, data) => {
console.log(JSON.stringify(err))
console.log(JSON.stringify(data))
});
},
// 取消订阅uid的policy发生改变时的回调
policy.off('netUidPolicyChange', (data) => {
this.log('off netUidPolicyChange:' + JSON.stringify(data));
});
// 取消订阅uid的rule发生改变时的回调
policy.off('netUidRuleChange', (data) => {
this.log('off netUidRuleChange:' + JSON.stringify(data));
});
```
## 重置网络策略
### 开发步骤
1. 从@ohos.net.policy.d.ts中导入policy命名空间。
2. 调用restoreAllPolicies方法,重置网络策略。
```js
// 引入包名
import policy from '@ohos.net.policy'
// 调用restoreAllPolicies方法,重置网络策略
restoreAllPolicies(){
policy.restoreAllPolicies(this.firstParam, (err, data) => {
console.log(JSON.stringify(err))
console.log(JSON.stringify(data))
});
},
```
## 判断uid能否访问计量/非计量网络
### 开发步骤
1. 从@ohos.net.policy.d.ts中导入policy命名空间。
2. 调用isUidNetAllowed方法,获取uid能否访问计量/非计量网络。
```js
// 引入包名
import policy from '@ohos.net.policy'
// 调用isUidNetAllowed方法,获取uid能否访问计量/非计量网络
isUidNetAllowedIsMetered(){
let param = {
uid: Number.parseInt(this.firstParam), isMetered: Boolean(Number.parseInt(this.isBoolean))
}
policy.isUidNetAllowed(Number.parseInt(this.firstParam), Boolean(Number.parseInt(this.isBoolean)), (err, data) => {
console.log(JSON.stringify(err))
console.log(JSON.stringify(data))
});
},
```
## 将对应uid从休眠白名单里添加、移除/获取休眠模式的白名单列表
### 开发步骤
1. 从@ohos.net.policy.d.ts中导入policy命名空间。
2. 调用setDeviceIdleAllowList方法,设置uid是否添加到休眠模式白名单。
3. 调用getDeviceIdleAllowList方法,获取添加在休眠模式白名单的uids。
```js
// 引入包名
import policy from '@ohos.net.policy'
// 调用setDeviceIdleAllowList方法,设置uid是否添加到休眠模式白名单
setDeviceIdleAllowList(){
let param = {
uid: Number.parseInt(this.firstParam), isAllowed: Boolean(Number.parseInt(this.isBoolean))
}
policy.setDeviceIdleAllowList(Number.parseInt(this.firstParam), Boolean(Number.parseInt(this.isBoolean)), (err, data) => {
console.log(JSON.stringify(err))
console.log(JSON.stringify(data))
});
},
// 调用getDeviceIdleAllowList方法,获取添加在休眠模式白名单的uids
getDeviceIdleAllowList(){
policy.getDeviceIdleAllowList((err, data) => {
console.log(JSON.stringify(err))
console.log(JSON.stringify(data))
});
},
```
## 将对应uid从省电白名单里添加、移除/获取省电模式的白名单列表
### 开发步骤
1. 从@ohos.net.policy.d.ts中导入policy命名空间。
2. 调用setPowerSaveAllowList方法,设置uid是否添加到省电模式白名单。
3. 调用getPowerSaveAllowList方法,获取添加在省电模式白名单的uids。
```js
// 引入包名
import policy from '@ohos.net.policy'
// 调用setPowerSaveAllowList方法,设置uid是否添加到省电模式白名单
setPowerSaveAllowList(){
let param = {
uid: Number.parseInt(this.firstParam), isAllowed: Boolean(Number.parseInt(this.isBoolean))
}
policy.setPowerSaveAllowList(Number.parseInt(this.firstParam), Boolean(Number.parseInt(this.isBoolean)), (err, data) => {
console.log(JSON.stringify(err))
console.log(JSON.stringify(data))
});
},
// 调用getPowerSaveAllowList方法,获取添加在省电模式白名单的uids
getPowerSaveAllowList(){
policy.getPowerSaveAllowList((err, data) => {
console.log(JSON.stringify(err))
console.log(JSON.stringify(data))
});
},
```
## 更新网络提醒策略
### 开发步骤
1. 从@ohos.net.policy.d.ts中导入policy命名空间。
2. 调用updateRemindPolicy,更新网络提醒策略。
```js
// 引入包名
import policy from '@ohos.net.policy'
// 调用updateRemindPolicy,更新网络提醒策略
updateRemindPolicy() {
let param = {
netType: Number.parseInt(this.netType), iccid: this.firstParam, remindType: this.currentRemindType
}
policy.updateRemindPolicy(Number.parseInt(this.netType), this.firstParam, Number.parseInt(this.currentRemindType), (err, data) => {
console.log(JSON.stringify(err))
console.log(JSON.stringify(data))
});
},
```
\ No newline at end of file
......@@ -3,8 +3,13 @@
- [如何编译full-SDK](full-sdk-compile-guide.md)
- [如何替换full-SDK](full-sdk-switch-guide.md)
- [Ability开发常见问题](faqs-ability.md)
- [ArkUI框架开发常见问题](faqs-arkui.md)
- [ArkUI开发框架开发-ArkTS语法常见问题](faqs-arkui-arkts.md)
- ArkUI框架开发常见问题(ArkTS)
- [ArkTS语法使用常见问题](faqs-arkui-arkts.md)
- [ArkUI组件开发常见问题(ArkTS)](faqs-arkui-component.md)
- [ArkUI布局开发常见问题(ArkTS)](faqs-arkui-layout.md)
- [ArkUI路由/导航开发常见问题(ArkTS)](faqs-arkui-route-nav.md)
- [ArkUI动画/交互事件开发常见问题(ArkTS)](faqs-arkui-animation-interactive-event.md)
-[ArkUI框架开发常见问题(JS)](faqs-arkui-js.md)
- [Web开发常见问题](faqs-arkui-web.md)
- [包管理开发常见问题](faqs-bundle-management.md)
- [资源管理开发常见问题](faqs-globalization.md)
......
# ArkUI动画/交互事件开发常见问题(ArkTS)
## 焦点事件onBlur/onFocus回调无法触发
适用于 OpenHarmony 3.2 Beta5 API 9
**问题现象**
焦点事件onBlur/onFocus回调无法触发
**解决措施**
焦点事件默认情况下需要外接键盘的Tab键,或方向键触发,点击触发焦点事件需要添加焦点控制属性focusOnTouch。
**参考链接**
[焦点控制](../reference/arkui-ts/ts-universal-attributes-focus.md)
## scroll里面套一个grid,如何禁用grid的滑动事件
适用于 OpenHarmony 3.2 Beta5 API 9
可以通过onScrollFrameBegin事件和scrollBy方法实现容器嵌套滚动。
可参考:[容器嵌套滚动样例](../reference/arkui-ts/ts-container-scroll.md#示例2)
## 如何实现一个组件不停地旋转
适用于 OpenHarmony 3.2 Beta5 API 9
可以通过[属性动画](../reference/arkui-ts/ts-animatorproperty.md)的方式实现。
## 列表目前无法键盘上下滑动,是否能力不支持
适用于 OpenHarmony 3.2 Beta5 API 9
**解决措施**
有以下两种方案:
1. 需要在列表子项中添加focusable\(true\)进行获焦。
2. 在每个item的外层嵌套一个可获焦组件,例如Button。
## 键盘移动焦点对象按下enter,为什么不会触发点击事件
适用于 OpenHarmony 3.2 Beta5 API 9
组件的内置的点击事件和开发者自定义的onClick点击事件默认会和空格键绑定,并非与enter键绑定(UX规格)。
## 多层组件嵌套button,如何阻止事件传递
适用于 OpenHarmony 3.2 Beta5 API 9
可以通过将button组件绑定参数stopPropagation来控制冒泡传递。
## 使用router或Navigator实现页面跳转时,如何关闭页面间转场动效
适用于 OpenHarmony 3.2 Beta5 API 9
1. 参考[页面间转场示例](../reference/arkui-ts/ts-page-transition-animation.md#示例)在当前页面和目标页面中定义pageTransition方法。
2. 将页面入场组件PageTransitionEnter和页面退场组件PageTransitionExit的动效参数duration都设置为0。
## 在容器组件嵌套的场景下,如何解决手势拖拽事件出现错乱的问题
适用于 OpenHarmony 3.2 Beta5 API 9
PanGesture用于触发拖动手势事件,滑动的最小距离distance默认为5vp时拖动手势识别成功。可以将distance值设为1,使拖动更灵敏,避免造成事件错乱。
**参考链接**
[PanGesture](../reference/arkui-ts/ts-basic-gestures-pangesture.md)
## 基于OpenHarmony开发的应用,是否支持使用fontFamily属性设置不同的字体
适用于:OpenHarmony 3.2 Beta5 API 9
基于OpenHarmony开发的应用,默认字体'HarmonyOS Sans',且当前只支持这种字体。
## 点击输入框时会拉起软键盘,点击button时软键盘关闭要如何实现
适用于 OpenHarmony 3.2 Beta5 API 9
TextInput获取焦点会弹出输入法,失去焦点就会关闭软键盘,使用focusControl控制焦点即可关闭软件盘。
**代码示例**
```
build() {
Column() {
TextInput()
Button(`hide`)
.key('button')
.onClick(()=>{
focusControl.requestFocus('button')
})
}
}
```
## 当父组件绑定了onTouch,其子组件Button绑定了onClick,如何做到点击Button只响应Button的onClick,而不用响应父组件的onTouch?
适用于 OpenHarmony 3.2 Beta5 API 9
可以在Button组件中绑定onTouch,并在onTouch中使用stopPropagation\(\)阻止onTouch冒泡传递到父组件阻止冒泡传递。
**代码示例**
```
build() {
Row() {
Button("点击我")
.width(100)
.width(100)
.backgroundColor('#f00')
.onClick(()=>{
console.log("Button onClick")
})
.onTouch((e) => {
console.log("Button onTouch")
e.stopPropagation()
})
}
.onTouch(() => {
console.log("Row onTouch")
})
}
```
## 绑定菜单后无法使用右键触发菜单
适用于:OpenHarmony 3.2 Beta API 9
**解决措施**
目前菜单仅支持点击、长按触发方式,没有右键方式。
## 点击文本输入框,如何屏蔽系统默认键盘弹起行为?
适用于:OpenHarmony 3.2 Beta5 API 9
设置TextInput组件的focusable属性为false,此组件则不可获焦,就不会拉起系统默认的键盘。
## 如何实现上下切换的页面间跳转动画
适用于:OpenHarmony 3.2 Beta5 API 9
**问题现象**
页面切换时如何实现上下切换动画
**解决措施**
可以使用pageTransition函数来实现页面转场效果,通过PageTransitionEnter和PageTransitionExit指定页面进入和退出的动画效果,将其slide属性设置为SlideEffect.Bottom,则页面入场时从下边划入,出场时滑出到下边,即可实现上下切换效果。
**代码示例**
```
// Index.ets
@Entry
@Component
struct PageTransition1 {
build() {
Stack({alignContent: Alignment.Bottom}) {
Navigator({ target: 'pages/Page1'}) {
Image($r('app.media.ic_banner01')).width('100%').height(200) // 图片存放在media文件夹下
}
}.height('100%').width('100%')
}
pageTransition() {
PageTransitionEnter({ duration: 500, curve: Curve.Linear }).slide(SlideEffect.Bottom)
PageTransitionExit({ duration: 500, curve: Curve.Ease }).slide(SlideEffect.Bottom)
}
}
```
```
// Page1.ets
@Entry
@Component
struct PageTransition2 {
build() {
Stack({alignContent: Alignment.Bottom}) {
Navigator({ target: 'pages/Index'}) {
Image($r('app.media.ic_banner02')).width('100%').height(200) // 图片存放在media文件夹下
}
}.height('100%').width('100%')
}
pageTransition() {
PageTransitionEnter({ duration: 500, curve: Curve.Linear }).slide(SlideEffect.Bottom)
PageTransitionExit({ duration: 500, curve: Curve.Ease }).slide(SlideEffect.Bottom)
}
}
```
**参考链接**
[页面转场动画](https://docs.openharmony.cn/pages/v3.2/zh-cn/application-dev/ui/arkts-page-transition-animation.md/)
## 自定义组件间如何实现从底部滑入滑出的效果
适用于:OpenHarmony 3.2 Beta5 API 9
**问题现象**
一个页面底部默认显示自定义组件A,点击自定义组件A,则A消失,自定义组件B从底部出现;点击自定义组件B,则组件B消失,A从底部出现。这个效果要如何实现?
**解决措施**
可以使用transition产生组件转场动画,其参数type用来设置组件变化场景,包括新增和删除;参数translate用来设置转场时的平移效果。注意transition需要配合animateTo才能生效,动效时长、曲线、延时跟随animateTo中的配置。
**代码示例**
```
@Entry
@Component
struct ComponentTransition {
@State flag: boolean = true;
build() {
Stack({alignContent: Alignment.Bottom}) {
if (this.flag) {
ComponentChild1({ flag: $flag })
.transition({ type: TransitionType.Insert,translate: { x: 0, y: 200 } })
}
if (!this.flag) {
ComponentChild2({ flag: $flag })
.transition({ type: TransitionType.Insert, translate: { x: 0, y: 200 } })
}
}.height('100%').width('100%')
}
}
@Component
struct ComponentChild1 {
@Link flag: boolean
build() {
Column() {
Image($r('app.media.ic_banner01'))
.width('100%')
.height(200)
.onClick(() => {
animateTo({ duration: 1000 }, () => {
this.flag = !this.flag;
})
})
}
}
}
@Component
struct ComponentChild2 {
@Link flag: boolean
build() {
Column() {
Image($r('app.media.ic_banner02'))
.width('100%')
.height(200)
.onClick(() => {
animateTo({ duration: 1000 }, () => {
this.flag = !this.flag;
})
})
}
}
}
```
**参考链接**
[组件内转场动画](https://docs.openharmony.cn/pages/v3.2/zh-cn/application-dev/ui/arkts-transition-animation-within-component.md/)
# ArkUI开发框架(ArkTS语法)
# ArkTS语法使用常见问题
## ArkUI如何通过代码动态创建组件
......
# ArkUI框架开发常见问题
## 如何动态替换掉资源文件中的“%s”占位符
适用于OpenHarmony 3.2 Beta5 API 9
**问题现象**
引用String资源,如何动态替换资源文件中的“%s”占位符。
**解决措施**
在应用中,通过`$r('app.string.xx')`的形式引用应用资源,\$r的第二个参数可用于替换%s占位符。
**代码示例**
```
build() {
//do something
//引用的string资源,$r的第二个参数用于替换%s
Text($r('app.string.entry_desc','aaa'))
.fontSize(100)
.fontColor(Color.Black)
//do something
}
```
# ArkUI组件开发常见问题(ArkTS)
## 自定义弹窗能否在ts文件中定义和使用
适用于:OpenHarmony 3.2 Beta5 API 9 Stage模型
适用于:OpenHarmony 3.2 Beta5 API 9
自定义弹窗的定义和初始化需要用到属于ArkTS语法内容,必须在ets后缀文件中定义使用,不能在ts后缀文件中定义使用。
......@@ -37,7 +12,7 @@ build() {
## 自定义弹窗中的变量如何传递给页面
适用于:OpenHarmony 3.2 Beta5 API 9 Stage模型
适用于:OpenHarmony 3.2 Beta5 API 9
**问题现象**
......@@ -177,7 +152,7 @@ build() {
## 如何获取组件的宽高
适用于:OpenHarmony 3.2 Beta5 API 9 Stage模型
适用于:OpenHarmony 3.2 Beta5 API 9
**问题现象**
......@@ -194,7 +169,7 @@ build() {
## 如何一键清空TextInput、TextArea组件内容
适用于:OpenHarmony 3.2 Beta5 API 9 Stage模型
适用于:OpenHarmony 3.2 Beta5 API 9
**问题现象**
......@@ -230,7 +205,7 @@ controller: TextInputController = new TextInputController()
## 如何设置自定义弹窗位置
适用于:OpenHarmony 3.2 Beta5 API 9 Stage模型
适用于:OpenHarmony 3.2 Beta5 API 9
**问题现象**
......@@ -246,7 +221,7 @@ controller: TextInputController = new TextInputController()
## 如何隐藏容器组件的溢出内容
适用于:OpenHarmony 3.2 Beta5 API 9 Stage模型
适用于:OpenHarmony 3.2 Beta5 API 9
**问题现象**
......@@ -260,10 +235,9 @@ controller: TextInputController = new TextInputController()
[形状裁剪](../reference/arkui-ts/ts-universal-attributes-sharp-clipping.md)
## 自定义弹窗大小如何自适应内容
适用于:OpenHarmony 3.2 Beta5 API 9 Stage模型
适用于:OpenHarmony 3.2 Beta5 API 9
**问题现象**
......@@ -280,7 +254,7 @@ controller: TextInputController = new TextInputController()
## 如何理解自定义弹窗中的gridCount参数
适用于:OpenHarmony 3.2 Beta5 API 9 Stage模型
适用于:OpenHarmony 3.2 Beta5 API 9
gridCount参数是指弹窗宽度占栅格列数的个数。系统把窗口宽等分,等分的份数即为栅格列数,不同设备栅格列数不同。比如手机屏幕密度值在320vp<=水平宽度<600vp,所以栅格列数是4,则gridCount的有效值在\[1, 4\]
......@@ -292,7 +266,7 @@ gridCount参数是指弹窗宽度占栅格列数的个数。系统把窗口宽
## 如何去除自定义弹窗的白色背景
适用于:OpenHarmony 3.2 Beta5 API 9 Stage模型
适用于:OpenHarmony 3.2 Beta5 API 9
**问题现象**
......@@ -311,7 +285,7 @@ gridCount参数是指弹窗宽度占栅格列数的个数。系统把窗口宽
## TextInput组件密码模式下,右边的眼睛图标能否支持自定义
适用于:OpenHarmony 3.2 Beta5 API 9 Stage模型
适用于:OpenHarmony 3.2 Beta5 API 9
**问题现象**
......@@ -327,7 +301,7 @@ TextInput组件设置type为InputType.Password时,右侧出现眼睛图标,
## TextInput的onSubmit事件如何使用
适用于:OpenHarmony 3.2 Beta5 API 9 Stage模型
适用于:OpenHarmony 3.2 Beta5 API 9
**问题现象**
......@@ -343,7 +317,7 @@ onSubmit事件在外接键盘或软键盘回车时触发该回调,回调的参
## TextInput在聚焦时如何使光标回到起点
适用于:OpenHarmony 3.2 Beta5 API 9 Stage模型
适用于:OpenHarmony 3.2 Beta5 API 9
**问题现象**
......@@ -381,21 +355,10 @@ struct TextInputDemo {
[TextInput组件](../reference/arkui-ts/ts-basic-components-textinput.md)
## 如何获取组件的属性信息
适用于:OpenHarmony 3.2 Beta5 API 9 Stage模型
**解决措施**
组件所有属性信息可通过通用属性-组件标识内getInspectorByKey获取。
**参考链接**
[组件标识](../reference/arkui-ts/ts-universal-attributes-component-id.md)
## 如何获取可滚动组件的当前滚动偏移量
适用于:OpenHarmony 3.2 Beta5 API 9 Stage模型
适用于:OpenHarmony 3.2 Beta5 API 9
**问题现象**
......@@ -412,7 +375,7 @@ struct TextInputDemo {
## 如何实现文本竖向排列
适用于:OpenHarmony 3.2 Beta5 API 9 Stage模型
适用于:OpenHarmony 3.2 Beta5 API 9
**问题现象**
......@@ -428,7 +391,7 @@ Text组件当前文本排列方向固定为横向排列,要设置为竖向排
@Entry
@Component
struct Index15 {
private message: string = '本文档适用于应用开发的初学者。通过构建一个简单的具有页面跳转/返回功能的应用,快速了解工程目录的主要文件,熟悉应用开发流程。';
private message: string = '本文档适用于HarmonyOS应用开发的初学者。通过构建一个简单的具有页面跳转/返回功能的应用,快速了解工程目录的主要文件,熟悉HarmonyOS应用开发流程。';
build() {
Flex({ direction: FlexDirection.Column, wrap: FlexWrap.Wrap }) {
ForEach(this.message.split(''), (item, index) => {
......@@ -441,35 +404,9 @@ struct Index15 {
}
```
## 如何创建Toast窗口
适用于:OpenHarmony 3.2 Beta5 API 9 Stage模型
**问题现象**
应用做弱提示时,需要采用Toast窗口。
**解决措施**
可使用系统提供的@ohos.promptAction接口创建Toast窗口。
**参考链接**
[@ohos.promptAction \(弹窗\)](../reference/apis/js-apis-promptAction.md)
## Toast弹窗是否支持自定义背景或者字体颜色
适用于 OpenHarmony 3.2 Beta5 API 9 Stage模型
当前版本不支持Toast弹窗自定义背景和字体颜色。
**参考链接**
[@ohos.promptAction \(弹窗\)](../reference/apis/js-apis-promptAction.md)
## 如何将Ability的UI界面设置成透明
适用于:OpenHarmony SDK 3.2,API9
适用于:OpenHarmony 3.2 Beta5,API9
**问题现象**
......@@ -717,750 +654,62 @@ struct StyleExample {
Scroll组件中的容器组件不设置尺寸,大小由内容撑开。
## ArkTS使用position之后height不生效
适用于 OpenHarmony 3.2 Beta5 API 9
**问题现象**
ArkTS使用position之后height不生效
**解决措施**
容器组件在使用position之后会脱离文本流,导致容器脱离外层容器束缚,导致height不生效,可以将外层容器换成Stack可以解决这个问题。
## 焦点事件onBlur/onFocus回调无法触发
适用于 OpenHarmony 3.2 Beta5 API 9
**问题现象**
焦点事件onBlur/onFocus回调无法触发
**解决措施**
焦点事件默认情况下需要外接键盘的Tab键,或方向键触发,点击触发焦点事件需要添加焦点控制属性focusOnTouch。
**参考链接**
[焦点控制](../reference/arkui-ts/ts-universal-attributes-focus.md)
## scroll里面套一个grid,怎么禁用grid的滑动事件
适用于 OpenHarmony 3.2 Beta5 API 9
可以通过onScrollFrameBegin事件和scrollBy方法实现容器嵌套滚动。
可参考:[容器嵌套滚动样例](../reference/arkui-ts/ts-container-scroll.md#示例2)
## 如何实现一个组件不停地旋转
适用于 OpenHarmony 3.2 Beta5 API 9
可以通过[属性动画](../reference/arkui-ts/ts-animatorproperty.md)的方式实现。
## 列表目前无法键盘上下滑动,是否能力不支持
适用于 OpenHarmony 3.2 Beta5 API 9
**问题现象**
列表目前无法键盘上下滑动,是否能力不支持
**解决措施**
有以下两种方案:
1. 需要在列表子项中添加focusable\(true\)进行获焦。
2. 在每个item的外层嵌套一个可获焦组件,例如Button。
## 键盘移动焦点对象按下enter,为什么不会触发点击事件?
适用于 OpenHarmony 3.2 Beta5 API 9
组件的内置的点击事件和开发者自定义的onClick点击事件默认会和空格键绑定,并非与enter键绑定(UX规格)
## 多层组件嵌套button,如何阻止事件传递
适用于 OpenHarmony 3.2 Beta5 API 9
可以通过将button组件绑定参数stopPropagation来控制冒泡传递。
## ArkUI如何通过代码动态创建组件
适用于:OpenHarmony 3.2 Beta5 API 9
**解决措施**
ArkUI使用ArkTS声明式开发范式,开发者无法持有组件实例,在声明时通过渲染控制语法以及动态构建UI元素的方式,控制组件的创建。
**代码示例**
```
// 条件渲染语句创建组件
if(this.isTrue) {
Text("创建文本组件").fontSize(30)
}
// 循环渲染语句创建组件
ForEach(this.nums,(item) => {
Text(item + '').fontSize(30)
},item => JSON.stringify(item))
```
**参考链接**
[渲染控制语法](../quick-start/arkts-rendering-control-overview.md)
## 使用@Builder装饰器包含自定义组件的方法与普通方法的区别是什么
适用于:OpenHarmony 3.2 Beta5 API 9
**解决措施**
@Builder装饰的方法中使用了自定义组件,那么该方法每次被调用时,对应的自定义组件均会重新创建,普通方法中不使用@builder装饰,无法容纳自定义组件。
**参考链接**
[@BuilderParam](../quick-start/arkts-builderparam.md)
## 如何使用@BuilderParam装饰器进行组件传参
适用于:OpenHarmony 3.2 Beta5 API 9
**解决措施**
- 不带参数
对@BuilderParam修饰的属性进行赋值时不带参数(如:content: this.specificParam),则此属性的类型需定义成无返回值的函数(如:@BuilderParam content: \(\) =\> void)。
- 带参数
对@BuilderParam修饰的属性进行赋值时带参数(如:callContent: this.specificParam1\("111"\)),则此属性的类型需定义成any(如:@BuilderParam callContent: any)。
**参考链接**
[@BuilderParam](../quick-start/arkts-builderparam.md)
## 如何监听数组内对象属性变化
适用于:OpenHarmony 3.2 Beta5 API9
**问题现象**
数组内存储对象示例,需要对对象的属性变化进行监听。
**解决措施**
通过@Observed配合@ObjectLink装饰符实现。@Observed用于类,@ObjectLink用于变量。
**代码示例**
1. 在类上使用@Observed。
```
@Observed
class ClassA {
public name: string
public c: number
public id: number
constructor(c: number, name: string = 'OK') {
this.name = name
this.c = c
}
}
```
2. 在组件变量使用@ObjectLink。
```
@Component
struct ViewA {
label: string = 'ViewA1'
@ObjectLink a: ClassA
build() {
Row() {
Button(`ViewA [${this.label}] this.a.c= ${this.a.c} +1`)
.onClick(() => {
this.a.c += 1
})
}.margin({ top: 10 })
}
}
```
**参考链接**
[Observed和ObjectLink数据管理](../quick-start/arkts-observed-and-objectlink.md)
## 子组件使用@Link修饰成员变量时,如何通过父组件传值
适用于:OpenHarmony 3.2 Beta5 API 9
**解决措施**
子组件使用@Link接受父组件的值时,需要使用'\$'建立变量之间的引用关系。才能实现同步。
**代码示例**
@Link语义是从`$`操作符引出,即\$isPlaying是this.isPlaying内部状态的双向数据绑定。当单击子组件PlayButton中的按钮时,@Link变量更改,PlayButton与父组件中的Text和Button将同时进行刷新,同样地,当点击父组件中的Button修改this.isPlaying时,子组件PlayButton与父组件中的Text和Button也将同时刷新。
## 父组件中如何处理子组件内点击事件
1. 在父组件使用@State装饰器,传递数据使用\$符创建引用。
```
@Entry
@Component
struct Player {
@State isPlaying: boolean = false
build() {
Column() {
PlayButton({ buttonPlaying: $isPlaying })
Text(`Player is ${this.isPlaying ? '' : 'not'} playing`).fontSize(18)
Button('Parent:' + this.isPlaying)
.margin(15)
.onClick(() => {
this.isPlaying = !this.isPlaying
})
}
}
}
```
2. 在子组件使用@Link接受数据。
```
@Component
struct PlayButton {
@Link buttonPlaying: boolean
build() {
Column() {
Button(this.buttonPlaying ? 'pause' : 'play')
.margin(20)
.onClick(() => {
this.buttonPlaying = !this.buttonPlaying
})
}
}
}
```
**参考链接**
[@Link](../quick-start/arkts-link.md)
## 父组件如何与孙子组件进行状态同步
适用于:OpenHarmony 3.2 Beta5 API 9
**解决措施**
- 方式一(推荐):使用@Provide和@Consume装饰器。在父组件使用@Provide,在孙子组件使用@Consume,可以实现父组件和孙子组件进行双向数据绑定。
- 方式二:使用@State和@Link装饰器。在父组件使用@State,在每一层子组件(子组件和孙子组件)都使用@Link。
**代码示例一**
1. 父组件中使用子组件,通过Provide提供reviewVote参数,供跨级传递给孙子组件。
```
@Entry
@Component
struct Father{
@Provide("reviewVote") reviewVotes: number = 0;
build() {
Column() {
Son()
Button(`Father: ${this.reviewVotes}`)
...
}
}
}
```
2. 子组件中使用孙组件。
```
@Component
struct Son{
build() {
Column() {
GrandSon()
}
}
}
```
3. 孙子组件中使用Consume来接受reviewVote的参数。
```
@Component
struct GrandSon{
@Consume("reviewVote") reviewVotes: number
build() {
Column() {
Button(`GrandSon: ${this.reviewVotes}`)
...
}.width('100%')
}
}
```
**代码示例二**
1. 父组件Father使用@State绑定数据reviewVote。
```
@Entry
@Component
struct Father {
@State reviewVotes: number = 0;
build() {
Column() {
Son({reviewVotes:$reviewVotes})
Button(`Father: ${this.reviewVotes}`)
...
}
}
}
```
2. 子组件Son中使用@Link接受由父组件Father传递的参数reviewVote。
```
@Component
struct Son{
@Link reviewVotes: number;
build() {
Column() {
Grandson({reviewVotes:$reviewVotes})
}
}
}
```
3. 孙子组件GrandSon使用@Link接受由Son组件传递的参数reviewVote。
```
@Component
struct Grandson{
@Link reviewVotes: number;
build() {
Column() {
Button(`Grandson: ${this.reviewVotes}`)
...
}.width('100%')
}
}
```
## Js如何定义callback函数
适用于:OpenHarmony 3.2 Beta5 API 9
**解决措施**
定义个callback函数的样例,**示例如下:**
1. 定义回调函数
```
// 页面中定义个2个参数,空返回的callback函数
myCallback: (a:number,b:string) => void
```
2. 在使用时进行初始化赋值
```
aboutToAppear() {
// callback函数初始化
this.myCallback= (a,b)=>{
console.info(`handle myCallback a=${a},b=${b}`)
}}
```
## 组件需要多次更新时如何优化性能
适用于:OpenHarmony 3.2 Beta5 API 9
**解决措施**
使用状态管理模块,目前已经支持最小化更新,当数据依赖变化时,不再是重新刷新整个自定义组件,而是只更新依赖数据的视图内容。
## 对象中函数的this如何指向外层
适用于:Openharmony 3.2 Beta5 API 9
**解决措施**
适用于:OpenHarmony 3.2 Beta5 API 9 Stage模型
通过箭头函数实现。
在父组件中初始化子组件时,将父组件中定义的方法,传递给子组件,在子组件中调用该方法,类似于变量传递。
**代码示例**
```
const obj = {
start:() => {
return this.num
}
class Model {
value: string
}
```
## 如何实现页面加载前从接口获取数据
适用于:Openharmony 3.2 Beta5 API 9
**问题现象**
页面生命周期相关问题,在页面渲染前从接口获取数据,渲染时将数据渲染到页面上。
**解决措施**
在声明周期函数aboutToAppear中使用异步接口获取页面数据,数据变量使用@State修饰,数据获取完成后根据变量自动刷新页面。
**代码示例**
```
@Entry
@Component
struct Test6Page {
// 数据获取成功,会自动刷新页面
@State message: string = 'loading.....'
aboutToAppear(){
// 模拟异步接口获取数据
setTimeout(()=>{
this.message = 'new msg'
},3000)
struct EntryComponent {
test() {
console.log('testTag test in my component');
}
build() {
Row() {
Column() {
Text(this.message)
.fontSize(50)
.fontWeight(FontWeight.Bold)
MyComponent({ title: { value: 'Hello World 2' }, count: 7, onClick: this.test }) //初始化时传递定义的方法
}
.width('100%')
}
.height('100%')
}
}
```
## Stage模型资源配置文件string.json是否支持配置占位符
适用于:Openharmony 3.2 Beta5 API 9
资源配置文件string.json文件本身不支持配置占位符,可以在对应的页面中通过定义变量,在实际组件使用Resources和变量拼接的方式达到实现占位符的同等效果。
## eTS文件和ts文件的区别
适用于:Openharmony 3.2 Beta5 API 9
**解决措施**
ArkTS基于兼容了TS语法,继承了TS的所有特性,当前,ArkTS在TS的基础上主要扩展了声明式UI能力,让开发者能够以更简洁、更自然的方式开发高性能应用。推荐用ArtTS开发UI相关内容,TS可以用来开发业务逻辑相关内容。
**参考链接**
[初识ArkTS](../quick-start/arkts-get-started.md)
## ArkTS如何发送邮箱验证码
适用于:Openharmony 3.2 Beta5 API 9
**问题现象**
ArkTS语言如何给邮箱发送邮箱验证码?用哪个接口?
**解决措施**
发送验证码需要请求服务端,然后服务端调用对应的短信验证码接口来实现该功能。可以通过短信服务实现相关功能。
## 如何将传感器的数据实时显示在UI的Text中
适用于:Openharmony 3.2 Beta5 API9
**问题现象**
ArkUI(ets)如何将传感器的数据实时显示在UI的Text中。
**解决措施**
传感器返回数据类型为double,可将double转为string,再显示在text中。
## 如何监听屏幕旋转
适用于:Openharmony 3.2 Beta5 API 9
**问题现象**
应用想监听屏幕是否进行旋转操作。
**解决措施**
屏幕旋转可使用媒体查询接口进行监听。
```
import mediaquery from '@ohos.mediaquery'
let listener = mediaquery.matchMediaSync('(orientation: landscape)'); //监听横屏事件
function onPortrait(mediaQueryResult) {
if (mediaQueryResult.matches) {
// do something here
} else {
// do something here
}
}
listener.on('change', onPortrait) // 注册回调
listener.off('change', onPortrait) // 去注册回调
```
**参考链接**
[媒体查询](../reference/apis/js-apis-mediaquery.md)
## DevEco Studio 升级到最新后ForEach不能遍历全部数据
适用于:Openharmony 3.2 Beta5 API 9
**问题现象**
升级DevEco Studio后,ForEach无法遍历全部数据。
**解决措施**
forEach\(\)功能进行了增强,其第三个参数keyGenerator如果传入参数时,需要确保数据源array中的每个元素生成的key不同,才能正常遍历。如果生成的key相同,则只能生成一个。
该第三个参数也可以不传,系统采用默认生成方式,也可以正常遍历出全部元素。
## 创建的单例换了页面后不生效问题
适用于:Openharmony 3.2 Beta5 API 9
**问题现象**
单例只有在同一个流程中才有效,换了页面后之前的实例都全是undefined。
**解决措施**
对于每个Page都会生成一个js文件,定义的单例会在每个js中都生成一份,所以单例的作用范围只是Page的范围。
如果想共享一个实例,创建范围需要提升至UIAbility或者App级别。
## 如何将时间格式的字符串string转换为Date对象
适用于:Openharmony 3.2 Beta5 API 9
**解决措施**
如果字符string满足格式“yyyy-MM-dd”格式,则可直接使用函数new Date\("yyyy-MM-dd"\)来获取对应的Date对象。
```
new Date("2021-05-23");
new Date("2020/2/29");
new Date("2020-14-03");
new Date("14-02-2021");
```
其他格式字符串可使用new Date\(year:number,month:number,day?:number,hour?:number,mintue?:number,second?:number,ms?:number\)方法来获取Date对象。
```
根据参数创建日期的语法:
new Date(yearValue, IndexOfMonth, dayValue, hours, minutes, seconds)
```
其中每一个参数换算为对应时间参数传入即可。
- yearValue:应符合 ISO 8061 YYYY 格式。例如 2021。如果我们以 YY 格式指定一个值,它将会被错误地接受。例如,仅将 2021 提到 21 会被认为是 1921 年而不是 2021 年。
- IndexOfMonth:从索引 0 开始。因此,从 Month 值中减去 1。例如,对于 3 月,该值为 3,但 monthIndex 将为 2(即 3-1 = 2)。本月指数通常应在 0-11 范围内
- dayValue:表示一个月中的某天。它应在 1-31 范围内,具体取决于一个月中的天数。例如:对于 21-05-2021,日期值为 21
- hours:一天中的小时。例如 10 点。
- minutes:过去一个小时的分钟数
- seconds:保留超过一分钟的秒数。
## ArkTS如何把string转为byte数组
适用于:Openharmony 3.2 Beta5 API 9
**解决措施**
参考如下代码实现,示例:
```
stringToArray(str:string) {
var arr = [];
for(var i = 0,j = str.length;i<j;++i) {
arr.push(str.charCodeAt(i))
}
return arr;
}
```
## ArkTS如何实现字符串编解码
适用于:Openharmony 3.2 Beta5 API 9
**解决措施**
通过util工具函数模块中的TextEncoder和TextDecoder进行解码。
**参考链接**
[TextEncoder](../reference/apis/js-apis-util.md#textencoder)[TextDecoder](../reference/apis/js-apis-util.md#textdecoder)
## 如何导入和导出namespace命名空间
适用于:Openharmony 3.2 Beta5 API 9
**解决措施**
通过export和import导入导出
- namespace导数据库出
```
namespace Util{
export function getTime(){
return Date.now()
}
}
export default Util
```
- namespace导入
```
import Util from './util'
Util.getTime()
```
## worker线程中能否进行关系型数据库的操作
适用于:Openharmony 3.2 Beta5 API 9
当前不支持将UI主线程中的rdb数据库对象发送给Worker线程后进行操作。Worker线程中使用rdb数据库,需要重新获取rdb数据库的对象。
## 如何获取应用resource目录下的文件
适用于:Openharmony 3.2 Beta5 API 9
**解决措施**
- 方式一:使用\$r或者\$rawfile访问。适合静态访问,程序运行时不改变资源路径。
- 方式二:使用ResourceManage访问。适合动态访问,程序运行时可动态改变资源路径。
**参考链接**
[资源访问](../quick-start/resource-categories-and-access.md)[资源管理](../reference/apis/js-apis-resource-manager.md#getstring)
## XML格式如何转为JSON格式
适用于:Openharmony 3.2 Beta5 API 9
**问题现象**
服务端返回的数据是通过base64编码后XML格式,需要转为JSON格式进行后续的处理。
**解决措施**
使用util工具中的base64相关接口进行解码操作,然后使用convertxml组件解析XML格式数据。
**代码示例**
```
import convertxml from '@ohos.convertxml';
import util from '@ohos.util';
@Entry
@Component
struct Faq_4_31 {
@State message: string = 'base64转json'
struct MyComponent {
@State title: Model = { value: 'Hello World' }
@State count: number = 0
onClick: any;
private toggle: string = 'Hello World'
private increaseBy: number = 1
build() {
Row() {
Column() {
Text(this.message)
.fontSize(50)
.fontWeight(FontWeight.Bold)
Text(`${this.title.value}`).fontSize(30)
Button(`Click to increase count=${this.count}`)
.margin(20)
.onClick(() => {
/* 原数据,GBK编码
<?xml version="1.0" encoding="GBK"?>
<data>
<asset_no>xxxxx</asset_no>
<machine_sn>xxxx</machine_sn>
<bios_id>xxxx</bios_id>
<responsible_emp_name><![CDATA[xxxx]]></responsible_emp_name>
<responsible_account><![CDATA[xxxx xxxx]]></responsible_account>
<responsible_emp_no>xxxx</responsible_emp_no>
<responsible_dept><![CDATA[xxxx]]></responsible_dept>
<user_dept><![CDATA[xxxx]]></user_dept>
<user_name><![CDATA[xxx]]></user_name>
<cur_domain_account>xxxx</cur_domain_account>
<asset_loc><![CDATA[--]]></asset_loc>
<asset_loc_cur><![CDATA[]]></asset_loc_cur>
<asset_type>1</asset_type>
<asset_use>For Outsourcing Staff/xxxx</asset_use>
<overdue_date></overdue_date>
<asset_status>xxxx</asset_status>
<asset_period>xxxx</asset_period>
<license></license>
</data>
*/
let src = 'PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iR0JLIj8+CjxkYXRhPgo8YXNzZXRfbm8+eHh4eHg8L2Fzc2V0X25vPgo8bWFjaGluZV9zbj54eHh4PC9tYWNoaW5lX3NuPgo8Ymlvc19pZD54eHh4PC9iaW9zX2lkPgo8cmVzcG9uc2libGVfZW1wX25hbWU+PCFbQ0RBVEFbeHh4eF1dPjwvcmVzcG9uc2libGVfZW1wX25hbWU+CjxyZXNwb25zaWJsZV9hY2NvdW50PjwhW0NEQVRBW3h4eHggeHh4eF1dPjwvcmVzcG9uc2libGVfYWNjb3VudD4KPHJlc3BvbnNpYmxlX2VtcF9ubz54eHh4PC9yZXNwb25zaWJsZV9lbXBfbm8+CjxyZXNwb25zaWJsZV9kZXB0PjwhW0NEQVRBW3h4eHhdXT48L3Jlc3BvbnNpYmxlX2RlcHQ+Cjx1c2VyX2RlcHQ+PCFbQ0RBVEFbeHh4eF1dPjwvdXNlcl9kZXB0Pgo8dXNlcl9uYW1lPjwhW0NEQVRBW3h4eF1dPjwvdXNlcl9uYW1lPgo8Y3VyX2RvbWFpbl9hY2NvdW50Pnh4eHg8L2N1cl9kb21haW5fYWNjb3VudD4KPGFzc2V0X2xvYz48IVtDREFUQVstLV1dPjwvYXNzZXRfbG9jPgo8YXNzZXRfbG9jX2N1cj48IVtDREFUQVtdXT48L2Fzc2V0X2xvY19jdXI+Cjxhc3NldF90eXBlPjE8L2Fzc2V0X3R5cGU+Cjxhc3NldF91c2U+Rm9yIE91dHNvdXJjaW5nIFN0YWZmL3h4eHg8L2Fzc2V0X3VzZT4KPG92ZXJkdWVfZGF0ZT48L292ZXJkdWVfZGF0ZT4KPGFzc2V0X3N0YXR1cz54eHh4PC9hc3NldF9zdGF0dXM+Cjxhc3NldF9wZXJpb2Q+eHh4eDwvYXNzZXRfcGVyaW9kPgo8bGljZW5zZT48L2xpY2Vuc2U+CjwvZGF0YT4='
let base64 = new util.Base64Helper();
// base解码
let src_uint8Array = base64.decodeSync(src);
// 解码为utf-8的字符串
let textDecoder = util.TextDecoder.create("utf-8",{ignoreBOM: true})
let src_str = textDecoder.decodeWithStream(src_uint8Array)
//替换encoding字段
src_str = src_str.replace("GBK","utf-8")
console.log('Test src_str: ' + JSON.stringify(src_str));
// 转换 xml-> json
let conv = new convertxml.ConvertXML();
let options = {trim : false, declarationKey:"_declaration",
instructionKey : "_instruction", attributesKey : "_attributes",
textKey : "_text", cdataKey:"_cdata", doctypeKey : "_doctype",
commentKey : "_comment", parentKey : "_parent", typeKey : "_type",
nameKey : "_name", elementsKey : "_elements"}
let src_json = JSON.stringify(conv.convertToJSObject(src_str, options));
console.log('Test json: ' + JSON.stringify(src_json));
// 修改内部状态变量count
this.count += this.increaseBy
this.onClick.call();
})
}
.width('100%')
}
.height('100%')
}
}
```
## 通过try/catch语句获取到错误码401是什么意思
适用于:Openharmony 3.2 Beta5 API 9
## 如何主动拉起软键盘
**问题原因**
1. 必选参数没有传入。
适用于OpenHarmony 3.2 Beta5 API 9
2. 参数类型错误。
**解决措施**
3. 参数为undefined。
可以通过focusControl.requestFocus控制输入框获焦,组件获焦后会自动弹起软键盘
**参考链接**
[通用错误码](../reference/errorcodes/errorcode-universal.md)
焦点控制:[焦点控制](../reference/arkui-ts/ts-universal-attributes-focus.md)
# ArkUI框架开发常见问题(JS)
## 用数组变量控制组件属性不生效
适用于:OpenHarmony,IDE 3.0.0.993,API 8
目前类web范式对数组中元素的修改不会被监听,因此不会触发页面刷新 ,需要产生数组对象的修改才可以触发页面刷新。所以,使用test1\(\)对修改数组的引用时,button组件会被禁用,使用test2\(\)修改数组中某个元素,对控制button组件disabled属性的数组单元赋值,button组件并不会被禁用。除了test1\(\)中对数组整体赋值,我们还可以使用修改数组的方法,如splice\(\),也可以达到页面刷新的效果。
```
test1() {this.isDisabled = [true, true, true, true, true]; //该语句可实现对button组件的禁用
test2() {this.isDisabled[0] = true; //该语句对button组件的禁用不生效
```
## input组件是否支持设置文本居中对齐
适用于:OpenHarmony 3.2 Beta5 API 9 FA模型
**问题现象**
input组件中输入的文本如何实现文本居中对齐格式,使用text-align没有效果。
**解决措施**
input组件属于类web范式组件,不_支_持设置文本对齐方式,text-align样式只针对text组件生效。
**参考链接**
[input组件](../reference/arkui-js/js-components-basic-input.md)[text组件](../reference/arkui-js/js-components-basic-text.md)
## 如何判断JS对象中是否存在某个值
适用于:OpenHarmony 3.2 Release API 9
**解决措施**
Object.values\(对象名\).indexOf\(想要判断的值\),若返回-1表示不包含对应值,返回值不等于-1则表示包含。
\ No newline at end of file
# ArkUI布局开发常见问题(ArkTS)
## 使用position之后height不生效
适用于 OpenHarmony 3.2 Beta5 API 9
**解决措施**
容器组件在使用position之后会脱离文本流,导致容器脱离外层容器束缚,导致height不生效,可以将外层容器换成Stack可以解决这个问题。
## Grid组件如何实现横向滚动
适用于 OpenHarmony 3.2 Beta5 API 9
将Grid组件设置当前网格布局行数rowsTemplate且不设置列数,当内容超出Grid组件宽度时,Grid可横向滚动进行内容展示。
## List组件与其他组件并列使用时,若未设置List滚动方向上的尺寸,无法拖动到底部
适用于 OpenHarmony 3.2 Beta5 API 9
给List加上layoutWeight属性,设置列表自适应占满剩余高度。原理:List属于可滚动容器组件,默认高度是占满全屏幕高度,当出现其他固定高度的组件占领了屏幕的部分高度时,需要开发人员显性的指定List组件占满剩余高度,而不是全屏幕高度。
## Tabs组件在点击Tab项时是否支持禁止切换
适用于 OpenHarmony 3.2 Release API 9
不支持。
## 如何拦截住onBackPress事件,不触发页面返回
适用于 OpenHarmony 3.2 Release API 9
在onBackPress中返回true表示页面自己处理返回逻辑,不会执行默认的返回逻辑。
可参考[自定义组件的生命周期-onBackPress](../reference/arkui-ts/ts-custom-component-lifecycle.md#onbackpress)
## List组件怎么实现分组列表的粘性标题效果
适用于 OpenHarmony 3.2 Release API 9
可以通过List组件的sticky属性配合ListItemGroup组件来实现。通过给List组件设置sticky属性为StickyStyle.Header,设置ListItemGroup中header参数对应的头部组件呈现粘性标题效果
可参考:[创建列表-添加粘性标题](../ui/arkts-layout-development-create-list.md#添加粘性标题)
# ArkUI路由/导航开发常见问题(ArkTS)
## router中params无法正常传递class对象
适用于:OpenHarmony 3.2 Beta5 ,API 9 Stage模型
只能传递对象中的属性,无法传递对象中的方法。
## 在Stage模型下,如何通过router实现页面跳转
适用于:OpenHarmony 3.2 Beta5 ,API 9 Stage模型
1. 对于通过页面路由router实现页面跳转,首先要在main\_pages.json配置文件中将所有跳转的页面加入pages列表;
2. 页面路由需要在页面渲染完成之后才能调用,在onInit和onReady生命周期中页面还处于渲染阶段,禁止调用页面路由方法。
**参考链接:**[页面路由](../reference/apis/js-apis-router.md)
## router通过调用push方法进堆栈的page是否会被回收
适用于:OpenHarmony 3.2 Beta5 ,API 9 Stage模型
调用push进入堆栈的page不回收,调用back方法出栈后可以被回收。
**参考链接:**[Router传递参数](../reference/apis/js-apis-router.md#routergetparams)
# Native API
Native API是OHOS SDK上提供的一组native开发接口与工具集合,方便开发者使用C或者C++语言实现应用的关键功能。Native API只覆盖了OHOS基础的一些底层能力,如libc,图形库,窗口系统,多媒体,压缩库等,并没有完全提供类似于JS API上的完整的OHOS 平台能力。在应用中使用Native API会编译成动态库打包到应用中。
<br/>
## Native API构成介绍
### Native API目录结构
Native API在SDK包的位置为$(SDK_ROOT)/native目录,主要有以下几个部分组成
|目录|功能说明|
|--|--|
|build|应用中编译动态库的toolchain cmake脚本;这个目录下ohos.toolchain.cmake文件定义了给OHOS交叉编译选项|
|build-tools|放置编译构建的工具,如cmake|
|docs|Native API接口参考文档,通过doxgen从头文件中提取出来|
|llvm|支持OHOS ABI的llvm交叉编译器|
|sysroot|放置编译链接的依赖文件目录,包含头文件,动态库等|
<br/>
### Native API接口
|接口分类|接口功能|引入版本|
|--|--|--|
|标准C库|以musl为基础提供的标准c库接口,当前提供了1500+的接口|8|
|标准C++库|c++运行时库libc++_shared,此库在打包的时候需要打包或者静态链接到应用中|8|
|日志|打印日志到系统的hilog接口|8|
|napi|ArkUI提供的,方便应用开发接入JS应用环境的一组类Node-API,是属于Native API的一部分|8|
|XComponent|ArkUI XComponent组件中的surface与触屏事件接口,方便开发者开发高性能图形应用|8|
|libuv|ArkUI集成的三方的异步IO库|8|
|libz|zlib库,提供基本的压缩,解压接口|8|
|Drawing|系统提供的2D图形库,可以在surface进行绘制|8|
|OpenGL|系统提供的openglv3接口|8|
|Rawfile|应用资源访问接口,可以读取应用中打包的各种资源|8|
|OpenSLES|用于2D,3D音频加速的接口库|8|
|Mindspore|AI模型接口库|9|
|包管理|包服务接口,方便查询应用包信息|8|
Native API中有一部分接口采用开源标准,详细列表见《[Native API中支持的标准库](https://docs.openharmony.cn/pages/v3.1/zh-cn/application-dev/reference/native-lib/third_party_libc/musl.md/)》《[Node_API](https://docs.openharmony.cn/pages/v3.1/zh-cn/application-dev/reference/native-lib/third_party_napi/napi.md/)
## 使用介绍
<br/>
### 建议使用Native API的场景
主要有如下一些
1. 应用性能敏感代码,比如游戏,物理模拟等计算密集型场景
2. 需要复用已有的C或C++库
3. 需要针对CPU特性进行专项定制的库,如neon加速
<br/>
### 不建议使用Native API的场景
1. 写一个纯native的的OHOS应用
2. 希望在尽可能多的OHOS设备上保持兼容的应用
<br/>
# Native API的相关指导
- [Native API hello world]()
- 本例子引导开发者开发一个hello的Native API库,在ts界面上显示出从hello库中获取的字符串
- [Native API介绍](introduction.md)
- [Native API在应用工程中的使用指导](napi-guidelines.md)
- 介绍如何使用各种napi接口与js中的模块,接口,异步任务进行互操作
- [Drawing开发指导](drawing-guidelines.md)
- [Rawfile开发指导](rawfile-guidelines.md)
- [NativeWindow开发指导](native-window-guidelines.md)
......
# Native API 介绍
Native API是OHOS SDK上提供的一组native开发接口与工具集合,方便开发者使用C或者C++语言实现应用的关键功能。Native API只覆盖了OHOS基础的一些底层能力,如libc,图形库,窗口系统,多媒体,压缩库等,并没有完全提供类似于JS API上的完整的OHOS 平台能力。在应用中使用Native API会编译成动态库打包到应用中。
## Native API构成介绍
### Native API目录结构
Native API在SDK包的位置为$(SDK_ROOT)/native目录,主要有以下几个部分组成
|目录|功能说明|
|--|--|
|build|应用中编译动态库的toolchain cmake脚本;这个目录下ohos.toolchain.cmake文件定义了给OHOS交叉编译选项|
|build-tools|放置编译构建的工具,如cmake|
|docs|Native API接口参考文档,通过doxgen从头文件中提取出来|
|llvm|支持OHOS ABI的llvm交叉编译器|
|sysroot|放置编译链接的依赖文件目录,包含头文件,动态库等|
### Native API接口
|接口分类|接口功能|引入版本|
|--|--|--|
|标准C库|以musl为基础提供的标准c库接口,当前提供了1500+的接口|8|
|标准C++库|c++运行时库libc++_shared,此库在打包的时候需要打包或者静态链接到应用中|8|
|日志|打印日志到系统的hilog接口|8|
|napi|ArkUI提供的,方便应用开发接入JS应用环境的一组类Node-API,是属于Native API的一部分|8|
|XComponent|ArkUI XComponent组件中的surface与触屏事件接口,方便开发者开发高性能图形应用|8|
|libuv|ArkUI集成的三方的异步IO库|8|
|libz|zlib库,提供基本的压缩,解压接口|8|
|Drawing|系统提供的2D图形库,可以在surface进行绘制|8|
|OpenGL|系统提供的openglv3接口|8|
|Rawfile|应用资源访问接口,可以读取应用中打包的各种资源|8|
|OpenSLES|用于2D,3D音频加速的接口库|8|
|Mindspore|AI模型接口库|9|
|包管理|包服务接口,方便查询应用包信息|8|
Native API中有一部分接口采用开源标准,详细列表见《[Native API中支持的标准库](../reference/native-lib/third_party_libc/musl.md)》《[Node_API](../reference/native-lib/third_party_napi/napi.md)
## 使用介绍
### 建议使用Native API的场景
主要有如下一些
1. 应用性能敏感代码,比如游戏,物理模拟等计算密集型场景
2. 需要复用已有的C或C++库
3. 需要针对CPU特性进行专项定制的库,如neon加速
### 不建议使用Native API的场景
1. 写一个纯native的的OHOS应用
2. 希望在尽可能多的OHOS设备上保持兼容的应用
......@@ -40,7 +40,7 @@
- [app对象内部结构](app-structure.md)
- [deviceConfig内部结构](deviceconfig-structure.md)
- [module对象内部结构](module-structure.md)
- [资源分类与访问](resource-categories-and-access.md)
- [资源分类与访问](resource-categories-and-access.md)
- 学习ArkTS语言
- [初识ArkTS语言](arkts-get-started.md)
- 基本语法
......
# OpenHarmony应用开发文档
- [应用开发导读](application-dev-guide.md)
- 入门
- 快速入门
......@@ -12,7 +13,6 @@
- 应用程序包结构
- [Stage模型应用程序包结构](quick-start/application-package-structure-stage.md)
- [FA模型应用程序包结构](quick-start/application-package-structure-fa.md)
- [HAR包结构](quick-start/har-structure.md)
- 应用程序包多HAP机制
- [多HAP机制设计目标](quick-start/multi-hap-objective.md)
- [多HAP构建视图](quick-start/multi-hap-build-view.md)
......@@ -20,6 +20,16 @@
- [多HAP使用规则](quick-start/multi-hap-rules.md)
- [多HAP运行机制及数据通信方式](quick-start/multi-hap-principles.md)
- [应用程序包安装和卸载流程](quick-start/application-package-install-uninstall.md)
- [应用程序包更新流程](quick-start/application-package-update.md)
- 共享包
- [共享包概述](quick-start/shared-guide.md)
- [HAR](quick-start/har-package.md)
- HSP
- [应用内HSP开发指导](quick-start/in-app-hsp.md)
- [应用间HSP开发指导(仅对系统应用开放)](quick-start/cross-app-hsp.md)
- 应用程序包快速修复
- [快速修复概述](quick-start/quickfix-principles.md)
- [快速修复调试指导](quick-start/quickfix-debug.md)
- 应用配置文件(Stage模型)
- [应用配置文件概述(Stage模型)](quick-start/application-configuration-file-overview-stage.md)
- [app.json5配置文件](quick-start/app-configuration-file.md)
......@@ -69,8 +79,8 @@
- 开发
- 应用模型
- 应用模型概述
- [OpenHarmony应用模型的构成要素](application-models/application-model-composition.md)
- [OpenHarmony应用模型解读](application-models/application-model-description.md)
- [应用模型的构成要素](application-models/application-model-composition.md)
- [应用模型解读](application-models/application-model-description.md)
- Stage模型开发指导
- [Stage模型开发概述](application-models/stage-model-development-overview.md)
- Stage模型应用组件
......@@ -85,40 +95,74 @@
- ExtensionAbility组件
- [ExtensionAbility组件概述](application-models/extensionability-overview.md)
- [ServiceExtensionAbility](application-models/serviceextensionability.md)
- [FormExtensionAbility(服务卡片)](application-models/widget-development-stage.md)
- [AccessibilityExtensionAbility](application-models/accessibilityextensionability.md)
- [EnterpriseAdminExtensionAbility](application-models/enterprise-extensionAbility.md)
- [InputMethodExtensionAbility](application-models/inputmethodextentionability.md)
- [WindowExtensionAbility](application-models/windowextensionability.md)
- 服务卡片开发指导(Stage模型)
- [服务卡片概述](application-models/service-widget-overview.md)
- 开发基于ArkTS UI的卡片
- [ArkTS卡片运行机制](application-models/arkts-ui-widget-working-principles.md)
- [ArkTS卡片相关模块](application-models/arkts-ui-widget-modules.md)
- ArkTS卡片开发指导
- [创建一个ArkTS卡片](application-models/arkts-ui-widget-creation.md)
- [配置卡片的配置文件](application-models/arkts-ui-widget-configuration.md)
- [卡片生命周期管理](application-models/arkts-ui-widget-lifecycle.md)
- 开发卡片页面
- [卡片页面能力说明](application-models/arkts-ui-widget-page-overview.md)
- [卡片使用动效能力](application-models/arkts-ui-widget-page-animation.md)
- [卡片使用自定义绘制能力](application-models/arkts-ui-widget-page-custom-drawing.md)
- 开发卡片事件
- [卡片事件能力说明](application-models/arkts-ui-widget-event-overview.md)
- [使用router事件跳转到指定UIAbility](application-models/arkts-ui-widget-event-router.md)
- [使用call事件拉起指定UIAbility到后台](application-models/arkts-ui-widget-event-call.md)
- [通过message事件刷新卡片内容](application-models/arkts-ui-widget-event-formextensionability.md)
- [通过router或call事件刷新卡片内容](application-models/arkts-ui-widget-event-uiability.md)
- 卡片数据交互
- [卡片数据交互说明](application-models/arkts-ui-widget-interaction-overview.md)
- [定时刷新和定点刷新](application-models/arkts-ui-widget-update-by-time.md)
- [刷新本地图片和网络图片](application-models/arkts-ui-widget-image-update.md)
- [根据卡片状态刷新不同内容](application-models/arkts-ui-widget-update-by-status.md)
- [使用方刷新卡片内容(仅对系统应用开放)](application-models/arkts-ui-widget-content-update.md)
- [开发基于JS UI的卡片](application-models/js-ui-widget-development.md)
- [Stage模型服务卡片相关实例](application-models/service-widget-development-samples.md)
- [AbilityStage组件容器](application-models/abilitystage.md)
- [应用上下文Context](application-models/application-context-stage.md)
- 信息传递载体Want
- [Want概述](application-models/want-overview.md)
- [显式Want与隐式Want匹配规则](application-models/explicit-implicit-want-mappings.md)
- [常见action与entities](application-models/actions-entities.md)
- [使用显式Want启动Ability](application-models/ability-startup-with-explicit-want.md)
- [使用显式Want启动应用组件](application-models/ability-startup-with-explicit-want.md)
- [使用隐式Want打开网址](application-models/ability-startup-with-implicit-want.md)
- [应用间使用Want分享数据](application-models/data-share-via-want.md)
- [组件启动规则](application-models/component-startup-rules.md)
- [组件启动规则(Stage模型)](application-models/component-startup-rules.md)
- 应用组件跨设备交互(流转)
- [流转概述](application-models/inter-device-interaction-hop-overview.md)
- [跨端迁移(仅对系统应用开放)](application-models/hop-cross-device-migration.md)
- [多端协同(仅对系统应用开放)](application-models/hop-multi-device-collaboration.md)
- 进程间通信
- [进程模型](application-models/process-model-stage.md)
- [订阅系统环境变量的变化](application-models/subscribe-system-environment-variable-changes.md)
- 了解进程模型
- [进程模型概述](application-models/process-model-stage.md)
- 公共事件
- [公共事件简介](application-models/common-event-overview.md)
- [公共事件订阅](application-models/common-event-subscription.md)
- 公共事件订阅
- [公共事件订阅概述](application-models/common-event-subscription-overview.md)
- [动态订阅公共事件](application-models/common-event-subscription.md)
- [静态订阅公共事件(仅对系统应用开放)](application-models/common-event-static-subscription.md)
- [取消动态订阅公共事件](application-models/common-event-unsubscription.md)
- [公共事件发布](application-models/common-event-publish.md)
- [公共事件取消订阅](application-models/common-event-unsubscription.md)
- [移除粘性公共事件](application-models/common-event-remove-sticky.md)
- [后台服务](application-models/background-services.md)
- 线程间通信
- [线程模型](application-models/thread-model-stage.md)
- 了解线程模型
- [线程模型概述](application-models/thread-model-stage.md)
- [使用Emitter进行线程间通信](application-models/itc-with-emitter.md)
- [使用Worker进行线程间通信](application-models/itc-with-worker.md)
- 任务管理
- [任务管理场景介绍](application-models/mission-management-overview.md)
- [任务管理与启动模式](application-models/mission-management-launch-type.md)
- 任务(Mission)管理
- [任务(Mission)管理场景介绍](application-models/mission-management-overview.md)
- [任务(Mission)与启动模式](application-models/mission-management-launch-type.md)
- [页面栈及任务链](application-models/page-mission-stack.md)
- [设置任务快照的图标和名称](application-models/mission-set-icon-name-for-task-snapshot.md)
- [Stage模型应用配置文件](application-models/config-file-stage.md)
- FA模型开发指导
- [FA模型开发概述](application-models/fa-model-development-overview.md)
- FA模型应用组件
......@@ -154,14 +198,16 @@
- [服务卡片开发指导](application-models/widget-development-fa.md)
- [FA模型的Context](application-models/application-context-fa.md)
- [信息传递载体Want](application-models/want-fa.md)
- 进程间通信
- [进程模型](application-models/process-model-fa.md)
- [组件启动规则(FA模型)](application-models/component-startup-rules-fa.md)
- 了解进程模型
- [进程模型概述](application-models/process-model-fa.md)
- [公共事件](application-models/common-event-fa.md)
- [后台服务](application-models/rpc.md)
- 线程间通信
- [线程模型](application-models/thread-model-fa.md)
- 了解线程模型
- [线程模型概述](application-models/thread-model-fa.md)
- [线程间通信](application-models/itc-fa-overview.md)
- [任务管理](application-models/mission-management-fa.md)
- [FA模型应用配置文件](application-models/config-file-fa.md)
- FA模型与Stage模型应用组件互通指导
- [FA模型与Stage模型应用组件互通综述](application-models/fa-stage-interaction-overview.md)
- [FA模型启动Stage模型UIAbility](application-models/start-uiability-from-fa.md)
......@@ -196,8 +242,8 @@
- [window接口切换](application-models/window-switch.md)
- [Storage接口切换](application-models/storage-switch.md)
- UI开发
- [方舟开发框架(ArkUI)概述](ui/arkui-overview.md)
- 基于ArkTS的声明式开发范式
- [方舟开发框架概述](ui/arkui-overview.md)
- UI开发(ArkTS声明式开发范式)
- [UI开发(ArkTS声明式开发范式)概述](ui/arkts-ui-development-overview.md)
- 开发布局
- [布局概述](ui/arkts-layout-development-overview.md)
......@@ -255,8 +301,8 @@
- [单一手势](ui/arkts-gesture-events-single-gesture.md)
- [组合手势](ui/arkts-gesture-events-combined-gestures.md)
- [性能提升的推荐方法](ui/arkts-performance-improvement-recommendation.md)
- 兼容JS的类Web开发范式
- [概述](ui/ui-js-overview.md)
- UI开发(兼容JS的类Web开发范式)
- [UI开发(兼容JS的类Web开发范式)概述](ui/ui-js-overview.md)
- 框架说明
- [文件组织](ui/js-framework-file.md)
- [js标签配置](ui/js-framework-js-tag.md)
......@@ -347,6 +393,7 @@
- [通知概述](notification/notification-overview.md)
- [订阅通知(仅对系统应用开放)](notification/notification-subscription.md)
- [使能通知开关](notification/notification-enable.md)
- [通知角标](notification/notification-badge.md)
- 发布通知
- [发布基础类型通知](notification/text-notification.md)
- [发布进度条类型通知](notification/progress-bar-notification.md)
......@@ -360,30 +407,64 @@
- [WebGL开发概述](webgl/webgl-overview.md)
- [WebGL开发指导](webgl/webgl-guidelines.md)
- 媒体
- [媒体应用开发概述](media/media-application-overview.md)
- 音视频
- [音频开发概述](media/audio-overview.md)
- [音频渲染开发指导](media/audio-renderer.md)
- [音频流管理开发指导](media/audio-stream-manager.md)
- [音频采集开发指导](media/audio-capturer.md)
- [OpenSL ES播放开发指导](media/opensles-playback.md)
- [OpenSL ES录音开发指导](media/opensles-capture.md)
- [音频焦点模式开发指导](media/audio-interruptmode.md)
- [音量管理开发指导](media/audio-volume-manager.md)
- [路由、设备管理开发指导](media/audio-routing-manager.md)
- [音视频播放器开发指导(推荐使用)](media/avplayer-playback.md)
- [音视频录制开发指导(推荐使用)](media/avrecorder.md)
- [音频播放开发指导(待停用)](media/audio-playback.md)
- [音频录制开发指导(待停用)](media/audio-recorder.md)
- [视频播放开发指导(待停用)](media/video-playback.md)
- [视频录制开发指导(待停用)](media/video-recorder.md)
- 媒体会话
- [AVSession开发概述](media/avsession-overview.md)
- [AVSession开发指导](media/avsession-guidelines.md)
- [音视频概述](media/av-overview.md)
- [AVPlayer和AVRecorder](media/avplayer-avrecorder-overview.md)
- 音频播放
- [音频播放开发概述](media/audio-playback-overview.md)
- [使用AVPlayer开发音频播放功能](media/using-avplayer-for-playback.md)
- [使用AudioRenderer开发音频播放功能](media/using-audiorenderer-for-playback.md)
- [使用OpenSL ES开发音频播放功能](media/using-opensl-es-for-playback.md)
- [使用TonePlayer开发音频播放功能(仅对系统应用开放)](media/using-toneplayer-for-playback.md)
- [多音频播放的并发策略](media/audio-playback-concurrency.md)
- [播放音量管理](media/volume-management.md)
- [音频播放流管理](media/audio-playback-stream-management.md)
- [音频输出设备管理](media/audio-output-device-management.md)
- [分布式音频播放(仅对系统应用开放)](media/distributed-audio-playback.md)
- 音频录制
- [音频录制开发概述](media/audio-recording-overview.md)
- [使用AVRecorder开发音频录制功能](media/using-avrecorder-for-recording.md)
- [使用AudioCapturer开发音频录制功能](media/using-audiocapturer-for-recording.md)
- [使用OpenSLES开发音频录制功能](media/using-opensl-es-for-recording.md)
- [管理麦克风](media/mic-management.md)
- [音频录制流管理](media/audio-recording-stream-management.md)
- [音频输入设备管理](media/audio-input-device-management.md)
- 音频通话
- [音频通话开发概述](media/audio-call-overview.md)
- [开发音频通话功能](media/audio-call-development.md)
- [视频播放](media/video-playback.md)
- [视频录制](media/video-recording.md)
- 媒体会话(仅对系统应用开放)
- [媒体会话概述](media/avsession-overview.md)
- 本地媒体会话
- [本地媒体会话概述](media/local-avsession-overview.md)
- [媒体会话提供方](media/using-avsession-developer.md)
- [媒体会话控制方](media/using-avsession-controller.md)
- 分布式媒体会话
- [分布式媒体会话概述](media/distributed-avsession-overview.md)
- [使用分布式媒体会话](media/using-distributed-avsession.md)
- 相机(仅对系统应用开放)
- [相机开发概述](media/camera-overview.md)
- 相机开发指导
- [开发准备](media/camera-preparation.md)
- [设备输入](media/camera-device-input.md)
- [会话管理](media/camera-session-management.md)
- [预览](media/camera-preview.md)
- [拍照](media/camera-shooting.md)
- [录像](media/camera-recording.md)
- [元数据](media/camera-metadata.md)
- 相机最佳实践
- [拍照实现方案](media/camera-shooting-case.md)
- [录像实现方案](media/camera-recording-case.md)
- 图片
- [图片开发指导](media/image.md)
- 相机
- [相机开发指导](media/camera.md)
- [分布式相机开发指导](media/remote-camera.md)
- [图片开发概述](media/image-overview.md)
- [图片解码](media/image-decoding.md)
- 图片处理
- [图像变换](media/image-transformation.md)
- [位图操作](media/image-pixelmap-operation.md)
- [图片编码](media/image-encoding.md)
- [图片工具](media/image-tool.md)
- 安全
- 访问控制
- [访问控制(权限)开发概述](security/accesstoken-overview.md)
......@@ -393,9 +474,10 @@
- 用户认证
- [用户认证开发概述](security/userauth-overview.md)
- [用户认证开发指导](security/userauth-guidelines.md)
- 密钥管理
- [HUKS开发概述](security/huks-overview.md)
- [HUKS开发指导](security/huks-guidelines.md)
- 通用密钥库
- [通用密钥库开发概述](security/huks-overview.md)
- [通用密钥库开发指导](security/huks-guidelines.md)
- [通用密钥库密码算法规格](security/huks-appendix.md)
- 加解密算法库框架
- [加解密算法库框架概述](security/cryptoFramework-overview.md)
- [加解密算法框架开发指导](security/cryptoFramework-guidelines.md)
......@@ -412,10 +494,10 @@
- [HTTP数据请求](connectivity/http-request.md)
- [WebSocket连接](connectivity/websocket-connection.md)
- [Socket连接](connectivity/socket-connection.md)
- [策略管理](connectivity/net-policy-management.md)
- [网络共享](connectivity/net-sharing.md)
- [以太网连接](connectivity/net-ethernet.md)
- [网络连接管理](connectivity/net-connection-manager.md)
- [MDNS管理](connectivity/net-mdns.md)
- IPC与RPC通信
- [IPC与RPC通信概述](connectivity/ipc-rpc-overview.md)
- [IPC与RPC通信开发指导](connectivity/ipc-rpc-development-guideline.md)
......@@ -425,31 +507,53 @@
- [拨打电话](telephony/telephony-call.md)
- [短信服务](telephony/telephony-sms.md)
- 数据管理
- 分布式数据服务
- [分布式数据服务概述](database/database-mdds-overview.md)
- [分布式数据服务开发指导](database/database-mdds-guidelines.md)
- 关系型数据库
- [关系型数据库概述](database/database-relational-overview.md)
- [关系型数据库开发指导](database/database-relational-guidelines.md)
- 首选项
- [首选项概述](database/database-preference-overview.md)
- [首选项开发指导](database/database-preference-guidelines.md)
- 分布式数据对象
- [分布式数据对象概述](database/database-distributedobject-overview.md)
- [分布式数据对象开发指导](database/database-distributedobject-guidelines.md)
- 数据共享
- [数据共享概述](database/database-datashare-overview.md)
- [数据共享开发指导](database/database-datashare-guidelines.md)
- [数据管理概述](database/data-mgmt-overview.md)
- 应用数据持久化
- [应用数据持久化概述](database/app-data-persistence-overview.md)
- [通过用户首选项实现数据持久化](database/data-persistence-by-preferences.md)
- [通过键值型数据库实现数据持久化](database/data-persistence-by-kv-store.md)
- [通过关系型数据库实现数据持久化](database/data-persistence-by-rdb-store.md)
- 同应用跨设备数据同步(分布式)
- [同应用跨设备数据同步概述](database/sync-app-data-across-devices-overview.md)
- [键值型数据库跨设备数据同步](database/data-sync-of-kv-store.md)
- [关系型数据库跨设备数据同步](database/data-sync-of-rdb-store.md)
- [分布式数据对象跨设备数据同步](database/data-sync-of-distributed-data-object.md)
- 数据可靠性与安全性
- [数据可靠性与安全性概述](database/data-reliability-security-overview.md)
- [数据库备份与恢复](database/data-backup-and-restore.md)
- [数据库加密](database/data-encryption.md)
- [基于设备分类和数据分级的访问控制](database/access-control-by-device-and-data-level.md)
- 同设备跨应用数据共享(仅对系统应用开放)
- [同设备跨应用数据共享概述](database/share-device-data-across-apps-overview.md)
- [通过DataShareExtensionAbility实现数据共享](database/share-data-by-datashareextensionability.md)
- [通过静默数据访问实现数据共享](database/share-data-by-silent-access.md)
- 文件管理
- 媒体库管理
- [媒体库开发概述](file-management/medialibrary-overview.md)
- [媒体资源使用指导](file-management/medialibrary-resource-guidelines.md)
- [文件路径使用指导](file-management/medialibrary-filepath-guidelines.md)
- [相册资源使用指导](file-management/medialibrary-album-guidelines.md)
- 文件访问框架
- [用户公共文件访问框架概述](file-management/file-access-framework-overview.md)
- [文件选择器使用指导](file-management/filepicker-guidelines.md)
- 后台任务(Background Task)管理
- [文件管理概述](file-management/file-management-overview.md)
- 应用文件
- [应用文件概述](file-management/app-file-overview.md)
- [应用沙箱目录](file-management/app-sandbox-directory.md)
- 应用文件访问与管理
- [应用文件访问](file-management/app-file-access.md)
- [应用文件上传下载](file-management/app-file-upload-download.md)
- [应用及文件系统空间统计](file-management/app-fs-space-statistics.md)
- [向应用沙箱推送文件](file-management/send-file-to-app-sandbox.md)
- [应用文件分享](file-management/share-app-file.md)
- 应用数据备份恢复
- [应用数据备份恢复概述](file-management/app-file-backup-overview.md)
- [应用接入数据备份恢复](file-management/app-file-backup-extension.md)
- [应用触发数据备份/恢复(仅对系统应用开放)](file-management/app-file-backup.md)
- 用户文件
- [用户文件概述](file-management/user-file-overview.md)
- 选择与保存用户文件(FilePicker)
- [选择用户文件](file-management/select-user-file.md)
- [保存用户文件](file-management/save-user-file.md)
- [开发用户文件管理器(仅对系统应用开放)](file-management/dev-user-file-manager.md)
- [管理外置存储设备(仅对系统应用开放)](file-management/manage-external-storage.md)
- 分布式文件系统
- [分布式文件系统概述](file-management/distributed-fs-overview.md)
- [设置分布式文件数据等级](file-management/set-security-label.md)
- [跨设备文件访问](file-management/file-access-across-devices.md)
- 任务管理
- 后台任务
- [后台任务概述](task-management/background-task-overview.md)
- [短时任务开发指导](task-management/transient-task-dev-guide.md)
......@@ -464,8 +568,8 @@
- USB服务
- [USB服务开发概述](device/usb-overview.md)
- [USB服务开发指导](device/usb-guidelines.md)
- 位置服务
- [位置开发指南](device/location-guidelines.md)
- 位置
- [位置服务开发指南](device/location-guidelines.md)
- 传感器
- [传感器开发概述](device/sensor-overview.md)
- [传感器开发指导](device/sensor-guidelines.md)
......@@ -487,9 +591,13 @@
- [应用事件打点开发指导](dfx/hiappevent-guidelines.md)
- [性能打点跟踪开发指导](dfx/hitracemeter-guidelines.md)
- [分布式跟踪开发指导](dfx/hitracechain-guidelines.md)
- [HiLog开发指导(Native)](dfx/hilog-guidelines.md)
- 错误管理
- [错误管理开发指导](dfx/errormanager-guidelines.md)
- [应用恢复开发指导](dfx/apprecovery-guidelines.md)
- 日志分析
- [应用无响应(appfreeze)日志分析指导](dfx/appfreeze-guidelines.md)
- [进程崩溃(cppcrash)日志分析指导](dfx/cppcrash-guidelines.md)
- 国际化
- [国际化开发概述](internationalization/international-overview.md)
- [Intl开发指导](internationalization/intl-guidelines.md)
......@@ -547,6 +655,7 @@
- [常见问题](key-features/multi-device-app-dev/faq.md)
- [IDL工具规格及使用说明书](IDL/idl-guidelines.md)
- Native API相关指导
- [Native API介绍](napi/introduction.md)
- [Native API在应用工程中的使用指导](napi/napi-guidelines.md)
- [Drawing开发指导](napi/drawing-guidelines.md)
- [Rawfile开发指导](napi/rawfile-guidelines.md)
......@@ -561,9 +670,12 @@
- 打包拆包工具
- [打包工具](tools/packing-tool.md)
- [拆包工具](tools/unpacking-tool.md)
- [anm工具](tools/anm-tool.md)
- [cem工具](tools/cem-tool.md)
- [anm工具](tools/anm-tool.md)
- [restool工具](tools/restool.md)
- [LLDB调试器使用指导](tools/lldb-tool.md)
- 示例教程
- [开发案例](https://gitee.com/openharmony/docs/blob/master/zh-cn/third-party-cases/Readme-CN.md)
- [示例代码](https://gitee.com/openharmony/applications_app_samples/blob/master/README_zh.md)
- [Codelabs](https://gitee.com/openharmony/codelabs/blob/master/README.md)
- API参考
......@@ -582,6 +694,7 @@
- [鼠标事件](reference/arkui-ts/ts-universal-mouse-key.md)
- [组件区域变化事件](reference/arkui-ts/ts-universal-component-area-change-event.md)
- [组件可见区域变化事件](reference/arkui-ts/ts-universal-component-visible-area-change-event.md)
- [组件快捷键事件](reference/arkui-ts/ts-universal-events-keyboardshortcut.md)
- 通用属性
- [尺寸设置](reference/arkui-ts/ts-universal-attributes-size.md)
- [位置设置](reference/arkui-ts/ts-universal-attributes-location.md)
......@@ -598,7 +711,6 @@
- [图形变换](reference/arkui-ts/ts-universal-attributes-transformation.md)
- [图像效果](reference/arkui-ts/ts-universal-attributes-image-effect.md)
- [形状裁剪](reference/arkui-ts/ts-universal-attributes-sharp-clipping.md)
- [文本样式设置](reference/arkui-ts/ts-universal-attributes-text-style.md)
- [栅格设置](reference/arkui-ts/ts-universal-attributes-grid.md)
- [颜色渐变](reference/arkui-ts/ts-universal-attributes-gradient-color.md)
- [Popup控制](reference/arkui-ts/ts-universal-attributes-popup.md)
......@@ -612,6 +724,11 @@
- [触摸测试控制](reference/arkui-ts/ts-universal-attributes-hit-test-behavior.md)
- [背景模糊设置](reference/arkui-ts/ts-universal-attributes-backgroundBlurStyle.md)
- [分布式迁移标识](reference/arkui-ts/ts-universal-attributes-restoreId.md)
- [前景色设置](reference/arkui-ts/ts-universal-attributes-foreground-color.md)
- [图像球面效果设置](reference/arkui-ts/ts-universal-attributes-sphericalEffect.md)
- [图像渐亮效果设置](reference/arkui-ts/ts-universal-attributes-lightUpEffect.md)
- [图像像素扩展效果设置](reference/arkui-ts/ts-universal-attributes-pixelStretchEffect.md)
- [文本通用属性](reference/arkui-ts/ts-universal-attributes-text-style.md)
- 手势处理
- [绑定手势方法](reference/arkui-ts/ts-gesture-settings.md)
- 基础手势
......@@ -623,6 +740,7 @@
- [SwipeGesture](reference/arkui-ts/ts-basic-gestures-swipegesture.md)
- [组合手势](reference/arkui-ts/ts-combined-gestures.md)
- 基础组件
- [AlphabetIndexer](reference/arkui-ts/ts-container-alphabet-indexer.md)
- [Blank](reference/arkui-ts/ts-basic-components-blank.md)
- [Button](reference/arkui-ts/ts-basic-components-button.md)
- [Checkbox](reference/arkui-ts/ts-basic-components-checkbox.md)
......@@ -634,6 +752,7 @@
- [Gauge](reference/arkui-ts/ts-basic-components-gauge.md)
- [Image](reference/arkui-ts/ts-basic-components-image.md)
- [ImageAnimator](reference/arkui-ts/ts-basic-components-imageanimator.md)
- [ImageSpan](reference/arkui-ts/ts-basic-components-imagespan.md)
- [LoadingProgress](reference/arkui-ts/ts-basic-components-loadingprogress.md)
- [Marquee](reference/arkui-ts/ts-basic-components-marquee.md)
- [Menu](reference/arkui-ts/ts-basic-components-menu.md)
......@@ -669,7 +788,6 @@
- [XComponent](reference/arkui-ts/ts-basic-components-xcomponent.md)
- 容器组件
- [AbilityComponent](reference/arkui-ts/ts-container-ability-component.md)
- [AlphabetIndexer](reference/arkui-ts/ts-container-alphabet-indexer.md)
- [Badge](reference/arkui-ts/ts-container-badge.md)
- [Column](reference/arkui-ts/ts-container-column.md)
- [ColumnSplit](reference/arkui-ts/ts-container-columnsplit.md)
......@@ -733,13 +851,14 @@
- [时间选择弹窗](reference/arkui-ts/ts-methods-timepicker-dialog.md)
- [文本选择弹窗](reference/arkui-ts/ts-methods-textpicker-dialog.md)
- [菜单](reference/arkui-ts/ts-methods-menu.md)
- [自定义组件的生命周期](reference/arkui-ts/ts-custom-component-lifecycle.md)
- [应用级变量的状态管理](reference/arkui-ts/ts-state-management.md)
- [像素单位](reference/arkui-ts/ts-pixel-units.md)
- [枚举说明](reference/arkui-ts/ts-appendix-enums.md)
- [类型说明](reference/arkui-ts/ts-types.md)
- 已停止维护的组件
- [GridContainer](reference/arkui-ts/ts-container-gridcontainer.md)
- 组件参考(兼容JS的类Web开发范式-ArkUI.Full
- 组件参考(兼容JS的类Web开发范式)
- 组件通用信息
- [通用属性](reference/arkui-js/js-components-common-attributes.md)
- [通用样式](reference/arkui-js/js-components-common-styles.md)
......@@ -842,39 +961,39 @@
- [数据类型说明](reference/arkui-js/js-appendix-types.md)
- 组件参考(兼容JS的类Web开发范式-ArkUI.Lite)
- 框架说明
- [文件组织](js-framework-file.md)
- [js标签配置](js-framework-js-tag.md)
- [app.js](js-framework-js-file.md)
- [文件组织](reference/arkui-js-lite/js-framework-file.md)
- [js标签配置](reference/arkui-js-lite/js-framework-js-tag.md)
- [app.js](reference/arkui-js-lite/js-framework-js-file.md)
- 语法
- [HML语法参考](js-framework-syntax-hml.md)
- [CSS语法参考](js-framework-syntax-css.md)
- [JS语法参考](js-framework-syntax-js.md)
- [HML语法参考](reference/arkui-js-lite/js-framework-syntax-hml.md)
- [CSS语法参考](reference/arkui-js-lite/js-framework-syntax-css.md)
- [JS语法参考](reference/arkui-js-lite/js-framework-syntax-js.md)
- 组件通用信息
- [通用事件](js-common-events.md)
- [通用属性](js-common-attributes.md)
- [通用样式](js-common-styles.md)
- [动画样式](js-components-common-animation.md)
- [通用事件](reference/arkui-js-lite/js-common-events.md)
- [通用属性](reference/arkui-js-lite/js-common-attributes.md)
- [通用样式](reference/arkui-js-lite/js-common-styles.md)
- [动画样式](reference/arkui-js-lite/js-components-common-animation.md)
- 容器组件
- [div](js-components-container-div.md)
- [list](js-components-container-list.md)
- [list-item](js-components-container-list-item.md)
- [stack](js-components-container-stack.md)
- [swiper](js-components-container-swiper.md)
- [div](reference/arkui-js-lite/js-components-container-div.md)
- [list](reference/arkui-js-lite/js-components-container-list.md)
- [list-item](reference/arkui-js-lite/js-components-container-list-item.md)
- [stack](reference/arkui-js-lite/js-components-container-stack.md)
- [swiper](reference/arkui-js-lite/js-components-container-swiper.md)
- 基础组件
- [chart](js-components-basic-chart.md)
- [image](js-components-basic-image.md)
- [image-animator](js-components-basic-image-animator.md)
- [input](js-components-basic-input.md)
- [marquee](js-components-basic-marquee.md)
- [picker-view](js-components-basic-picker-view.md)
- [progress](js-components-basic-progress.md)
- [qrcode](js-components-basic-qrcode.md)
- [slider](js-components-basic-slider.md)
- [switch](js-components-basic-switch.md)
- [text](js-components-basic-text.md)
- [chart](reference/arkui-js-lite/js-components-basic-chart.md)
- [image](reference/arkui-js-lite/js-components-basic-image.md)
- [image-animator](reference/arkui-js-lite/js-components-basic-image-animator.md)
- [input](reference/arkui-js-lite/js-components-basic-input.md)
- [marquee](reference/arkui-js-lite/js-components-basic-marquee.md)
- [picker-view](reference/arkui-js-lite/js-components-basic-picker-view.md)
- [progress](reference/arkui-js-lite/js-components-basic-progress.md)
- [qrcode](reference/arkui-js-lite/js-components-basic-qrcode.md)
- [slider](reference/arkui-js-lite/js-components-basic-slider.md)
- [switch](reference/arkui-js-lite/js-components-basic-switch.md)
- [text](reference/arkui-js-lite/js-components-basic-text.md)
- 画布组件
- [canvas组件](js-components-canvas-canvas.md)
- [CanvasRenderingContext2D对象](js-components-canvas-canvasrenderingcontext2d.md)
- [canvas组件](reference/arkui-js-lite/js-components-canvas-canvas.md)
- [CanvasRenderingContext2D对象](reference/arkui-js-lite/js-components-canvas-canvasrenderingcontext2d.md)
- JS服务卡片UI组件参考
- JS服务卡片UI框架说明
- [文件组织](reference/js-service-widget-ui/js-service-widget-file.md)
......@@ -932,8 +1051,6 @@
- [@ohos.app.form.FormExtensionAbility (FormExtensionAbility)](reference/apis/js-apis-app-form-formExtensionAbility.md)
- [@ohos.application.DataShareExtensionAbility (数据共享扩展能力)](reference/apis/js-apis-application-dataShareExtensionAbility.md)
- [@ohos.application.StaticSubscriberExtensionAbility (StaticSubscriberExtensionAbility)](reference/apis/js-apis-application-staticSubscriberExtensionAbility.md)
- Stage模型能力的接口(待停用)
- [@ohos.application.EnvironmentCallback (EnvironmentCallback)](reference/apis/js-apis-application-environmentCallback.md)
- FA模型能力的接口
- [@ohos.ability.ability (Ability)](reference/apis/js-apis-ability-ability.md)
- [@ohos.ability.featureAbility (FeatureAbility模块)](reference/apis/js-apis-ability-featureAbility.md)
......@@ -945,16 +1062,20 @@
- [@ohos.app.ability.appRecovery (appRecovery)](reference/apis/js-apis-app-ability-appRecovery.md)
- [@ohos.app.ability.Configuration (Configuration)](reference/apis/js-apis-app-ability-configuration.md)
- [@ohos.app.ability.ConfigurationConstant (ConfigurationConstant)](reference/apis/js-apis-app-ability-configurationConstant.md)
- [@ohos.app.ability.dataUriUtils (DataUriUtils模块)](reference/apis/js-apis-app-ability-dataUriUtils.md)
- [@ohos.app.ability.dialogRequest (dialogRequest模块)](reference/apis/js-apis-app-ability-dialogRequest.md)
- [@ohos.app.ability.errorManager (ErrorManager)](reference/apis/js-apis-app-ability-errorManager.md)
- [@ohos.app.ability.missionManager (missionManager)](reference/apis/js-apis-app-ability-missionManager.md)
- [@ohos.app.ability.quickFixManager (quickFixManager)](reference/apis/js-apis-app-ability-quickFixManager.md)
- [@ohos.app.ability.Want (Want)](reference/apis/js-apis-app-ability-want.md)
- [@ohos.app.ability.wantAgent (WantAgent模块)](reference/apis/js-apis-app-ability-wantAgent.md)
- [@ohos.app.ability.wantConstant (wantConstant)](reference/apis/js-apis-app-ability-wantConstant.md)
- [@ohos.app.businessAbilityRouter (业务路由模块)](reference/apis/js-apis-businessAbilityRouter.md)
- [@ohos.app.form.formBindingData (卡片数据绑定类)](reference/apis/js-apis-app-form-formBindingData.md)
- [@ohos.app.form.formHost (FormHost)](reference/apis/js-apis-app-form-formHost.md)
- [@ohos.app.form.formInfo (FormInfo)](reference/apis/js-apis-app-form-formInfo.md)
- [@ohos.app.form.formProvider (FormProvider)](reference/apis/js-apis-app-form-formProvider.md)
- [@ohos.application.uriPermissionManager(URI权限管理)](reference/apis/js-apis-uripermissionmanager.md)
- 通用能力的接口(待停用)
- [@ohos.ability.dataUriUtils (DataUriUtils模块)](reference/apis/js-apis-ability-dataUriUtils.md)
- [@ohos.ability.errorCode (ErrorCode)](reference/apis/js-apis-ability-errorCode.md)
......@@ -1026,10 +1147,13 @@
- [continuationExtraParams](reference/apis/js-apis-continuation-continuationExtraParams.md)
- [continuationResult](reference/apis/js-apis-continuation-continuationResult.md)
- 公共事件与通知
- [系统公共事件定义](reference/apis/commonEventManager-definitions.md)
- [@ohos.commonEventManager (公共事件模块)(推荐)](reference/apis/js-apis-commonEventManager.md)
- [@ohos.events.emitter (Emitter)](reference/apis/js-apis-emitter.md)
- [@ohos.notificationManager (NotificationManager模块)(推荐)](reference/apis/js-apis-notificationManager.md)
- [@ohos.notificationSubscribe (NotificationSubscribe模块)(推荐)](reference/apis/js-apis-notificationSubscribe.md)
- [@ohos.application.StaticSubscriberExtensionContext (NotificationSubscribe模块)(推荐)](reference/apis/js-apis-application-StaticSubscriberExtensionContext.md)
- [系统公共事件定义 (待停用)](reference/apis/commonEvent-definitions.md)
- [@ohos.commonEvent (公共事件模块)(待停用)](reference/apis/js-apis-commonEvent.md)
- [@ohos.notification (Notification模块)(待停用)](reference/apis/js-apis-notification.md)
- application
......@@ -1048,6 +1172,12 @@
- [NotificationSlot](reference/apis/js-apis-inner-notification-notificationSlot.md)
- [NotificationTemplate](reference/apis/js-apis-inner-notification-notificationTemplate.md)
- [NotificationUserInput](reference/apis/js-apis-inner-notification-notificationUserInput.md)
- 公共事件定义
- [元能力子系统公共事件定义](reference/apis/common_event/commonEvent-ability.md)
- [包管理子系统公共事件定义](reference/apis/common_event/commonEvent-bundleManager.md)
- [通知服务公共事件定义](reference/apis/common_event/commonEvent-ans.md)
- [资源调度子系统公共事件定义](reference/apis/common_event/commonEvent-resourceschedule.md)
- [电话服务子系统公共事件定义](reference/apis/common_event/commonEvent-telephony.md)
- 包管理
- [@ohos.bundle.appControl (appControl模块)](reference/apis/js-apis-appControl.md)
- [@ohos.bundle.bundleManager (bundleManager模块)](reference/apis/js-apis-bundleManager.md)
......@@ -1057,29 +1187,38 @@
- [@ohos.bundle.freeInstall (freeInstall模块)](reference/apis/js-apis-freeInstall.md)
- [@ohos.bundle.installer (installer模块)](reference/apis/js-apis-installer.md)
- [@ohos.bundle.launcherBundleManager (launcherBundleManager模块)](reference/apis/js-apis-launcherBundleManager.md)
- [@ohos.bundle.overlay (overlay模块)](reference/apis/js-apis-overlay.md)
- [@ohos.zlib (Zip模块)](reference/apis/js-apis-zlib.md)
- bundleManager
- [abilityInfo](reference/apis/js-apis-bundleManager-abilityInfo.md)
- [applicationInfo](reference/apis/js-apis-bundleManager-applicationInfo.md)
- [AppProvisionInfo](reference/apis/js-apis-bundleManager-AppProvisionInfo.md)
- [bundleInfo](reference/apis/js-apis-bundleManager-bundleInfo.md)
- [BundlePackInfo](reference/apis/js-apis-bundleManager-BundlePackInfo.md)
- [BusinessAbilityInfo](reference/apis/js-apis-bundleManager-businessAbilityInfo.md)
- [dispatchInfo](reference/apis/js-apis-bundleManager-dispatchInfo.md)
- [elementName](reference/apis/js-apis-bundleManager-elementName.md)
- [extensionAbilityInfo](reference/apis/js-apis-bundleManager-extensionAbilityInfo.md)
- [hapModuleInfo](reference/apis/js-apis-bundleManager-hapModuleInfo.md)
- [launcherAbilityInfo](reference/apis/js-apis-bundleManager-launcherAbilityInfo.md)
- [metadata](reference/apis/js-apis-bundleManager-metadata.md)
- [OverlayModuleInfo](reference/apis/js-apis-bundleManager-overlayModuleInfo.md)
- [permissionDef](reference/apis/js-apis-bundleManager-permissionDef.md)
- [remoteAbilityInfo](reference/apis/js-apis-bundleManager-remoteAbilityInfo.md)
- [SharedBundleInfo](reference/apis/js-apis-bundleManager-sharedBundleInfo.md)
- [shortcutInfo](reference/apis/js-apis-bundleManager-shortcutInfo.md)
- UI界面
- [@ohos.animator (动画)](reference/apis/js-apis-animator.md)
- [@ohos.arkui.componentSnapshot(组件截图)](reference/apis/js-apis-arkui-componentSnapshot.md)
- [@ohos.arkui.drawableDescriptor(DrawableDescriptor)](reference/apis/js-apis-arkui-drawableDescriptor.md)
- [@ohos.curves (插值计算)](reference/apis/js-apis-curve.md)
- [@ohos.matrix4 (矩阵变换)](reference/apis/js-apis-matrix4.md)
- [@ohos.mediaquery (媒体查询)](reference/apis/js-apis-mediaquery.md)
- [@ohos.pluginComponent(PluginComponentManager)](reference/apis/js-apis-plugincomponent.md)
- [@ohos.promptAction (弹窗)](reference/apis/js-apis-promptAction.md)
- [@ohos.router (页面路由)](reference/apis/js-apis-router.md)
- [@ohos.measure (文本计算)](reference/apis/js-apis-measure.md)
- [@ohos.uiAppearance(用户界面外观)](reference/apis/js-apis-uiappearance.md)
- 图形图像
- [@ohos.animation.windowAnimationManager (窗口动画管理)](reference/apis/js-apis-windowAnimationManager.md)
- [@ohos.application.WindowExtensionAbility (窗口扩展能力)](reference/apis/js-apis-application-windowExtensionAbility.md)
......@@ -1109,6 +1248,8 @@
- [@ohos.resourceschedule.workScheduler (延迟任务调度)](reference/apis/js-apis-resourceschedule-workScheduler.md)
- [@ohos.resourceschedule.usageStatistics (设备使用信息统计)](reference/apis/js-apis-resourceschedule-deviceUsageStatistics.md)
- [@ohos.WorkSchedulerExtensionAbility (延迟任务调度回调)](reference/apis/js-apis-WorkSchedulerExtensionAbility.md)
- application
- [WorkSchedulerExtensionContext](reference/apis/js-apis-inner-application-WorkSchedulerExtensionContext.md)
- 安全
- [@ohos.abilityAccessCtrl (程序访问控制管理)](reference/apis/js-apis-abilityAccessCtrl.md)
- [@ohos.privacyManager (隐私管理)](reference/apis/js-apis-privacyManager.md)
......@@ -1117,7 +1258,6 @@
- [@ohos.security.huks (通用密钥库系统)](reference/apis/js-apis-huks.md)
- [@ohos.userIAM.faceAuth (人脸认证)](reference/apis/js-apis-useriam-faceauth.md)
- [@ohos.userIAM.userAuth (用户认证)](reference/apis/js-apis-useriam-userauth.md)
- [@system.cipher (加密算法)](reference/apis/js-apis-system-cipher.md)
- security
- [PermissionRequestResult](reference/apis/js-apis-permissionrequestresult.md)
- 数据管理
......@@ -1127,23 +1267,25 @@
- [@ohos.data.dataShareResultSet (数据共享结果集)](reference/apis/js-apis-data-DataShareResultSet.md)
- [@ohos.data.distributedDataObject (分布式数据对象)](reference/apis/js-apis-data-distributedobject.md)
- [@ohos.data.distributedKVStore (分布式键值数据库)](reference/apis/js-apis-distributedKVStore.md)
- [@ohos.data.preferences (首选项)](reference/apis/js-apis-data-preferences.md)
- [@ohos.data.preferences (用户首选项)](reference/apis/js-apis-data-preferences.md)
- [@ohos.data.relationalStore (关系型数据库)](reference/apis/js-apis-data-relationalStore.md)
- [@ohos.data.ValuesBucket (数据集)](reference/apis/js-apis-data-valuesBucket.md)
- data/rdb
- [resultSet (结果集)](reference/apis/js-apis-data-resultset.md)
- 文件管理
- [@ohos.file.backup (备份恢复)](reference/apis/js-apis-file-backup.md)
- [@ohos.file.cloudSyncManager (端云同步管理)](reference/apis/js-apis-file-cloudsyncmanager.md)
- [@ohos.file.environment (目录环境能力)](reference/apis/js-apis-file-environment.md)
- [@ohos.file.fileAccess (公共文件访问与管理)](reference/apis/js-apis-fileAccess.md)
- [@ohos.file.fileExtensionInfo (公共文件访问与管理属性信息)](reference/apis/js-apis-fileExtensionInfo.md)
- [@ohos.file.fileuri (文件URI)](reference/apis/js-apis-file-fileuri.md)
- [@ohos.file.fs (文件管理)](reference/apis/js-apis-file-fs.md)
- [@ohos.file.hash (文件哈希处理)](reference/apis/js-apis-file-hash.md)
- [@ohos.file.picker (选择器)](reference/apis/js-apis-file-picker.md)
- [@ohos.file.securityLabel (数据标签)](reference/apis/js-apis-file-securityLabel.md)
- [@ohos.file.statvfs (文件系统空间统计)](reference/apis/js-apis-file-statvfs.md)
- [@ohos.file.storageStatistics (应用空间统计)](reference/apis/js-apis-file-storage-statistics.md)
- [@ohos.file.volumeManager (卷管理)](reference/apis/js-apis-file-volumemanager.md)
- [@ohos.filemanagement.userFileManager (用户数据管理)](reference/apis/js-apis-userFileManager.md)
- [@ohos.multimedia.medialibrary (媒体库管理)](reference/apis/js-apis-medialibrary.md)
- [@ohos.fileShare (文件分享)](reference/apis/js-apis-fileShare.md)
- 电话服务
- [@ohos.contact (联系人)](reference/apis/js-apis-contact.md)
- [@ohos.telephony.call (拨打电话)](reference/apis/js-apis-call.md)
......@@ -1156,12 +1298,14 @@
- [@ohos.net.connection (网络连接管理)](reference/apis/js-apis-net-connection.md)
- [@ohos.net.ethernet (以太网连接管理)](reference/apis/js-apis-net-ethernet.md)
- [@ohos.net.http (数据请求)](reference/apis/js-apis-http.md)
- [@ohos.net.mdns (MDNS管理)](reference/apis/js-apis-net-mdns.md)
- [@ohos.net.sharing (网络共享管理)](reference/apis/js-apis-net-sharing.md)
- [@ohos.net.socket (Socket连接)](reference/apis/js-apis-socket.md)
- [@ohos.net.webSocket (WebSocket连接)](reference/apis/js-apis-webSocket.md)
- [@ohos.request (上传下载)](reference/apis/js-apis-request.md)
- 通信与连接
- [@ohos.bluetooth (蓝牙)](reference/apis/js-apis-bluetooth.md)
- [@ohos.bluetooth (蓝牙)(待停用)](reference/apis/js-apis-bluetooth.md)
- [@ohos.bluetoothManager (蓝牙)(推荐)](reference/apis/js-apis-bluetoothManager.md)
- [@ohos.connectedTag (有源标签)](reference/apis/js-apis-connectedTag.md)
- [@ohos.nfc.cardEmulation (标准NFC-cardEmulation)](reference/apis/js-apis-cardEmulation.md)
- [@ohos.nfc.controller (标准NFC)](reference/apis/js-apis-nfcController.md)
......@@ -1199,7 +1343,7 @@
- [@ohos.systemTimer (系统定时器)](reference/apis/js-apis-system-timer.md)
- [@ohos.wallpaper (壁纸)](reference/apis/js-apis-wallpaper.md)
- [@ohos.web.webview (Webview)](reference/apis/js-apis-webview.md)
- [console (日志打印)](reference/apis/js-apis-logs.md)
- [console (控制台)](reference/apis/js-apis-logs.md)
- [Timer (定时器)](reference/apis/js-apis-timer.md)
- application
- [AccessibilityExtensionContext (辅助功能扩展上下文)](reference/apis/js-apis-inner-application-accessibilityExtensionContext.md)
......@@ -1207,12 +1351,14 @@
- [@ohos.batteryInfo (电量信息)](reference/apis/js-apis-battery-info.md)
- [@ohos.batteryStatistics (耗电统计)](reference/apis/js-apis-batteryStatistics.md)
- [@ohos.brightness (屏幕亮度)](reference/apis/js-apis-brightness.md)
- [@ohos.charger (充电类型)](reference/apis/js-apis-charger.md)
- [@ohos.cooperate (键鼠穿越)](reference/apis/js-apis-devicestatus-cooperate.md)
- [@ohos.deviceInfo (设备信息)](reference/apis/js-apis-device-info.md)
- [@ohos.distributedHardware.deviceManager (设备管理)](reference/apis/js-apis-device-manager.md)
- [@ohos.geoLocationManager (位置服务)](reference/apis/js-apis-geoLocationManager.md)
- [@ohos.multimodalInput.inputConsumer (组合按键)](reference/apis/js-apis-inputconsumer.md)
- [@ohos.multimodalInput.inputDevice (输入设备)](reference/apis/js-apis-inputdevice.md)
- [@ohos.multimodalInput.inputDeviceCooperate (键鼠穿越)](reference/apis/js-apis-cooperate.md)
- [@ohos.multimodalInput.inputDeviceCooperate (键鼠穿越)(待停用)](reference/apis/js-apis-cooperate.md)
- [@ohos.multimodalInput.inputEvent (输入事件)](reference/apis/js-apis-inputevent.md)
- [@ohos.multimodalInput.inputEventClient (按键注入)](reference/apis/js-apis-inputeventclient.md)
- [@ohos.multimodalInput.inputMonitor (输入监听)](reference/apis/js-apis-inputmonitor.md)
......@@ -1221,6 +1367,7 @@
- [@ohos.multimodalInput.mouseEvent (鼠标输入事件)](reference/apis/js-apis-mouseevent.md)
- [@ohos.multimodalInput.pointer (鼠标指针)](reference/apis/js-apis-pointer.md)
- [@ohos.multimodalInput.touchEvent (触摸输入事件)](reference/apis/js-apis-touchevent.md)
- [@ohos.multimodalInput.shortKey (快捷键)](reference/apis/js-apis-shortKey.md)
- [@ohos.power (系统电源管理)](reference/apis/js-apis-power.md)
- [@ohos.runningLock (Runninglock锁)](reference/apis/js-apis-runninglock.md)
- [@ohos.sensor (传感器)](reference/apis/js-apis-sensor.md)
......@@ -1238,9 +1385,16 @@
- [@ohos.account.osAccount (系统帐号管理)](reference/apis/js-apis-osAccount.md)
- 定制管理
- [@ohos.configPolicy (配置策略)](reference/apis/js-apis-configPolicy.md)
- [@ohos.enterprise.EnterpriseAdminExtensionAbility (EnterpriseAdminExtensionAbility)](reference/apis/js-apis-EnterpriseAdminExtensionAbility.md)
- [@ohos.enterprise.accountManager (帐户管理)](reference/apis/js-apis-enterprise-accountManager.md)
- [@ohos.enterprise.adminManager (企业设备管理)](reference/apis/js-apis-enterprise-adminManager.md)
- [@ohos.enterprise.applicationManager (应用管理)](reference/apis/js-apis-enterprise-applicationManager.md)
- [@ohos.enterprise.bundleManager (包管理)](reference/apis/js-apis-enterprise-bundleManager.md)
- [@ohos.enterprise.dateTimeManager (系统时间管理)](reference/apis/js-apis-enterprise-dateTimeManager.md)
- [@ohos.enterprise.deviceControl (设备控制管理)](reference/apis/js-apis-enterprise-deviceControl.md)
- [@ohos.enterprise.deviceInfo (设备信息管理)](reference/apis/js-apis-enterprise-deviceInfo.md)
- [@ohos.enterprise.EnterpriseAdminExtensionAbility (EnterpriseAdminExtensionAbility)](reference/apis/js-apis-EnterpriseAdminExtensionAbility.md)
- [@ohos.enterprise.networkManager (网络管理)](reference/apis/js-apis-enterprise-networkManager.md)
- [@ohos.enterprise.wifiManager (WiFi管理)](reference/apis/js-apis-enterprise-wifiManager.md)
- 语言基础类库
- [@ohos.buffer (Buffer)](reference/apis/js-apis-buffer.md)
- [@ohos.convertxml (xml转换JavaScript)](reference/apis/js-apis-convertxml.md)
......@@ -1282,17 +1436,18 @@
- [@ohos.fileio (文件管理)](reference/apis/js-apis-fileio.md)
- [@ohos.geolocation (位置服务)](reference/apis/js-apis-geolocation.md)
- [@ohos.hiAppEvent (应用打点)](reference/apis/js-apis-hiappevent.md)
- [@ohos.multimedia.medialibrary (媒体库管理)](reference/apis/js-apis-medialibrary.md)
- [@ohos.prompt (弹窗)](reference/apis/js-apis-prompt.md)
- [@ohos.reminderAgent (后台代理提醒)](reference/apis/js-apis-reminderAgent.md)
- [@ohos.statfs (statfs)](reference/apis/js-apis-statfs.md)
- [@ohos.systemParameter (系统属性)](reference/apis/js-apis-system-parameter.md)
- [@ohos.systemTime (系统时间、时区)](reference/apis/js-apis-system-time.md)
- [@ohos.usb (USB管理)](reference/apis/js-apis-usb-deprecated.md)
- [@ohos.usbV9 (USB管理)](reference/apis/js-apis-usb.md)
- [@system.app (应用上下文)](reference/apis/js-apis-system-app.md)
- [@system.battery (电量信息)](reference/apis/js-apis-system-battery.md)
- [@system.bluetooth (蓝牙)](reference/apis/js-apis-system-bluetooth.md)
- [@system.brightness (屏幕亮度)](reference/apis/js-apis-system-brightness.md)
- [@system.cipher (加密算法)](reference/apis/js-apis-system-cipher.md)
- [@system.configuration (应用配置)](reference/apis/js-apis-system-configuration.md)
- [@system.device (设备信息)](reference/apis/js-apis-system-device.md)
- [@system.fetch (数据请求)](reference/apis/js-apis-system-fetch.md)
......@@ -1322,6 +1477,8 @@
- [PermissionDef](reference/apis/js-apis-bundle-PermissionDef.md)
- [remoteAbilityInfo](reference/apis/js-apis-bundle-remoteAbilityInfo.md)
- [shortcutInfo](reference/apis/js-apis-bundle-ShortcutInfo.md)
- data/rdb
- [resultSet (结果集)](reference/apis/js-apis-data-resultset.md)
- 错误码参考
- [通用错误码](reference/errorcodes/errorcode-universal.md)
- Ability框架
......@@ -1366,14 +1523,22 @@
- [数据共享错误码](reference/errorcodes/errorcode-datashare.md)
- [分布式数据对象错误码](reference/errorcodes/errorcode-distributed-dataObject.md)
- [分布式键值数据库错误码](reference/errorcodes/errorcode-distributedKVStore.md)
- [首选项错误码](reference/errorcodes/errorcode-preferences.md)
- [用户首选项错误码](reference/errorcodes/errorcode-preferences.md)
- 文件管理
- [文件管理子系统错误码](reference/errorcodes/errorcode-filemanagement.md)
- 电话服务
- [电话子系统错误码](reference/errorcodes/errorcode-telephony.md)
- 网络管理
- [上传下载错误码](reference/errorcodes/errorcode-request.md)
- [HTTP错误码](reference/errorcodes/errorcode-net-http.md)
- [Socket错误码](reference/errorcodes/errorcode-net-socket.md)
- [网络连接管理错误码](reference/errorcodes/errorcode-net-connection.md)
- [以太网连接错误码](reference/errorcodes/errorcode-net-ethernet.md)
- [网络共享错误码](reference/errorcodes/errorcode-net-sharing.md)
- [MDNS错误码](reference/errorcodes/errorcode-net-mdns.md)
- 通信与连接
- [Bluetooth错误码](reference/errorcodes/errorcode-bluetoothManager.md)
- [WIFI错误码](reference/errorcodes/errorcode-wifi.md)
- [NFC错误码](reference/errorcodes/errorcode-nfc.md)
- [RPC错误码](reference/errorcodes/errorcode-rpc.md)
- 系统基础能力
......@@ -1384,6 +1549,7 @@
- [Hidebug错误码](reference/errorcodes/errorcode-hiviewdfx-hidebug.md)
- [输入法框架错误码](reference/errorcodes/errorcode-inputmethod-framework.md)
- [剪贴板错误码](reference/errorcodes/errorcode-pasteboard.md)
- [锁屏服务错误码](reference/errorcodes/errorcode-screenlock.md)
- [时间时区服务错误码](reference/errorcodes/errorcode-time.md)
- [Webview错误码](reference/errorcodes/errorcode-webview.md)
- 帐号管理
......@@ -1396,7 +1562,8 @@
- [热管理错误码](reference/errorcodes/errorcode-thermal.md)
- [设备管理错误码](reference/errorcodes/errorcode-device-manager.md)
- [位置服务子系统错误码](reference/errorcodes/errorcode-geoLocationManager.md)
- [键鼠穿越管理错误码](reference/errorcodes/errorcode-multimodalinput.md)
- [键鼠穿越管理错误码](reference/errorcodes/errorcode-devicestatus.md)
- [键鼠穿越管理错误码 (待停用)](reference/errorcodes/errorcode-multimodalinput.md)
- [传感器错误码](reference/errorcodes/errorcode-sensor.md)
- [振动错误码](reference/errorcodes/errorcode-vibrator.md)
- [系统参数错误码](reference/errorcodes/errorcode-system-parameterV9.md)
......@@ -1408,7 +1575,7 @@
- [语言基础类库错误码](reference/errorcodes/errorcode-utils.md)
- 测试
- [uitest错误码](reference/errorcodes/errorcode-uitest.md)
- 接口参考(Native API)
- Native接口参考
- 模块
- [Native XComponent](reference/native-apis/_o_h___native_x_component.md)
- [HiLog](reference/native-apis/_hi_log.md)
......@@ -1513,28 +1680,37 @@
- [支持的标准库介绍](reference/native-lib/third_party_libc/musl.md)
- 附录
- [Native api中没有导出的符号列表](reference/native-lib/third_party_libc/musl-peculiar-symbol.md)
- [Native api中由于权限管控可能调用失败的符号列表](reference/native-lib/third_party_libc/musl-permission-control-symbol.md)
- [Native api中导出的EGL符号列表](reference/native-lib/third_party_opengl/egl-symbol.md)
- [Native api中导出的OpenGL ES 3.0符号列表](reference/native-lib/third_party_opengl/openglesv3-symbol.md)
- [Native api中支持的OpenSL ES接口列表](reference/native-lib/third_party_opensles/opensles.md)
- 常见问题
- [full-SDK替换指南](quick-start/full-sdk-switch-guide.md)
- [开发语言常见问题](faqs/faqs-language.md)
- [Ability框架开发常见问题](faqs/faqs-ability.md)
- [应用程序包管理开发常见问题](faqs/faqs-bundle.md)
- [ArkUI组件(ArkTS)开发常见问题](faqs/faqs-ui-ets.md)
- [ArkUI Web组件(ArkTS)开发常见问题](faqs/faqs-web-arkts.md)
- [UI框架(JS)开发常见问题](faqs/faqs-ui-js.md)
- [公共事件与通知开发常见问题](faqs/faqs-event-notification.md)
- [如何编译full-SDK](faqs/full-sdk-compile-guide.md)
- [如何替换full-SDK](faqs/full-sdk-switch-guide.md)
- [Ability开发常见问题](faqs/faqs-ability.md)
- ArkUI框架开发常见问题(ArkTS)
- [ArkTS语法使用常见问题](faqs/faqs-arkui-arkts.md)
- [ArkUI组件开发常见问题(ArkTS)](faqs/faqs-arkui-component.md)
- [ArkUI布局开发常见问题(ArkTS)](faqs/faqs-arkui-layout.md)
- [ArkUI路由/导航开发常见问题(ArkTS)](faqs/faqs-arkui-route-nav.md)
- [ArkUI动画/交互事件开发常见问题(ArkTS)](faqs/faqs-arkui-animation-interactive-event.md)
-[ArkUI框架开发常见问题(JS)](faqs/faqs-arkui-js.md)
- [Web开发常见问题](faqs/faqs-arkui-web.md)
- [包管理开发常见问题](faqs/faqs-bundle-management.md)
- [资源管理开发常见问题](faqs/faqs-globalization.md)
- [事件通知开发常见问题](faqs/faqs-event-notification.md)
- [图形图像开发常见问题](faqs/faqs-graphics.md)
- [窗口管理开发常见问题](faqs/faqs-window-manager.md)
- [媒体开发常见问题](faqs/faqs-multimedia.md)
- [安全基础能力开发常见问题](faqs/faqs-security.md)
- [程序访问控制开发常见问题](faqs/faqs-ability-access-control.md)
- [数据管理开发常见问题](faqs/faqs-distributed-data-management.md)
- [文件管理开发常见问题](faqs/faqs-file-management.md)
- [媒体开发常见问题](faqs/faqs-media.md)
- [网络与连接开发常见问题](faqs/faqs-connectivity.md)
- [数据管理开发常见问题](faqs/faqs-data-management.md)
- [设备管理开发常见问题](faqs/faqs-device-management.md)
- [网络管理开发常见问题](faqs/faqs-network-management.md)
- [DFX开发常见问题](faqs/faqs-dfx.md)
- [国际化开发常见问题](faqs/faqs-international.md)
- [Native API使用常见问题](faqs/faqs-native.md)
- [三四方库使用常见问题](faqs/faqs-third-party-library.md)
- [IDE使用常见问题](faqs/faqs-ide.md)
- [hdc_std命令使用常见问题](faqs/faqs-hdc-std.md)
- [开发板使用常见问题](faqs/faqs-development-board.md)
<!--no_check-->
- [泛Sensor服务开发常见问题](faqs/faqs-sensor.md)
- [启动恢复开发常见问题](faqs/faqs-startup.md)
- [分布式DeviceProfrofile开发常见问题](faqs/faqs-distributed-device-profile.md)
- [SDK使用常见问题](faqs/faqs-sdk.md)
- [语言编译运行时常见问题](faqs/faqs-compiler-runtime.md)
- [三四方库使用常见问题](faqs/faqs-third-fourth-party-library.md)
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册