提交 2c9c5601 编写于 作者: H HelloCrease

Merge branch 'master' of https://gitee.com/HelloCrease/docs

......@@ -249,7 +249,7 @@
- [@ohos.file.storageStatistics (Application Storage Statistics)](js-apis-file-storage-statistics.md)
- [@ohos.file.volumeManager (Volume Management)](js-apis-file-volumemanager.md)
- [@ohos.filemanagement.userFileManager (User Data Management)](js-apis-userFileManager.md)
- [@ohos.fileShare (File Sharing)](js-apis-fileShare.md)
- [@ohos.fileshare (File Sharing)](js-apis-fileShare.md)
- Telephony Service
- [@ohos.contact (Contacts)](js-apis-contact.md)
......
# @ohos.fileShare (File Sharing)
# @ohos.fileshare (File Sharing)
The **fileShare** module provides APIs for granting the access permissions on a user file to another application by the Uniform Resource Identifier (URI). Then, the authorized application can access the file by using the APIs provided by [@ohos.file.fs](js-apis-file-fs.md).
......@@ -9,7 +9,7 @@ The **fileShare** module provides APIs for granting the access permissions on a
## Modules to Import
```js
import fileShare from '@ohos.fileShare';
import fileShare from '@ohos.fileshare';
```
## fileShare.grantUriPermission
......
......@@ -11,7 +11,7 @@
| 接口名 | 接口描述 |
| -------- | -------- |
| removeStickyCommonEvent(event: string, callback: AsyncCallback<void>): void | 移除粘性公共事件 |
| removeStickyCommonEvent(event: string, callback: AsyncCallback\<void>): void | 移除粘性公共事件 |
## 开发步骤
......
......@@ -39,7 +39,7 @@
| ---- | ---- | ---- |
| ohos.net.connection | function getDefaultNet(callback: AsyncCallback\<NetHandle>): void; |获取一个含有默认网络的netId的NetHandle对象,使用callback回调 |
| ohos.net.connection | function getGlobalHttpProxy<sup>10+</sup>(callback: AsyncCallback\<HttpProxy>): void;| 获取网络的全局代理设置,使用callback回调 |
| ohos.net.connection | function setGlobalHttpProxy<sup>10+</sup>(httpProxy: HttpProxy, callback: AsyncCallback<void>): void;| 设置网络全局Http代理配置信息,使用callback回调 |
| ohos.net.connection | function setGlobalHttpProxy<sup>10+</sup>(httpProxy: HttpProxy, callback: AsyncCallback\<void>): void;| 设置网络全局Http代理配置信息,使用callback回调 |
| ohos.net.connection | function getAppNet<sup>9+</sup>(callback: AsyncCallback\<NetHandle>): void;| 获取一个App绑定的包含了网络netId的NetHandle对象,使用callback回调 |
| ohos.net.connection | function setAppNet<sup>9+</sup>(netHandle: NetHandle, callback: AsyncCallback\<void>): void;| 绑定App到指定网络,绑定后的App只能通过指定网络访问外网。使用callback回调 |
| ohos.net.connection | function getDefaultNetSync<sup>9+</sup>(): NetHandle; |使用同步方法获取默认激活的数据网络。可以使用getNetCapabilities去获取网络的类型、拥有的能力等信息。|
......@@ -47,7 +47,7 @@
| ohos.net.connection | function getAllNets(callback: AsyncCallback\<Array\<NetHandle>>): void;| 获取所处于连接状态的网络的MetHandle对象列表,使用callback回调 |
| ohos.net.connection | function getConnectionProperties(netHandle: NetHandle, callback: AsyncCallback\<ConnectionProperties>): void; |查询默认网络的链路信息,使用callback回调 |
| ohos.net.connection | function getNetCapabilities(netHandle: NetHandle, callback: AsyncCallback\<NetCapabilities>): void; |查询默认网络的能力集信息,使用callback回调 |
| ohos.net.connection | function isDefaultNetMetered<sup>9+</sup>(callback: AsyncCallback<boolean>): void; |检查当前网络上的数据流量使用是否被计量,使用callback方式作为异步方法 |
| ohos.net.connection | function isDefaultNetMetered<sup>9+</sup>(callback: AsyncCallback\<boolean>): void; |检查当前网络上的数据流量使用是否被计量,使用callback方式作为异步方法 |
| ohos.net.connection | function reportNetConnected(netHandle: NetHandle, callback: AsyncCallback\<void>): void;| 向网络管理报告网络处于可用状态,调用此接口说明应用程序认为网络的可用性(ohos.net.connection.NetCap.NET_CAPABILITY_VAILDATED)与网络管理不一致。使用callback回调 |
| ohos.net.connection | function reportNetDisconnected(netHandle: NetHandle, callback: AsyncCallback\<void>): void;| 向网络管理报告网络处于不可用状态,调用此接口说明应用程序认为网络的可用性(ohos.net.connection.NetCap.NET_CAPABILITY_VAILDATED)与网络管理不一致。使用callback回调 |
| ohos.net.connection | function getAddressesByName(host: string, callback: AsyncCallback\<Array\<NetAddress>>): void; |使用对应网络解析域名,获取所有IP,使用callback回调 |
......
......@@ -5,7 +5,6 @@
- [HTTP数据请求](http-request.md):通过HTTP发起一个数据请求。
- [WebSocket连接](websocket-connection.md):使用WebSocket建立服务器与客户端的双向连接。
- [Socket连接](socket-connection.md):通过Socket进行数据传输。
- [网络策略管理](net-policy-management.md):提供一些限制网络的基础能力,包括蜂窝网络策略、休眠/省电模式策略、后台网络策略、重置网络策略等功能。
- [网络共享](net-sharing.md):分享设备已有网络给其他连接设备,支持Wi-Fi热点共享、蓝牙共享和USB共享,同时提供网络共享状态、共享流量查询功能。
- [以太网连接](net-ethernet.md):以太网连接主要提供有线网络能力,提供设置有线网络的IP地址,子网掩码,网关,DNS等信息。
- [网络连接管理](net-connection-manager.md):网络连接管理提供管理网络一些基础能力,包括WiFi/蜂窝/Ethernet等多网络连接优先级管理、网络质量评估、订阅默认/指定网络连接状态变化、查询网络连接信息、DNS解析等功能。
......
......@@ -135,8 +135,6 @@ USB设备可作为Host设备连接Device设备进行数据传输。开发示例
let dataUint8Array = new Uint8Array(1024);
usb.bulkTransfer(pipe, inEndpoint, dataUint8Array, 15000).then(dataLength => {
if (dataLength >= 0) {
console.info("usb readData result Length : " + dataLength);
let resultStr = this.ab2str(dataUint8Array); // uint8数据转string。
console.info("usb readData buffer : " + resultStr);
} else {
console.info("usb readData failed : " + dataLength);
......
......@@ -2,14 +2,14 @@
- [如何编译full-SDK](full-sdk-compile-guide.md)
- [如何替换full-SDK](full-sdk-switch-guide.md)
- [Ability开发常见问题](faqs-ability.md)
- [应用模型常见问题](faqs-ability.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)
- [ArkUI框架开发常见问题(JS)](faqs-arkui-js.md)
- [Web开发常见问题](faqs-arkui-web.md)
- [包管理开发常见问题](faqs-bundle-management.md)
- [资源管理开发常见问题](faqs-globalization.md)
......
# Ability开发常见问题
# 应用模型常见问题
## 如何获取设备横竖屏的状态变化通知
......
......@@ -88,6 +88,10 @@ int GenerateInputDataWithRandom(OH_AI_TensorHandleArray inputs) {
- 如果是第三方框架的模型,比如 TensorFlow、TensorFlow Lite、Caffe、ONNX等,可以使用[模型转换工具](https://www.mindspore.cn/lite/docs/zh-CN/r1.5/use/downloads.html#id1)转换为`.ms`格式的模型文件。
2. 创建上下文,设置线程数、设备类型等参数。
以下介绍两种典型情形。
情形1:仅创建CPU推理上下文。
```c
// 创建并配置上下文,设置运行时的线程数量为2,绑核策略为大核优先
......@@ -110,6 +114,44 @@ int GenerateInputDataWithRandom(OH_AI_TensorHandleArray inputs) {
OH_AI_ContextAddDeviceInfo(context, cpu_device_info);
```
情形2:创建NNRT(Neural Network Runtime)和CPU异构推理上下文。
NNRT是OpenHarMony系统中面向AI领域的跨芯片推理计算运行时,一般来说,NNRT对接的加速硬件如NPU,推理能力较强,但支持的算子规格少;而通用CPU推理能力较弱,但支持算子规格更全面。MindSpore Lite支持配置NNRT硬件和CPU异构推理:优先将模型算子调度到NNRT推理,若某些算子NNRT不支持,将其调度到CPU进行推理。通过下面的操作即可配置NNRT/CPU异构推理。
> **说明:**
>
> NNRT/CPU异构推理,需要有实际的NNRT硬件接入,NNRT相关资料请参考:[OpenHarmony/ai_neural_network_runtime](https://gitee.com/openharmony/ai_neural_network_runtime)。
```c
// 创建并配置上下文,设置运行时的线程数量为2,绑核策略为大核优先
OH_AI_ContextHandle context = OH_AI_ContextCreate();
if (context == NULL) {
printf("OH_AI_ContextCreate failed.\n");
return OH_AI_STATUS_LITE_ERROR;
}
// 优先使用NNRT推理。
// 这里利用查找到的第一个ACCELERATORS类别的NNRT硬件,来创建nnrt设备信息,并设置硬件使用高性能模式推理。还可以通过如:OH_AI_GetAllNNRTDeviceDescs()接口获取当前环境中所有NNRT硬件的描述信息,按设备名、类型等信息查找,找到某一具体设备作为NNRT推理硬件。具体可参考:[Native接口参考:MindSpore](https://docs.openharmony.cn/pages/v3.2/zh-cn/application-dev/reference/native-apis/_mind_spore.md/)
OH_AI_DeviceInfoHandle nnrt_device_info = OH_AI_CreateNNRTDeviceInfoByType(OH_AI_NNRTDEVICE_ACCELERATORS);
if (nnrt_device_info == NULL) {
printf("OH_AI_DeviceInfoCreate failed.\n");
OH_AI_ContextDestroy(&context);
return OH_AI_STATUS_LITE_ERROR;
}
OH_AI_DeviceInfoSetPerformaceMode(nnrt_device_info, OH_AI_PERFORMANCE_HIGH);
OH_AI_ContextAddDeviceInfo(context, nnrt_device_info);
// 其次设置CPU推理。
OH_AI_DeviceInfoHandle cpu_device_info = OH_AI_DeviceInfoCreate(OH_AI_DEVICETYPE_CPU);
if (cpu_device_info == NULL) {
printf("OH_AI_DeviceInfoCreate failed.\n");
OH_AI_ContextDestroy(&context);
return OH_AI_STATUS_LITE_ERROR;
}
OH_AI_ContextAddDeviceInfo(context, cpu_device_info);
```
3. 创建、加载与编译模型。
调用OH_AI_ModelBuildFromFile加载并编译模型。
......
......@@ -138,6 +138,10 @@
- [NotificationFlags](js-apis-inner-notification-notificationFlags.md)
- [NotificationRequest](js-apis-inner-notification-notificationRequest.md)
- [NotificationSlot](js-apis-inner-notification-notificationSlot.md)
- [NotificationSorting](js-apis-inner-notification-notificationSorting.md)
- [NotificationSortingMap](js-apis-inner-notification-notificationSortingMap.md)
- [NotificationSubscribeInfo](js-apis-inner-notification-notificationSubscribeInfo.md)
- [NotificationSubscriber](js-apis-inner-notification-notificationSubscriber.md)
- [NotificationTemplate](js-apis-inner-notification-notificationTemplate.md)
- [NotificationUserInput](js-apis-inner-notification-notificationUserInput.md)
- 公共事件定义
......@@ -179,8 +183,9 @@
- UI界面
- [@ohos.animator (动画)](js-apis-animator.md)
- [@ohos.arkui.componentSnapshot(组件截图)](js-apis-arkui-componentSnapshot.md)
- [@ohos.arkui.drawableDescriptor(DrawableDescriptor)](js-apis-arkui-drawableDescriptor.md)
- [@ohos.arkui.drawableDescriptor (DrawableDescriptor)](js-apis-arkui-drawableDescriptor.md)
- [@ohos.curves (插值计算)](js-apis-curve.md)
- [@ohos.font(注册自定义字体)](js-apis-font.md)
- [@ohos.matrix4 (矩阵变换)](js-apis-matrix4.md)
- [@ohos.mediaquery (媒体查询)](js-apis-mediaquery.md)
- [@ohos.pluginComponent(PluginComponentManager)](js-apis-plugincomponent.md)
......@@ -188,7 +193,7 @@
- [@ohos.router (页面路由)](js-apis-router.md)
- [@ohos.measure (文本计算)](js-apis-measure.md)
- [@ohos.uiAppearance(用户界面外观)](js-apis-uiappearance.md)
- 图形图像
- [@ohos.animation.windowAnimationManager (窗口动画管理)](js-apis-windowAnimationManager.md)
- [@ohos.application.WindowExtensionAbility (窗口扩展能力)](js-apis-application-windowExtensionAbility.md)
......@@ -236,6 +241,7 @@
- [PermissionRequestResult](js-apis-permissionrequestresult.md)
- 数据管理
- [@ohos.data.cloudData(端云协同)](js-apis-data-cloudData.md)
- [@ohos.data.dataAbility (DataAbility谓词)](js-apis-data-ability.md)
- [@ohos.data.dataShare (数据共享)](js-apis-data-dataShare.md)
- [@ohos.data.dataSharePredicates (数据共享谓词)](js-apis-data-dataSharePredicates.md)
......@@ -261,7 +267,7 @@
- [@ohos.file.storageStatistics (应用空间统计)](js-apis-file-storage-statistics.md)
- [@ohos.file.volumeManager (卷管理)](js-apis-file-volumemanager.md)
- [@ohos.filemanagement.userFileManager (用户数据管理)](js-apis-userFileManager.md)
- [@ohos.fileShare (文件分享)](js-apis-fileShare.md)
- [@ohos.fileshare (文件分享)](js-apis-fileShare.md)
- 电话服务
- [@ohos.contact (联系人)](js-apis-contact.md)
......@@ -317,13 +323,14 @@
- [@ohos.InputMethodExtensionAbility (InputMethodExtensionAbility)](js-apis-inputmethod-extension-ability.md)
- [@ohos.InputMethodExtensionContext (InputMethodExtensionContext)](js-apis-inputmethod-extension-context.md)
- [@ohos.InputMethodSubtype (输入法子类型)](js-apis-inputmethod-subtype.md)
- [@ohos.logLibrary (维测日志获取)](js-apis-loglibrary.md)
- [@ohos.pasteboard (剪贴板)](js-apis-pasteboard.md)
- [@ohos.screenLock (锁屏管理)](js-apis-screen-lock.md)
- [@ohos.systemDateTime (系统时间、时区)](js-apis-system-date-time.md)
- [@ohos.systemTimer (系统定时器)](js-apis-system-timer.md)
- [@ohos.wallpaper (壁纸)](js-apis-wallpaper.md)
- [@ohos.web.webview (Webview)](js-apis-webview.md)
- [console (日志打印)](js-apis-logs.md)
- [console (控制台)](js-apis-logs.md)
- [Timer (定时器)](js-apis-timer.md)
- application
- [AccessibilityExtensionContext (辅助功能扩展上下文)](js-apis-inner-application-accessibilityExtensionContext.md)
......
# 公共事件定义
- [元能力子系统公共事件定义](commonEvent-ability.md)
- [包管理子系统公共事件定义](commonEvent-bundleManager.md)
- [通知服务公共事件定义](commonEvent-ans.md)
- [资源调度子系统公共事件定义](commonEvent-resourceschedule.md)
- [电话服务子系统公共事件定义](commonEvent-telephony.md)
\ No newline at end of file
# 公共事件定义
- [元能力子系统公共事件定义](commonEvent-ability.md)
- [包管理子系统公共事件定义](commonEvent-bundleManager.md)
- [通知服务公共事件定义](commonEvent-ans.md)
- [资源调度子系统公共事件定义](commonEvent-resourceschedule.md)
- [电话服务子系统公共事件定义](commonEvent-telephony.md)
- [USB子系统公共事件定义](commonEvent-usb.md)
#@ohos.arkui.drawableDescriptor(DrawableDescriptor)
# @ohos.arkui.drawableDescriptor (DrawableDescriptor)
本模块提供获取pixelMap的能力,包括前景、背景、蒙版和分层图标。
......
......@@ -694,7 +694,7 @@ try {
```
## bluetoothManager.setDevicePinCode<sup>10+</sup><a name="setDevicePinCode"></a>
## bluetoothManager.setDevicePinCode<sup>10+</sup><a name="setDevicePinCode-1"></a>
setDevicePinCode(device: string, code: string): Promise&lt;void&gt;
......
......@@ -186,7 +186,7 @@ CommonEvent.publishAsUser("event", userId, options, publishCB);
## CommonEvent.createSubscriber<sup>(deprecated)</sup>
createSubscriber(subscribeInfo: CommonEventSubscribeInfo, callback: AsyncCallback<CommonEventSubscriber>): void
createSubscriber(subscribeInfo: CommonEventSubscribeInfo, callback: AsyncCallback\<CommonEventSubscriber>): void
以回调形式创建订阅者。
......@@ -229,7 +229,7 @@ CommonEvent.createSubscriber(subscribeInfo, createCB);
## CommonEvent.createSubscriber<sup>(deprecated)</sup>
createSubscriber(subscribeInfo: CommonEventSubscribeInfo): Promise<CommonEventSubscriber>
createSubscriber(subscribeInfo: CommonEventSubscribeInfo): Promise\<CommonEventSubscriber>
以Promise形式创建订阅者。
......@@ -270,7 +270,7 @@ CommonEvent.createSubscriber(subscribeInfo).then((commonEventSubscriber) => {
## CommonEvent.subscribe<sup>(deprecated)</sup>
subscribe(subscriber: CommonEventSubscriber, callback: AsyncCallback<CommonEventData>): void
subscribe(subscriber: CommonEventSubscriber, callback: AsyncCallback\<CommonEventData>): void
以回调形式订阅公共事件。
......
......@@ -562,7 +562,7 @@ setStaticSubscriberState(enable: boolean, callback: AsyncCallback\<void>): void;
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | -------------------------- |
| enable | boolean | 是 | 表示静态订阅事件使能状态。 true:使能 false:去使能。 |
| callback | AsyncCallback<void> | 是 | 表示设置静态订阅事件使能状态的回调方法。 |
| callback | AsyncCallback\<void> | 是 | 表示设置静态订阅事件使能状态的回调方法。 |
**错误码:**
......
......@@ -28,6 +28,23 @@ init(): boolean
| -------- | -------- |
| boolean | true:初始化成功,&nbsp;false:初始化失败。 |
## connectedTag.initialize<sup>9+</sup>
initialize(): void
初始化有源标签芯片。
**需要权限:** ohos.permission.NFC_TAG
**系统能力:** SystemCapability.Communication.ConnectedTag
**错误码:**
以下错误码的详细介绍请参见[NFC错误码](../errorcodes/errorcode-nfc.md)
| 错误码ID | 错误信息|
| -------- | -------- |
| 3200101 | Connected NFC tag running state is abnormal in service. |
## connectedTag.uninit
uninit(): boolean
......@@ -44,6 +61,23 @@ uninit(): boolean
| -------- | -------- |
| boolean | true:卸载操作成功,&nbsp;false:卸载操作失败。 |
## connectedTag.uninitialize<sup>9+</sup>
uninitialize(): void
卸载有源标签芯片资源。
**需要权限:** ohos.permission.NFC_TAG
**系统能力:** SystemCapability.Communication.ConnectedTag
**错误码:**
以下错误码的详细介绍请参见[NFC错误码](../errorcodes/errorcode-nfc.md)
| 错误码ID | 错误信息|
| -------- | -------- |
| 3200101 | Connected NFC tag running state is abnormal in service. |
## connectedTag.readNdefTag
readNdefTag(): Promise&lt;string&gt;
......@@ -72,6 +106,41 @@ connectedTag.readNdefTag().then((data) => {
});
```
## connectedTag.read<sup>9+</sup>
read(): Promise&lt;number[]&gt;
读取有源标签内容,使用promise方式作为异步方法。
**需要权限:** ohos.permission.NFC_TAG
**系统能力:** SystemCapability.Communication.ConnectedTag
**返回值:**
| **类型** | **说明** |
| -------- | -------- |
| Promise&lt;number[]&gt; | 返回读取有源标签内容。 |
**错误码:**
以下错误码的详细介绍请参见[NFC错误码](../errorcodes/errorcode-nfc.md)
| 错误码ID | 错误信息|
| -------- | -------- |
| 3200101 | Connected NFC tag running state is abnormal in service. |
**示例:**
```js
import connectedTag from '@ohos.connectedTag';
connectedTag.read().then((data) => {
console.log("connectedTag read Promise data = " + data);
}).catch((err)=> {
console.log("connectedTag read Promise err: " + err);
});
```
## connectedTag.readNdefTag
readNdefTag(callback: AsyncCallback&lt;string&gt;): void
......@@ -102,6 +171,43 @@ connectedTag.readNdefTag((err, data)=> {
});
```
## connectedTag.read<sup>9+</sup>
read(callback: AsyncCallback&lt;number[]&gt;): void
读取有源标签内容,使用AsyncCallback方式作为异步方法。
**需要权限:** ohos.permission.NFC_TAG
**系统能力:** SystemCapability.Communication.ConnectedTag
**参数:**
| **参数名** | **类型** | **必填** | **说明** |
| -------- | -------- | -------- | -------- |
| callback | AsyncCallback&lt;number[]&gt; | 是 | 读取有源标签内容回调函数。 |
**错误码:**
以下错误码的详细介绍请参见[NFC错误码](../errorcodes/errorcode-nfc.md)
| 错误码ID | 错误信息|
| -------- | -------- |
| 3200101 | Connected NFC tag running state is abnormal in service. |
**示例:**
```js
import connectedTag from '@ohos.connectedTag';
connectedTag.read((err, data)=> {
if (err) {
console.log("connectedTag read AsyncCallback err: " + err);
} else {
console.log("connectedTag read AsyncCallback data: " + data);
}
});
```
## connectedTag.writeNdefTag
writeNdefTag(data: string): Promise&lt;void&gt;
......@@ -137,6 +243,48 @@ connectedTag.writeNdefTag(rawData).then(() => {
});
```
## connectedTag.write<sup>9+</sup>
write(data: number[]): Promise&lt;void&gt;
写入内容到有源标签,使用promise方式作为异步方法。
**需要权限:** ohos.permission.NFC_TAG
**系统能力:** SystemCapability.Communication.ConnectedTag
**参数:**
| **参数名** | **类型** | **必填** | **说明** |
| -------- | -------- | -------- | -------- |
| data | number[] | 是 | 有源标签内容, 由十六进制数字组成,范围从0x00至0xFF。 |
**返回值:**
| **类型** | **说明** |
| -------- | -------- |
| Promise&lt;void&gt; | 无返回值。 |
**错误码:**
以下错误码的详细介绍请参见[NFC错误码](../errorcodes/errorcode-nfc.md)
| 错误码ID | 错误信息|
| -------- | -------- |
| 3200101 | Connected NFC tag running state is abnormal in service. |
**示例:**
```js
import connectedTag from '@ohos.connectedTag';
var rawData = [0x01, 0x02, 0x03]; // change it tobe correct.
connectedTag.write(rawData).then(() => {
console.log("connectedTag write NdefTag Promise success.");
}).catch((err)=> {
console.log("connectedTag write NdefTag Promise err: " + err);
});
```
## connectedTag.writeNdefTag
writeNdefTag(data: string, callback: AsyncCallback&lt;void&gt;): void
......@@ -169,6 +317,45 @@ connectedTag.writeNdefTag(rawData, (err)=> {
});
```
## connectedTag.write<sup>9+</sup>
write(data: number[], callback: AsyncCallback&lt;void&gt;): void
写入内容到有源标签,使用AsyncCallback方式作为异步方法。
**需要权限:** ohos.permission.NFC_TAG
**系统能力:** SystemCapability.Communication.ConnectedTag
**参数:**
| **参数名** | **类型** | **必填** | **说明** |
| -------- | -------- | -------- | -------- |
| data | number[] | 是 | 有源标签内容, 由十六进制数字组成,范围从0x00至0xFF。 |
| callback | AsyncCallback&lt;void&gt; | 是 | 读取有源标签内容回调函数。 |
**错误码:**
以下错误码的详细介绍请参见[NFC错误码](../errorcodes/errorcode-nfc.md)
| 错误码ID | 错误信息|
| -------- | -------- |
| 3200101 | Connected NFC tag running state is abnormal in service. |
**示例:**
```js
import connectedTag from '@ohos.connectedTag';
var rawData = [0x01, 0x02, 0x03]; // change it tobe correct.
connectedTag.write(rawData, (err)=> {
if (err) {
console.log("connectedTag write NdefTag AsyncCallback err: " + err);
} else {
console.log("connectedTag write NdefTag AsyncCallback success.");
}
});
```
## connectedTag.on('notify')
on(type: "notify", callback: Callback&lt;number&gt;): void
......
# @ohos.multimodalInput.inputDeviceCooperate (键鼠穿越)
# @ohos.multimodalInput.inputDeviceCooperate (键鼠穿越)(待停用)
键鼠穿越功能模块,提供两台或多台设备组网协同后键鼠共享能力,实现键鼠输入设备的跨设备协同操作。
......
# @ohos.data.cloudData (端云协同)
端云协同提供结构化数据(RDB Store)端云同步的能力。即:云作为数据的中心节点,通过与云的数据同步,实现数据云备份、同帐号设备间的数据一致性。
该模块提供以下端云协同相关的常用功能:
- [Config](#config):提供配置端云协同的方法,包括云同步打开、关闭、清理数据、数据变化通知。
> **说明:**
>
> 本模块首批接口从API version 10开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
## 导入模块
```js
import cloudData from '@ohos.data.cloudData';
```
## Action
清除本地数据云信息的行为枚举。
**系统接口:** 此接口为系统接口。
**系统能力:** SystemCapability.DistributedDataManager.CloudSync.Config
| 名称 | 说明 |
| --------- | ---------------------------- |
| CLEAR_CLOUD_INFO | 清除云标识信息。 |
| CLEAR_CLOUD_DATA_AND_INFO |清除所有云相关数据,包括云标识信息以及从云端下载的数据(不包括本地已修改或生成的数据)。 |
## Config
提供配置端云协同的方法,包括云同步打开、关闭、清理数据、数据变化通知。
### enableCloud
static enableCloud(accountId: string, switches: {[bundleName: string]: boolean}, callback: AsyncCallback&lt;void&gt;):void
打开端云协同,使用callback异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.CLOUDDATA_CONFIG
**系统能力:** SystemCapability.DistributedDataManager.CloudSync.Config
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| --------- | ------------------------------- | ---- | ------------------------------------------------------------ |
| accountId | string | 是 | 具体打开的云ID。 |
| switches | {[bundleName: string]: boolean} | 是 | 各应用的端云协同开关信息,true为打开该应用端云开关,false为关闭该应用端云开关。 |
| callback | AsyncCallback&lt;void&gt; | 是 | 回调函数。 |
**示例:**
```js
let account = 'test_id';
let switches = { 'test_bundleName1': true, 'test_bundleName2': false };
try {
cloudData.Config.enableCloud(account, switches, function (err) {
if (err === undefined) {
console.info('Succeeded in enabling cloud');
} else {
console.error(`Failed to enable.Code: ${err.code}, message: ${err.message}`);
}
});
} catch (error) {
console.error(`An unexpected error occurred. Code: ${error.code}, message: ${error.message}`);
}
```
### enableCloud
static enableCloud(accountId: string, switches: {[bundleName: string]: boolean}): Promise&lt;void&gt;
打开端云协同,使用Promise异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.CLOUDDATA_CONFIG
**系统能力:** SystemCapability.DistributedDataManager.CloudSync.Config
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| --------- | ------------------------------- | ---- | ------------------------------------------------------------ |
| accountId | string | 是 | 具体打开的云ID。 |
| switches | {[bundleName: string]: boolean} | 是 | 各应用的端云协同开关信息,true为打开该应用端云开关,false为关闭该应用端云开关。 |
**返回值:**
| 类型 | 说明 |
| ------------------- | ------------------------- |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
**示例:**
```js
let account = 'test_id';
let switches = { 'test_bundleName1': true, 'test_bundleName2': false };
try {
cloudData.Config.enableCloud(account, switches).then(() => {
console.info('Succeeded in enabling cloud');
}).catch((err) => {
console.error(`Failed to enable.Code: ${err.code}, message: ${err.message}`);
});
} catch (error) {
console.error(`An unexpected error occurred. Code: ${error.code}, message: ${error.message}`);
}
```
### disableCloud
static disableCloud(accountId: string, callback: AsyncCallback&lt;void&gt;):void
关闭端云协同,使用callback异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.CLOUDDATA_CONFIG
**系统能力:** SystemCapability.DistributedDataManager.CloudSync.Config
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| --------- | ------------------------- | ---- | ---------------- |
| accountId | string | 是 | 具体打开的云ID。 |
| callback | AsyncCallback&lt;void&gt; | 是 | 回调函数。 |
**示例:**
```js
let account = 'test_id';
try {
cloudData.Config.disableCloud(account, function (err) {
if (err === undefined) {
console.info('Succeeded in disabling cloud');
} else {
console.error(`Failed to disableCloud. Code: ${err.code}, message: ${err.message}`);
}
});
} catch (error) {
console.error(`An unexpected error occurred. Code: ${error.code}, message: ${error.message}`);
}
```
### disableCloud
static disableCloud(accountId: string): Promise&lt;void&gt;
关闭端云协同,使用Promise异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.CLOUDDATA_CONFIG
**系统能力:** SystemCapability.DistributedDataManager.CloudSync.Config
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| --------- | ------ | ---- | ---------------- |
| accountId | string | 是 | 具体打开的云ID。 |
**返回值:**
| 类型 | 说明 |
| ------------------- | ------------------------- |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
**示例:**
```js
let account = 'test_id';
try {
cloudData.Config.disableCloud(account).then(() => {
console.info('Succeeded in disabling cloud');
}).catch((err) => {
console.error(`Failed to disableCloud. Code: ${err.code}, message: ${err.message}`);
});
} catch (error) {
console.error(`An unexpected error occurred. Code: ${error.code}, message: ${error.message}`);
}
```
### changeAppCloudSwitch
static changeAppCloudSwitch(accountId: string,bundleName:string,status:boolean, callback: AsyncCallback&lt;void&gt;):void
修改单个应用端云协同开关,使用callback异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.CLOUDDATA_CONFIG
**系统能力:** SystemCapability.DistributedDataManager.CloudSync.Config
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| --------- | ------------------------------- | ---- | ---------------------------- |
| accountId | string | 是 | 具体打开的云ID。 |
| bundleName| string | 是 | 应用名 |
| status | boolean | 是 | 应用的端云协同开关信息,true为打开该应用端云开关,false为关闭该应用端云开关。 |
| callback | AsyncCallback&lt;void&gt; | 是 | 回调函数。 |
**示例:**
```js
let account = 'test_id';
let bundleName = 'test_bundleName';
try {
cloudData.Config.changeAppCloudSwitch(account, bundleName, true, function (err) {
if (err === undefined) {
console.info('Succeeded in changing App cloud switch');
} else {
console.error(`Failed to change App cloud switch. Code: ${err.code}, message: ${err.message}`);
}
});
} catch (error) {
console.error(`An unexpected error occurred. Code: ${error.code}, message: ${error.message}`);
}
```
### changeAppCloudSwitch
static changeAppCloudSwitch(accountId: string,bundleName:string,status:boolean): Promise&lt;void&gt;
修改单个应用端云协同开关,使用Promise异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.CLOUDDATA_CONFIG
**系统能力:** SystemCapability.DistributedDataManager.CloudSync.Config
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| --------- | ------------------------------- | ---- | ---------------------------- |
| accountId | string | 是 | 具体打开的云ID。 |
| bundleName| string | 是 | 应用名 |
| status | boolean | 是 | 应用的端云协同开关信息,true为打开该应用端云开关,false为关闭该应用端云开关。 |
**返回值:**
| 类型 | 说明 |
| ------------------- | ------------------------- |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
**示例:**
```js
let account = 'test_id';
let bundleName = 'test_bundleName';
try {
cloudData.Config.changeAppCloudSwitch(account, bundleName, true).then(() => {
console.info('Succeeded in changing App cloud switch');
}).catch((err) => {
console.error(`Failed to change App cloud switch. Code is ${err.code}, message is ${err.message}`);
});
} catch (error) {
console.error(`An unexpected error occurred. Code: ${error.code}, message: ${error.message}`);
}
```
### notifyDataChange
static notifyDataChange(accountId: string,bundleName:string, callback: AsyncCallback&lt;void&gt;):void
通知云端的数据变更,使用callback异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.CLOUDDATA_CONFIG
**系统能力:** SystemCapability.DistributedDataManager.CloudSync.Server
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ---------- | ------------------------- | ---- | ---------------- |
| accountId | string | 是 | 具体打开的云ID。 |
| bundleName | string | 是 | 应用名 |
| callback | AsyncCallback&lt;void&gt; | 是 | 回调函数。 |
**示例:**
```js
let account = 'test_id';
let bundleName = 'test_bundleName';
try {
cloudData.Config.notifyDataChange(account, bundleName, function (err) {
if (err === undefined) {
console.info('Succeeded in notifying the change of data');
} else {
console.error(`Failed to notify the change of data. Code: ${err.code}, message: ${err.message}`);
}
});
} catch (error) {
console.error(`An unexpected error occurred. Code: ${error.code}, message: ${error.message}`);
}
```
### notifyDataChange
static notifyDataChange(accountId: string,bundleName:string): Promise&lt;void&gt;
通知云端的数据变更,使用Promise异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.CLOUDDATA_CONFIG
**系统能力:** SystemCapability.DistributedDataManager.CloudSync.Server
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ---------- | ------ | ---- | ---------------- |
| accountId | string | 是 | 具体打开的云ID。 |
| bundleName | string | 是 | 应用名 |
**返回值:**
| 类型 | 说明 |
| ------------------- | ------------------------- |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
**示例:**
```js
let account = 'test_id';
let bundleName = 'test_bundleName';
try {
cloudData.Config.notifyDataChange(account, bundleName).then(() => {
console.info('Succeeded in notifying the change of data');
}).catch((err) => {
console.error(`Failed to notify the change of data. Code: ${err.code}, message: ${err.message}`);
});
} catch (error) {
console.error(`An unexpected error occurred. Code: ${error.code}, message: ${error.message}`);
}
```
......@@ -65,7 +65,7 @@ createDataShareHelper(context: Context, uri: string, callback: AsyncCallback&lt;
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------------------- |
| 15700010 | The dataShareHelper is not initialized successfully. |
| 15700010 | The DataShareHelper is not initialized successfully. |
**示例:**
......@@ -120,7 +120,7 @@ createDataShareHelper(context: Context, uri: string): Promise&lt;DataShareHelper
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------------------- |
| 15700010 | The dataShareHelper is not initialized successfully. |
| 15700010 | The DataShareHelper is not initialized successfully. |
**示例:**
......
......@@ -185,7 +185,7 @@ deletePreferences(context: Context, name: string, callback: AsyncCallback&lt;voi
| 错误码ID | 错误信息 |
| -------- | ------------------------------|
| 15500010 | Failed to delete preferences. |
| 15500010 | Failed to delete preferences file. |
**示例:**
......@@ -262,7 +262,7 @@ deletePreferences(context: Context, name: string): Promise&lt;void&gt;
| 错误码ID | 错误信息 |
| -------- | ------------------------------|
| 15500010 | Failed to delete preferences. |
| 15500010 | Failed to delete preferences file. |
**示例:**
......
# @ohos.fileShare (文件分享)
# @ohos.fileshare (文件分享)
该模块提供文件分享能力,提供系统应用将公共目录文件统一资源标志符(Uniform Resource Identifier,URI)以读写权限授权给其他应用的接口,授权后应用可通过[@ohos.file.fs](js-apis-file-fs.md)的相关接口进行相关open、read、write等操作,实现文件分享。
......@@ -9,7 +9,7 @@
## 导入模块
```js
import fileShare from '@ohos.fileShare';
import fileShare from '@ohos.fileshare';
```
## fileShare.grantUriPermission
......
# @ohos.font(注册自定义字体)
本模块提供注册自定义字体。
> **说明**
>
> 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
## 导入模块
```ts
import font from '@ohos.font'
```
## font.registerFont
registerFont(options: FontOptions): void
在字体管理中注册自定义字体。
**系统能力:** SystemCapability.ArkUI.ArkUI.Full
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------- | --------------------------- | ---- | ---------------------- |
| options | [FontOptions](#fontoptions) | 是 | 注册的自定义字体信息。 |
## FontOptions
| 名称 | 类型 | 必填 | 说明 |
| ---------- | ------ | ---- | ------------------------ |
| familyName | string | 是 | 设置注册的字体名称。 |
| familySrc | string | 是 | 设置注册字体文件的路径。 |
## 示例
```ts
// xxx.ets
import font from '@ohos.font';
@Entry
@Component
struct FontExample {
@State message: string = '你好,世界'
aboutToAppear() {
font.registerFont({
familyName: 'medium',
familySrc: '/font/medium.ttf'
})
}
build() {
Column() {
Text(this.message)
.align(Alignment.Center)
.fontSize(20)
.fontFamily('medium') // medium:注册自定义字体的名字
.height('100%')
}.width('100%')
}
}
```
......@@ -1702,7 +1702,7 @@ let delayTimes = imageSourceApi.getDelayTime();
### getFrameCount<sup>10+</sup>
getFrameCount(callback: AsyncCallback<number>): void;
getFrameCount(callback: AsyncCallback\<number>): void;
获取图像帧数,使用callback形式返回结果。
......
## NotificationSubscriber
# NotificationSubscriber
作为订阅通知接口[subscribe](js-apis-notificationSubscribe.md)的入参,提供订阅者接收到新通知、取消通知等的回调方法。
......
......@@ -1067,7 +1067,7 @@ resize(width: number, height: number): Promise\<void>;
| 类型 | 说明 |
| ------- | ------------------------------ |
| Promise<void> | 无返回结果的Promise对象。 |
| Promise\<void> | 无返回结果的Promise对象。 |
**示例:**
......@@ -1139,7 +1139,7 @@ moveTo(x: number, y: number): Promise\<void>
| 类型 | 说明 |
| ------- | ------------------------------ |
| Promise<void> | 无返回结果的Promise对象。 |
| Promise\<void> | 无返回结果的Promise对象。 |
**示例:**
......
# console 控制台
# console (控制台)
本模块提供了一个简单的调试控制台,类似于浏览器提供的JavaScript控制台机制。
......
......@@ -460,7 +460,7 @@ removeAll(bundle: BundleOption, callback: AsyncCallback\<void\>): void
| 参数名 | 类型 | 必填 | 说明 |
| -------- | --------------------- | ---- | ---------------------------- |
| bundle | [BundleOption]((js-apis-inner-notification-notificationCommonDef.md#bundleoption)) | 是 | 指定应用的包信息。 |
| bundle | [BundleOption](js-apis-inner-notification-notificationCommonDef.md#bundleoption) | 是 | 指定应用的包信息。 |
| callback | AsyncCallback\<void\> | 是 | 删除指定应用的所有通知回调函数。 |
**错误码:**
......@@ -548,7 +548,7 @@ removeAll(bundle?: BundleOption): Promise\<void\>
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------------ | ---- | ---------- |
| bundle | [BundleOption]((js-apis-inner-notification-notificationCommonDef.md#bundleoption)) | 否 | 指定应用的包信息。 |
| bundle | [BundleOption](js-apis-inner-notification-notificationCommonDef.md#bundleoption) | 否 | 指定应用的包信息。 |
**错误码:**
......
......@@ -62,7 +62,6 @@ getInfo(options?: GetDeviceOptions): void
| screenDensity<sup>4+</sup> | number | 屏幕密度。 |
| screenShape<sup>4+</sup> | string | 屏幕形状。可取值:<br/>-&nbsp;rect:方形屏;<br/>-&nbsp;circle:圆形屏。 |
| apiVersion<sup>4+</sup> | number | 系统API版本号。 |
| releaseType<sup>4+</sup> | string | 版本发布类型,值为类型+版本号,如Beta1。<br/>类型可能值有:<br/>-&nbsp;Canary:同一apiVersion下,canary版本之间保持API兼容,beta版本不对canary版本兼容。<br/>-&nbsp;Beta:同一apiVersion下,beta版本之间保持API兼容,release版本不对beta版本兼容。<br/>-&nbsp;Release:release版本会保持5个API版本兼容。 |
| deviceType<sup>4+</sup> | string | 设备类型。 |
......
......@@ -16,47 +16,15 @@ import fetch from '@system.fetch';
## fetch.fetch<sup>3+</sup>
fetch(options:{
/**
* Resource URL.
* @since 3
*/
url: string;
/**
* Request parameter, which can be of the string type or a JSON object.
* @since 3
*/
data?: string | object;
/**
* Request header, which accommodates all attributes of the request.
* @since 3
*/
header?: Object;
/**
* Request methods available: OPTIONS, GET, HEAD, POST, PUT, DELETE and TRACE. The default value is GET.
* @since 3
*/
method?: string;
/**
* The return type can be text, or JSON. By default, the return type is determined based on Content-Type in the header returned by the server.
* @since 3
*/
responseType?: string;
/**
* Called when the network data is obtained successfully.
* @since 3
*/
success?: (data: FetchResponse) => void;
/**
* Called when the network data fails to be obtained.
* @since 3
*/
fail?: (data: any, code: number) => void;
/**
* Called when the execution is completed.
* @since 3
*/
complete?: () => void;
fetch(options:{ <br>
&nbsp;&nbsp;url: string;<br>
&nbsp;&nbsp;data?: string | object;<br>
&nbsp;&nbsp;header?: Object;<br>
&nbsp;&nbsp;method?: string;<br>
&nbsp;&nbsp;responseType?: string;<br>
&nbsp;&nbsp;success?: (data: FetchResponse) => void;<br>
&nbsp;&nbsp;fail?: (data: any, code: number) => void;<br>
&nbsp;&nbsp;complete?: () => void;<br>
} ): void
通过网络获取数据。
......
# @system.network (网络状态)
> **说明:**
> - 从API Version 7 开始,该接口不再维护,推荐使用新接口[`@ohos.telephony.observer`](js-apis-observer.md)。
>
> - 本模块首批接口从API version 3开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
......@@ -23,23 +21,11 @@ ohos.permission.GET_NETWORK_INFO
## network.getType<sup>3+</sup>
getType(options?: {
/**
* Called when the network type is obtained.
* @since 3
*/
success?: (data: NetworkResponse) => void;
/**
* Called when the network type fails to be obtained.
* @since 3
*/
fail?: (data: any, code: number) => void;
/**
* Called when the execution is completed.
* @since 3
*/
complete?: () => void;
}): void
getType(options?: {<br>
&nbsp;&nbsp;success?: (data: NetworkResponse) => void;<br>
&nbsp;&nbsp;fail?: (data: any, code: number) => void;<br>
&nbsp;&nbsp;complete?: () => void;<br>
}): void
获取当前设备的网络类型。
......@@ -79,17 +65,9 @@ export default {
## network.subscribe<sup>3+</sup>
subscribe(options?:{
/**
* Called when the network connection state changes.
* @since 3
*/
success?: (data: NetworkResponse) => void;
/**
* Called when the listening fails.
* @since 3
*/
fail?: (data: any, code: number) => void;
subscribe(options?:{<br>
&nbsp;&nbsp;success?: (data: NetworkResponse) => void;<br>
&nbsp;&nbsp;fail?: (data: any, code: number) => void;<br>
}): void
订阅当前设备的网络连接状态。如果多次调用,会覆盖前一次调用。
......
......@@ -46,22 +46,22 @@ DataPanel(options:{values: number[], max?: number, type?: DataPanelType})
| 名称 | 参数类型 | 必填 | 描述 |
| ------------- | ------- | ---- | -------- |
| closeEffect | boolean | 是 | 关闭数据占比图表旋转动效。<br/>默认值:false|
| valueColors<sup>10+</sup> | Array<[ResourceColor](ts-types.md#resourcecolor) \| [LinearGradient](#lineargradient10)> | 是 | 各数据段颜色,ResourceColor为纯色,LinearGradient为渐变色。|
| trackBackgroundColor<sup>10+</sup> | [ResourceColor](ts-types.md#resourcecolor) | 是 | 底板颜色。|
| strokeWidth<sup>10+</sup> | [Length](ts-types.md#Length) | 是 | 圆环粗细。 |
| trackShadow<sup>10+</sup> | [DataPanelShadowOption](#datapanelshadowoption10) | 是 | 投影样式,不设置为不开启投影。|
| closeEffect | boolean | 是 | 关闭数据占比图表旋转动效。<br/>默认值:false |
| valueColors<sup>10+</sup> | Array<[ResourceColor](ts-types.md#resourcecolor) \| [LinearGradient](#lineargradient10对象说明)> | 是 | 各数据段颜色,ResourceColor为纯色,LinearGradient为渐变色。|
| trackBackgroundColor<sup>10+</sup> | [ResourceColor](ts-types.md#resourcecolor) | 是 | 底板颜色。<br/>默认值:'#081824' |
| strokeWidth<sup>10+</sup> | [Length](ts-types.md#Length) | 是 | 圆环粗细。<br/>默认值:24<br/>单位:vp<br/>**说明:** <br/>设置小于0的值时,按默认值显示。<br/>数据面板的类型为DataPanelType.Line时该属性不生效。 |
| trackShadow<sup>10+</sup> | [DataPanelShadowOption](#datapanelshadowoption10对象说明) | 是 | 投影样式,不设置为不开启投影。|
## DataPanelShadowOption<sup>10+</sup>
## DataPanelShadowOption<sup>10+</sup>对象说明
| 名称 | 参数类型 | 必填 | 描述 |
| ------------- | ------- | ---- | -------- |
| radius | number \| [Resource](ts-types.md#resource类型) | 否 | 阴影模糊半径。 <br/>默认值:5vp。 |
| colors | Array<[ResourceColor](ts-types.md#resourcecolor) \| [LinearGradient](#lineargradient10)> | 否 | 各数据段阴影的颜色。 <br/>默认值:与valueColors值相同。 |
| offsetX | number \| [Resource](ts-types.md#resource类型) | 否 | X轴的偏移量。 <br/>默认值:5vp。 |
| offsetY | number \| [Resource](ts-types.md#resource类型) | 否 | Y轴的偏移量。 <br/>默认值:5vp。 |
| radius | number \| [Resource](ts-types.md#resource类型) | 否 | 阴影模糊半径。 <br/>默认值:5<br/>单位:vp |
| colors | Array<[ResourceColor](ts-types.md#resourcecolor) \| [LinearGradient](#lineargradient10对象说明)> | 否 | 各数据段阴影的颜色。 <br/>默认值:与valueColors值相同 |
| offsetX | number \| [Resource](ts-types.md#resource类型) | 否 | X轴的偏移量。 <br/>默认值:5<br/>单位:vp |
| offsetY | number \| [Resource](ts-types.md#resource类型) | 否 | Y轴的偏移量。 <br/>默认值:5<br/>单位:vp |
## LinearGradient<sup>10+</sup>
## LinearGradient<sup>10+</sup>对象说明
线性渐变颜色描述。
......@@ -69,10 +69,10 @@ LinearGradient(colorStops: ColorStop[])
| 名称 | 参数类型 | 必填 | 描述 |
| ------------- | ------- | ---- | -------- |
| colorStops | [ColorStop](#colorstop10)[] | 是 | 存储渐变颜色和渐变点。|
| colorStops | [ColorStop](#colorstop10对象说明)[] | 是 | 存储渐变颜色和渐变点。|
## ColorStop<sup>10+</sup>
## ColorStop<sup>10+</sup>对象说明
颜色断点类型,用于描述渐进色颜色断点。
......@@ -85,6 +85,8 @@ LinearGradient(colorStops: ColorStop[])
## 示例
### 示例1
```ts
// xxx.ets
@Entry
......@@ -133,3 +135,48 @@ struct DataPanelExample {
```
![dataPanel](figures/dataPanel.PNG)
### 示例2
```ts
// xxx.ets
@Entry
@Component
struct LinearGradientDataPanelExample {
public values1: number[] = [20, 20, 20, 20]
public color1: LinearGradient = new LinearGradient([{ color: "#65EEC9A3", offset: 0 }, { color: "#FFEF629F", offset: 1 }])
public color2: LinearGradient = new LinearGradient([{ color: "#FF67F9D4", offset: 0 }, { color: "#FFFF9554", offset: 1 }])
public colorShadow1: LinearGradient = new LinearGradient([{ color: "#65EEC9A3", offset: 0 }, { color: "#65EF629F", offset: 1 }])
public colorShadow2: LinearGradient = new LinearGradient([{ color: "#65e26709", offset: 0 }, { color: "#65efbd08", offset: 1 }])
public colorShadow3: LinearGradient = new LinearGradient([{ color: "#6572B513", offset: 0 }, { color: "#6508efa6", offset: 1 }])
public colorShadow4: LinearGradient = new LinearGradient([{ color: "#65ed08f5", offset: 0 }, { color: "#65ef0849", offset: 1 }])
@State color3: string = '#00FF00'
@State color4: string = '#20FF0000'
@State bgColor: string = '#08182431'
@State offsetX: number = 15
@State offsetY: number = 15
@State radius: number = 5
@State colorArray: Array<LinearGradient | ResourceColor> = [this.color1, this.color2, this.color3, this.color4]
@State shadowColorArray: Array<LinearGradient | ResourceColor> = [this.colorShadow1, this.colorShadow2, this.colorShadow3, this.colorShadow4]
build() {
Column({ space: 5 }) {
Text('LinearGradient').fontSize(9).fontColor(0xCCCCCC).textAlign(TextAlign.Start).width('100%').margin({ top: 20, left: 20})
DataPanel({ values: this.values1, max: 100, type: DataPanelType.Circle })
.width(300)
.height(300)
.valueColors(this.colorArray)
.trackShadow({
radius: this.radius,
colors: this.shadowColorArray,
offsetX: this.offsetX,
offsetY: this.offsetY
})
.strokeWidth(30)
.trackBackgroundColor(this.bgColor)
}.width('100%').margin({ top: 5 })
}
}
```
![LinearGradientDataPanel](figures/LinearGradientDataPanel.PNG)
\ No newline at end of file
......@@ -4,7 +4,9 @@
> **说明:**
>
> 该组件从API Version 9开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
> - 该组件从API Version 9开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
>
> - Menu组件需和[bindMenu](ts-universal-attributes-menu.md)或[bindContextMenu](ts-universal-attributes-menu.md)方法配合使用,不支持作为普通组件单独使用。
## 子组件
......
......@@ -43,7 +43,7 @@ Text(content?: string | Resource)
| copyOption<sup>9+</sup> | [CopyOptions](ts-appendix-enums.md#copyoptions9) | 组件支持设置文本是否可复制粘贴。<br />默认值:CopyOptions.None <br/>该接口支持在ArkTS卡片中使用。 |
| draggable<sup>9+</sup> | boolean | 设置选中文本拖拽效果。<br/>不能和[onDragStart](ts-universal-events-drag-drop.md)事件同时使用;<br/>需配合copyOption一起使用,支持对选中文本的拖拽以及选中内容复制到输入框。<br/>默认值:false |
| textShadow<sup>10+</sup> | [ShadowOptions](ts-universal-attributes-image-effect.md#shadowoptions对象说明) | 设置文字阴影效果。 |
| heightAdaptivePolicy<sup>10+</sup> | [TextHeightAdaptivePolicy](ts-appendix-enums.md#TextHeightAdaptivePolicy10) | 设置文本自适应高度的方式。 |
| heightAdaptivePolicy<sup>10+</sup> | [TextHeightAdaptivePolicy](ts-appendix-enums.md#textheightadaptivepolicy10) | 设置文本自适应高度的方式。<br/>默认值:TextHeightAdaptivePolicy.MAX_LINES_FIRST。<br/>**说明:**<br/>当设置为TextHeightAdaptivePolicy.MAX_LINES_FIRST时,优先使用`maxLines`属性来调整文本高度。如果使用`maxLines`属性的布局大小超过了布局约束,则尝试在`minFontSize``maxFontSize`的范围内缩小字体以显示更多文本。<br/>当设置为TextHeightAdaptivePolicy.MIN_FONT_SIZE_FIRST时,优先使用`minFontSize`属性来调整文本高度。如果使用`minFontSize`属性可以将文本布局在一行中,则尝试在`minFontSize``maxFontSize`的范围内增大字体并使用最大可能的字体大小。<br/>当设置为TextHeightAdaptivePolicy.LAYOUT_CONSTRAINT_FIRST时,优先使用布局约束来调整文本高度。如果布局大小超过布局约束,则尝试在`minFontSize``maxFontSize`的范围内缩小字体以满足布局约束。如果将字体大小缩小到`minFontSize`后,布局大小仍然超过布局约束,则删除超过布局约束的行。|
| textIndent<sup>10+</sup> | number&nbsp;\|&nbsp;string | 设置首行文本缩进,默认值0。 |
> **说明:**
......
......@@ -10,7 +10,7 @@
## 接口
CanvasRenderingContext2D(setting: RenderingContextSetting)
CanvasRenderingContext2D(settings?: RenderingContextSettings)
从API version 9开始,该接口支持在ArkTS卡片中使用。
......@@ -18,7 +18,7 @@ CanvasRenderingContext2D(setting: RenderingContextSetting)
| 参数名 | 参数类型 | 必填 | 参数描述 |
| ------- | ---------------------------------------- | ---- | ---------------------------------------- |
| setting | [RenderingContextSettings](#renderingcontextsettings) | | 见[RenderingContextSettings](#renderingcontextsettings)。 |
| setting | [RenderingContextSettings](#renderingcontextsettings) | | 见[RenderingContextSettings](#renderingcontextsettings)。 |
### RenderingContextSettings
......@@ -59,6 +59,9 @@ RenderingContextSettings(antialias?: boolean)
| [imageSmoothingEnabled](#imagesmoothingenabled) | boolean | 用于设置绘制图片时是否进行图像平滑度调整,true为启用,false为不启用。 <br/>默认值:true<br/>从API version 9开始,该接口支持在ArkTS卡片中使用。 |
| [height](#height) | number | 组件高度。 <br/>单位:vp<br/>从API version 9开始,该接口支持在ArkTS卡片中使用。 |
| [width](#width) | number | 组件宽度。 <br/>单位:vp<br/>从API version 9开始,该接口支持在ArkTS卡片中使用。 |
| [imageSmoothingQuality](#imagesmoothingquality) |ImageSmoothingQuality | imageSmoothingEnabled为true时,用于设置图像平滑度。可选值为:<br/>- 'low':低画质<br/>- 'medium':中画质<br/>- 'high':高画质。<br/>默认值:low<br/>从API version 9开始,该接口支持在ArkTS卡片中使用。 |
| [direction](#direction) |CanvasDirection | 用于设置绘制文字时使用的文字方向。可选值为:<br/>- 'inherit':继承canvas组件已设定的文本方向<br/>- 'ltr':从左往右<br/>- 'rtl':从右往左。<br/>默认值:inherit<br/>从API version 9开始,该接口支持在ArkTS卡片中使用。 |
| [filter](#filter) |string | 用于设置图像的滤镜。支持的滤镜效果如下:<br/>- 'none': 无滤镜效果<br/>- 'blur':给图像设置高斯模糊<br/>- 'brightness':给图片应用一种线性乘法,使其看起来更亮或更暗<br/>- 'contrast':调整图像的对比度<br/>- 'grayscale':将图像转换为灰度图像<br/>- 'hue-rotate':给图像应用色相旋转<br/>- 'invert':反转输入图像<br/>- 'opacity':转化图像的透明程度<br/>- 'saturate':转换图像饱和度<br/>- 'sepia':将图像转换为深褐色<br/>默认值:'none'<br/>从API version 9开始,该接口支持在ArkTS卡片中使用。 |
> **说明:**
>
......@@ -1803,7 +1806,7 @@ clip(path: Path2D, fillRule?: CanvasFillRule): void
filter(filter: string): void
为Canvas图形设置各类滤镜效果。该接口为空接口。
为Canvas图形设置各类滤镜效果。
从API version 9开始,该接口支持在ArkTS卡片中使用。
......@@ -1811,7 +1814,68 @@ filter(filter: string): void
| 参数 | 类型 | 必填 | 默认值 | 说明 |
| ------ | ------ | ---- | ---- | ------------ |
| filter | string | 是 | - | 接受各类滤镜效果的函数。 |
| filter | string | 是 | - | 接受各类滤镜效果的函数。支持的滤镜效果如下:<br/>- 'none': 无滤镜效果<br/>- 'blur':给图像设置高斯模糊<br/>- 'brightness':给图片应用一种线性乘法,使其看起来更亮或更暗<br/>- 'contrast':调整图像的对比度<br/>- 'grayscale':将图像转换为灰度图像<br/>- 'hue-rotate':给图像应用色相旋转<br/>- 'invert':反转输入图像<br/>- 'opacity':转化图像的透明程度<br/>- 'saturate':转换图像饱和度<br/>- 'sepia':将图像转换为深褐色<br/>默认值:'none' |
**示例:**
```ts
// xxx.ets
@Entry
@Component
struct FilterDemo {
private settings: RenderingContextSettings = new RenderingContextSettings(true);
private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings);
private img:ImageBitmap = new ImageBitmap("common/images/example.jpg");
build() {
Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) {
Canvas(this.context)
.width('100%')
.height('100%')
.backgroundColor('#ffff00')
.onReady(() =>{
let ctx = this.context
let img = this.img
ctx.drawImage(img, 0, 0, 100, 100);
ctx.filter = 'grayscale(50%)';
ctx.drawImage(img, 100, 0, 100, 100);
ctx.filter = 'sepia(60%)';
ctx.drawImage(img, 200, 0, 100, 100);
ctx.filter = 'saturate(30%)';
ctx.drawImage(img, 0, 100, 100, 100);
ctx.filter = 'hue-rotate(90degree)';
ctx.drawImage(img, 100, 100, 100, 100);
ctx.filter = 'invert(100%)';
ctx.drawImage(img, 200, 100, 100, 100);
ctx.filter = 'opacity(25%)';
ctx.drawImage(img, 0, 200, 100, 100);
ctx.filter = 'brightness(0.4)';
ctx.drawImage(img, 100, 200, 100, 100);
ctx.filter = 'contrast(200%)';
ctx.drawImage(img, 200, 200, 100, 100);
ctx.filter = 'blur(5px)';
ctx.drawImage(img, 0, 300, 100, 100);
let result = ctx.toDataURL()
console.info(result)
})
}
.width('100%')
.height('100%')
}
}
```
![filterDemo](figures/filterDemo.jpeg)
### getTransform
......@@ -1836,10 +1900,42 @@ resetTransform(): void
direction(direction: CanvasDirection): void
绘制文本时,描述当前文本方向的属性。该接口为空接口。
绘制文本时,描述当前文本方向的属性。
从API version 9开始,该接口支持在ArkTS卡片中使用。
**示例:**
```ts
// xxx.ets
@Entry
@Component
struct DirectionDemo {
private settings: RenderingContextSettings = new RenderingContextSettings(true);
private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings);
build() {
Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) {
Canvas(this.context)
.width('100%')
.height('100%')
.backgroundColor('#ffff00')
.onReady(() =>{
let ctx = this.context
ctx.font = '48px serif';
ctx.textAlign = 'start'
ctx.fillText("Hi ltr!", 200, 50);
ctx.direction = "rtl";
ctx.fillText("Hi rtl!", 200, 100);
})
}
.width('100%')
.height('100%')
}
}
```
![directionDemo](figures/directionDemo.jpeg)
### rotate
......@@ -2433,7 +2529,7 @@ getLineDash(): number[]
imageSmoothingQuality(quality: imageSmoothingQuality)
用于设置图像平滑度。该接口为空接口。
用于设置图像平滑度。
从API version 9开始,该接口支持在ArkTS卡片中使用。
......@@ -2441,9 +2537,38 @@ imageSmoothingQuality(quality: imageSmoothingQuality)
| 参数 | 类型 | 描述 |
| ------- | --------------------- | ---------------------------------------- |
| quality | imageSmoothingQuality | 支持如下三种类型:'low',&nbsp;'medium',&nbsp;'high'。 |
| quality | imageSmoothingQuality | 支持如下三种类型:<br/>- 'low':低画质<br/>- 'medium':中画质<br/>- 'high':高画质 |
**示例:**
```ts
// xxx.ets
@Entry
@Component
struct ImageSmoothingQualityDemo {
private settings: RenderingContextSettings = new RenderingContextSettings(true);
private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings);
private img:ImageBitmap = new ImageBitmap("common/images/example.jpg");
build() {
Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) {
Canvas(this.context)
.width('100%')
.height('100%')
.backgroundColor('#ffff00')
.onReady(() =>{
let ctx = this.context
ctx.imageSmoothingEnabled = true
ctx.imageSmoothingQuality = 'high'
ctx.drawImage(this.img, 0, 0, 400, 200)
})
}
.width('100%')
.height('100%')
}
}
```
![ImageSmoothingQualityDemo](figures/ImageSmoothingQualityDemo.jpeg)
### transferFromImageBitmap
......
......@@ -65,6 +65,6 @@ ImageBitmap(src: string)
close()
释放ImageBitmap对象相关联的所有图形资源。该接口为空接口
释放ImageBitmap对象相关联的所有图形资源,并讲ImageBitmap对象的宽高置为0
从API version 9开始,该接口支持在ArkTS卡片中使用。
\ No newline at end of file
......@@ -10,7 +10,7 @@
## 接口
OffscreenCanvasRenderingContext2D(width: number, height: number, setting: RenderingContextSettings)
OffscreenCanvasRenderingContext2D(width: number, height: number, settings?: RenderingContextSettings)
从API version 9开始,该接口支持在ArkTS卡片中使用。
......@@ -20,7 +20,7 @@ OffscreenCanvasRenderingContext2D(width: number, height: number, setting: Render
| ------- | ------------------------------------------------------------ | ---- | ------------------------------------ |
| width | number | 是 | 离屏画布的宽度 |
| height | number | 是 | 离屏画布的高度 |
| setting | [RenderingContextSettings](ts-canvasrenderingcontext2d.md#renderingcontextsettings) | | 见RenderingContextSettings接口描述。 |
| setting | [RenderingContextSettings](ts-canvasrenderingcontext2d.md#renderingcontextsettings) | | 见RenderingContextSettings接口描述。 |
## 属性
......@@ -44,6 +44,9 @@ OffscreenCanvasRenderingContext2D(width: number, height: number, setting: Render
| [shadowOffsetX](#shadowoffsetx) | number | 设置绘制阴影时和原有对象的水平偏移值。<br/>从API version 9开始,该接口支持在ArkTS卡片中使用。 |
| [shadowOffsetY](#shadowoffsety) | number | 设置绘制阴影时和原有对象的垂直偏移值。<br/>从API version 9开始,该接口支持在ArkTS卡片中使用。 |
| [imageSmoothingEnabled](#imagesmoothingenabled) | boolean | 用于设置绘制图片时是否进行图像平滑度调整,true为启用,false为不启用。 <br/>-&nbsp;默认值:true。<br/>从API version 9开始,该接口支持在ArkTS卡片中使用。 |
| [imageSmoothingQuality](#imagesmoothingquality) |ImageSmoothingQuality | imageSmoothingEnabled为true时,用于设置图像平滑度。可选值为:<br/>- 'low':低画质<br/>- 'medium':中画质<br/>- 'high':高画质。<br/>默认值:low<br/>从API version 9开始,该接口支持在ArkTS卡片中使用。 |
| [direction](#direction) |CanvasDirection | 用于设置绘制文字时使用的文字方向。可选值为:<br/>- 'inherit':继承canvas组件已设定的文本方向<br/>- 'ltr':从左往右<br/>- 'rtl':从右往左。<br/>默认值:inherit<br/>从API version 9开始,该接口支持在ArkTS卡片中使用。 |
| [filter](#filter) |string | 用于设置图像的滤镜。支持的滤镜效果如下:<br/>- 'none': 无滤镜效果<br/>- 'blur':给图像设置高斯模糊<br/>- 'brightness':给图片应用一种线性乘法,使其看起来更亮或更暗<br/>- 'contrast':调整图像的对比度<br/>- 'grayscale':将图像转换为灰度图像<br/>- 'hue-rotate':给图像应用色相旋转<br/>- 'invert':反转输入图像<br/>- 'opacity':转化图像的透明程度<br/>- 'saturate':转换图像饱和度<br/>- 'sepia':将图像转换为深褐色<br/>默认值:'none'<br/>从API version 9开始,该接口支持在ArkTS卡片中使用。 |
> **说明:**
> fillStyle、shadowColor与 strokeStyle 中string类型格式为 'rgb(255, 255, 255)','rgba(255, 255, 255, 1.0)','\#FFFFFF'。
......@@ -1841,7 +1844,7 @@ clip(path:Path2D, fillRule?: CanvasFillRule): void
filter(filter: string): void
为Canvas图形设置各类滤镜效果。该接口为空接口。
为Canvas图形设置各类滤镜效果。
从API version 9开始,该接口支持在ArkTS卡片中使用。
......@@ -1849,7 +1852,69 @@ filter(filter: string): void
| 参数 | 类型 | 必填 | 默认值 | 说明 |
| ------ | ------ | ---- | ---- | ------------ |
| filter | string | 是 | - | 接受各类滤镜效果的函数。 |
| filter | string | 是 | - | 接受各类滤镜效果的函数。支持的滤镜效果如下:<br/>- 'none': 无滤镜效果<br/>- 'blur':给图像设置高斯模糊<br/>- 'brightness':给图片应用一种线性乘法,使其看起来更亮或更暗<br/>- 'contrast':调整图像的对比度<br/>- 'grayscale':将图像转换为灰度图像<br/>- 'hue-rotate':给图像应用色相旋转<br/>- 'invert':反转输入图像<br/>- 'opacity':转化图像的透明程度<br/>- 'saturate':转换图像饱和度<br/>- 'sepia':将图像转换为深褐色<br/>默认值:'none' |
**示例:**
```ts
// xxx.ets
@Entry
@Component
struct FilterDemoOff {
private settings: RenderingContextSettings = new RenderingContextSettings(true);
private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings);
private offContext: OffscreenCanvasRenderingContext2D = new OffscreenCanvasRenderingContext2D(600, 600, this.settings)
private img:ImageBitmap = new ImageBitmap("common/images/example.jpg");
build() {
Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) {
Canvas(this.context)
.width('100%')
.height('100%')
.backgroundColor('#ffff00')
.onReady(() =>{
let offctx = this.offContext
let img = this.img
offctx.drawImage(img, 0, 0, 100, 100);
offctx.filter = 'grayscale(50%)';
offctx.drawImage(img, 100, 0, 100, 100);
offctx.filter = 'sepia(60%)';
offctx.drawImage(img, 200, 0, 100, 100);
offctx.filter = 'saturate(30%)';
offctx.drawImage(img, 0, 100, 100, 100);
offctx.filter = 'hue-rotate(90degree)';
offctx.drawImage(img, 100, 100, 100, 100);
offctx.filter = 'invert(100%)';
offctx.drawImage(img, 200, 100, 100, 100);
offctx.filter = 'opacity(25%)';
offctx.drawImage(img, 0, 200, 100, 100);
offctx.filter = 'brightness(0.4)';
offctx.drawImage(img, 100, 200, 100, 100);
offctx.filter = 'contrast(200%)';
offctx.drawImage(img, 200, 200, 100, 100);
offctx.filter = 'blur(5px)';
offctx.drawImage(img, 0, 300, 100, 100);
var image = offctx.transferToImageBitmap()
this.context.transferFromImageBitmap(image)
})
}
.width('100%')
.height('100%')
}
}
```
![filterDemo](figures/filterDemo.jpeg)
### getTransform
......@@ -1874,10 +1939,48 @@ resetTransform(): void
direction(direction: CanvasDirection): void
绘制文本时,描述当前文本方向的属性。该接口为空接口。
绘制文本时,描述当前文本方向的属性。
从API version 9开始,该接口支持在ArkTS卡片中使用。
**示例:**
```ts
// xxx.ets
@Entry
@Component
struct DirectionDemoOff {
private settings: RenderingContextSettings = new RenderingContextSettings(true);
private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings);
private offContext: OffscreenCanvasRenderingContext2D = new OffscreenCanvasRenderingContext2D(600, 600, this.settings)
build() {
Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) {
Canvas(this.context)
.width('100%')
.height('100%')
.backgroundColor('#ffff00')
.onReady(() =>{
let offctx = this.offContext
offctx.font = '48px serif';
offctx.textAlign = 'start'
offctx.fillText("Hi ltr!", 200, 50);
offctx.direction = "rtl";
offctx.fillText("Hi rtl!", 200, 100);
var image = offctx.transferToImageBitmap()
this.context.transferFromImageBitmap(image)
})
}
.width('100%')
.height('100%')
}
}
```
![directionDemo](figures/directionDemo.jpeg)
### rotate
......@@ -2557,7 +2660,7 @@ toDataURL(type?: string, quality?: number): string
imageSmoothingQuality(quality: imageSmoothingQuality)
用于设置图像平滑度。该接口为空接口。
用于设置图像平滑度。
从API version 9开始,该接口支持在ArkTS卡片中使用。
......@@ -2565,8 +2668,42 @@ imageSmoothingQuality(quality: imageSmoothingQuality)
| 参数 | 类型 | 描述 |
| ------- | --------------------- | ---------------------------------------- |
| quality | imageSmoothingQuality | 支持如下三种类型:'low',&nbsp;'medium',&nbsp;'high'。 |
| quality | imageSmoothingQuality | 支持如下三种类型:<br/>- 'low':低画质<br/>- 'medium':中画质<br/>- 'high':高画质 |
**示例:**
```ts
// xxx.ets
@Entry
@Component
struct ImageSmoothingQualityDemoOff {
private settings: RenderingContextSettings = new RenderingContextSettings(true);
private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings);
private offContext: OffscreenCanvasRenderingContext2D = new OffscreenCanvasRenderingContext2D(600, 600, this.settings)
private img:ImageBitmap = new ImageBitmap("common/images/example.jpg");
build() {
Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) {
Canvas(this.context)
.width('100%')
.height('100%')
.backgroundColor('#ffff00')
.onReady(() =>{
let offctx = this.offContext
offctx.imageSmoothingEnabled = true
offctx.imageSmoothingQuality = 'high'
offctx.drawImage(this.img, 0, 0, 400, 200)
var image = offctx.transferToImageBitmap()
this.context.transferFromImageBitmap(image)
})
}
.width('100%')
.height('100%')
}
}
```
![ImageSmoothingQualityDemo](figures/ImageSmoothingQualityDemo.jpeg)
### transferToImageBitmap
......
......@@ -4,7 +4,9 @@
> **说明:**
>
> 从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
> - 从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
>
> - CustomBuilder里不支持再使用bindMenu、bindContextMenu弹出菜单。多级菜单可使用[Menu组件](ts-basic-components-menu.md)。
## 属性
......@@ -163,4 +165,4 @@ struct ContextMenuExample {
.bindContextMenu(this.MenuBuilder, ResponseType.RightClick)
}
}
```
\ No newline at end of file
```
......@@ -67,6 +67,7 @@
- [应用事件打点错误码](errorcode-hiappevent.md)
- [系统事件错误码](errorcode-hisysevent.md)
- [Hidebug错误码](errorcode-hiviewdfx-hidebug.md)
- [维测日志错误码](errorcode-loglibrary.md)
- [输入法框架错误码](errorcode-inputmethod-framework.md)
- [剪贴板错误码](errorcode-pasteboard.md)
- [锁屏服务错误码](errorcode-screenlock.md)
......
......@@ -4,29 +4,47 @@
>
> 以下仅介绍本模块特有错误码,通用错误码请参考[通用错误码说明文档](errorcode-universal.md)。
## 14800000 内部错误
**错误信息**
Inner error.
**错误描述**
数据库底层发生错误。
**可能原因**
传入SQL语句非法等。
**处理步骤**
需通过日志信息确认错误发生原因。
## 14800010 数据库名称不合法
**错误信息**
Invalid database name.
Failed to open or delete database by invalid database path.
**错误描述**
数据库名称不合法。
数据库路径不合法。
**可能原因**
无效的数据库名称,数据库名称为空或包含的字符超出1024字节
无效的数据库路径
**处理步骤**
检查传入数据库名称,检查数据库名称是否为空或包含的字符超出1024字节
检查传入数据库路径
## 14800011 数据库文件损坏
**错误信息**
Database corrupted.
Failed to open database by database corrupted.
**错误描述**
......@@ -45,7 +63,7 @@ Database corrupted.
**错误信息**
The result set is empty or the specified location is invalid.
The result set is empty or the specified location is invalid.
**错误描述**
......
......@@ -8,7 +8,7 @@
**错误信息**
The dataShareHelper is not initialized successfully.
The DataShareHelper is not initialized successfully.
**错误描述**
......
......@@ -48,3 +48,20 @@ NFC服务执行Tag业务逻辑遇到错误。
4. 重新触碰读取卡片。
5. 退出应用后,重新读取卡片。
## 3200101
**错误信息**
Connected NFC tag running state is abnormal in service.
**错误描述**
执行有源NFC Tag业务逻辑遇到错误。
**可能原因**
1. 有源NFC Tag参数值和实际调用函数要求不匹配。
2. 有源NFC Tag芯片返回错误状态或响应超时。
**处理步骤**
1. 检查有源NFC Tag参数是否和所调用接口匹配。
2. 重新触碰读取卡片。
......@@ -7,7 +7,7 @@
## 15500010 删除用户首选项持久化文件失败
**错误信息**
Failed to delete preferences.
Failed to delete preferences file.
**错误描述**
......
......@@ -5,19 +5,14 @@
HUKS提供为业务安全随机生成密钥的能力。通过HUKS生成的密钥,密钥的全生命周期明文不会出安全环境,能保证任何人都无法接触获取到密钥的明文。即使生成密钥的业务自身,后续也只能通过HUKS提供的接口请求执行密钥操作,获取操作结果,但无法接触到密钥自身。
**<font size=5>开发步骤</font>**
**开发步骤**
生成密钥时使用[huks.generateKeyItem(keyAlias,options,callback)](../reference/apis/js-apis-huks.md#huksgeneratekeyitem9)方法,传入keyAlias作为密钥别名,传入options包含该密钥的属性集,传入callback用于回调异步结果。关于接口的具体信息,可在[API参考文档](../reference/apis/js-apis-huks.md)中查看。
1. 确定密钥别名;
2. 初始化密钥属性集:通过[HuksParam](../reference/apis/js-apis-huks.md#huksparam)封装密钥属性,搭配Array组成密钥属性集,并赋值给[HuksOptions](../reference/apis/js-apis-huks.md#huksoptions)(properties字段),其中必须包含[HuksKeyAlg](../reference/apis/js-apis-huks.md#hukskeyalg),[HuksKeySize](../reference/apis/js-apis-huks.md#hukskeysize),[HuksKeyPurpose](../reference/apis/js-apis-huks.md#hukskeypurpose)属性;
3. 将密钥别名与密钥参数集作为参数传入,生成密钥。
> **说明**
>
> 存储的 keyAlias 密钥别名最大为64字节
......@@ -227,9 +222,9 @@ try {
| 接口名 | 描述 |
| -------------------------------------- | ----------------------------|
|generateKeyItem(keyAlias: string, options: HuksOptions, callback: AsyncCallback\<void>) : void| 生成新密钥|
|exportKeyItem(keyAlias: string, options: HuksOptions, callback: AsyncCallback<HuksReturnResult>) : void| 导出密钥对的公钥|
|importWrappedKeyItem(keyAlias: string, wrappingKeyAlias: string, options: HuksOptions, callback: AsyncCallback<void>) : void|导入加密密钥|
|deleteKeyItem(keyAlias: string, options: HuksOptions, callback: AsyncCallback<void>) : void|删除密钥|
|exportKeyItem(keyAlias: string, options: HuksOptions, callback: AsyncCallback\<HuksReturnResult>) : void| 导出密钥对的公钥|
|importWrappedKeyItem(keyAlias: string, wrappingKeyAlias: string, options: HuksOptions, callback: AsyncCallback\<void>) : void|导入加密密钥|
|deleteKeyItem(keyAlias: string, options: HuksOptions, callback: AsyncCallback\<void>) : void|删除密钥|
需要注意的是,导出密钥接口返回的公钥明文材料是按照**X.509**格式封装,导入加密密钥接口中的密钥材料需满足**Length<sub>Data</sub>-Data** 的格式封装。具体,应用需要申请一个Uint8Array按照以下表格中的顺序依次封装。
......
......@@ -31,11 +31,11 @@
| 接口名 | 描述 |
| ------------------------------------------------------------ | ------------------------------------------------------- |
| createMessage(pdu: Array<number>, specification: string, callback: AsyncCallback<ShortMessage>): void | 基于协议数据单元(PDU)和指定的SMS协议创建SMS消息实例。 |
| createMessage(pdu: Array\<number>, specification: string, callback: AsyncCallback\<ShortMessage>): void | 基于协议数据单元(PDU)和指定的SMS协议创建SMS消息实例。 |
| sendMessage(options: SendMessageOptions): void | 发送文本或数据SMS消息。 |
| getDefaultSmsSlotId(callback: AsyncCallback<number>): void | 获取用于发送短信的默认SIM卡。 |
| setSmscAddr(slotId: number, smscAddr: string, callback: AsyncCallback<void>): void | 根据指定的插槽ID设置短信服务中心的地址。 |
| getSmscAddr(slotId: number, callback: AsyncCallback<string>): void | 根据指定的插槽ID获取短信服务中心地址。 |
| getDefaultSmsSlotId(callback: AsyncCallback\<number>): void | 获取用于发送短信的默认SIM卡。 |
| setSmscAddr(slotId: number, smscAddr: string, callback: AsyncCallback\<void>): void | 根据指定的插槽ID设置短信服务中心的地址。 |
| getSmscAddr(slotId: number, callback: AsyncCallback\<string>): void | 根据指定的插槽ID获取短信服务中心地址。 |
## 开发步骤
......
......@@ -1169,6 +1169,10 @@
- [NotificationFlags](reference/apis/js-apis-inner-notification-notificationFlags.md)
- [NotificationRequest](reference/apis/js-apis-inner-notification-notificationRequest.md)
- [NotificationSlot](reference/apis/js-apis-inner-notification-notificationSlot.md)
- [NotificationSorting](reference/apis/js-apis-inner-notification-notificationSorting.md)
- [NotificationSortingMap](reference/apis/js-apis-inner-notification-notificationSortingMap.md)
- [NotificationSubscribeInfo](reference/apis/js-apis-inner-notification-notificationSubscribeInfo.md)
- [NotificationSubscriber](reference/apis/js-apis-inner-notification-notificationSubscriber.md)
- [NotificationTemplate](reference/apis/js-apis-inner-notification-notificationTemplate.md)
- [NotificationUserInput](reference/apis/js-apis-inner-notification-notificationUserInput.md)
- 公共事件定义
......@@ -1177,6 +1181,7 @@
- [通知服务公共事件定义](reference/apis/common_event/commonEvent-ans.md)
- [资源调度子系统公共事件定义](reference/apis/common_event/commonEvent-resourceschedule.md)
- [电话服务子系统公共事件定义](reference/apis/common_event/commonEvent-telephony.md)
- [USB子系统公共事件定义](reference/apis/common_event/commonEvent-usb.md)
- 包管理
- [@ohos.bundle.appControl (appControl模块)](reference/apis/js-apis-appControl.md)
- [@ohos.bundle.bundleManager (bundleManager模块)](reference/apis/js-apis-bundleManager.md)
......@@ -1209,7 +1214,7 @@
- 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.arkui.drawableDescriptor (DrawableDescriptor)](reference/apis/js-apis-arkui-drawableDescriptor.md)
- [@ohos.curves (插值计算)](reference/apis/js-apis-curve.md)
- [@ohos.font(注册自定义字体)](reference/apis/js-apis-font.md)
- [@ohos.matrix4 (矩阵变换)](reference/apis/js-apis-matrix4.md)
......@@ -1261,6 +1266,7 @@
- security
- [PermissionRequestResult](reference/apis/js-apis-permissionrequestresult.md)
- 数据管理
- [@ohos.data.cloudData(端云协同)](reference/apis/js-apis-data-cloudData.md)
- [@ohos.data.dataAbility (DataAbility谓词)](reference/apis/js-apis-data-ability.md)
- [@ohos.data.dataShare (数据共享)](reference/apis/js-apis-data-dataShare.md)
- [@ohos.data.dataSharePredicates (数据共享谓词)](reference/apis/js-apis-data-dataSharePredicates.md)
......@@ -1285,7 +1291,7 @@
- [@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.fileShare (文件分享)](reference/apis/js-apis-fileShare.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)
......@@ -1337,6 +1343,7 @@
- [@ohos.InputMethodExtensionAbility (InputMethodExtensionAbility)](reference/apis/js-apis-inputmethod-extension-ability.md)
- [@ohos.InputMethodExtensionContext (InputMethodExtensionContext)](reference/apis/js-apis-inputmethod-extension-context.md)
- [@ohos.InputMethodSubtype (输入法子类型)](reference/apis/js-apis-inputmethod-subtype.md)
- [@ohos.logLibrary (维测日志获取)](reference/apis/js-apis-loglibrary.md)
- [@ohos.pasteboard (剪贴板)](reference/apis/js-apis-pasteboard.md)
- [@ohos.screenLock (锁屏管理)](reference/apis/js-apis-screen-lock.md)
- [@ohos.systemDateTime (系统时间、时区)](reference/apis/js-apis-system-date-time.md)
......@@ -1547,6 +1554,7 @@
- [应用事件打点错误码](reference/errorcodes/errorcode-hiappevent.md)
- [系统事件错误码](reference/errorcodes/errorcode-hisysevent.md)
- [Hidebug错误码](reference/errorcodes/errorcode-hiviewdfx-hidebug.md)
- [维测日志错误码](reference/errorcodes/errorcode-loglibrary.md)
- [输入法框架错误码](reference/errorcodes/errorcode-inputmethod-framework.md)
- [剪贴板错误码](reference/errorcodes/errorcode-pasteboard.md)
- [锁屏服务错误码](reference/errorcodes/errorcode-screenlock.md)
......@@ -1674,16 +1682,16 @@
- [OH_Huks_ParamSet](reference/native-apis/_o_h___huks___param_set.md)
- [OH_Huks_PubKeyInfo](reference/native-apis/_o_h___huks___pub_key_info.md)
- [OH_Huks_Result](reference/native-apis/_o_h___huks___result.md)
- 标准库
- [Node_API](reference/native-lib/third_party_napi/napi.md)
- [libuv](reference/native-lib/third_party_libuv/libuv.md)
- [支持的标准库介绍](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)
- 标准库
- [Node_API](reference/native-lib/third_party_napi/napi.md)
- [libuv](reference/native-lib/third_party_libuv/libuv.md)
- [支持的标准库介绍](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](faqs/full-sdk-compile-guide.md)
- [如何替换full-SDK](faqs/full-sdk-switch-guide.md)
......@@ -1694,7 +1702,11 @@
- [ArkUI布局开发常见问题(ArkTS)](faqs/faqs-arkui-layout.md)
- [ArkUI路由/导航开发常见问题(ArkTS)](faqs/faqs-arkui-route-nav.md)
- [ArkUI动画/交互事件开发常见问题(ArkTS)](faqs/faqs-arkui-animation-interactive-event.md)
<<<<<<< HEAD
-[ArkUI框架开发常见问题(JS)](faqs/faqs-arkui-js.md)
=======
- [ArkUI框架开发常见问题(JS)](faqs/faqs-arkui-js.md)
>>>>>>> 1d7a46f7f65ba41d8821f53b227aed9f7a657cbb
- [Web开发常见问题](faqs/faqs-arkui-web.md)
- [包管理开发常见问题](faqs/faqs-bundle-management.md)
- [资源管理开发常见问题](faqs/faqs-globalization.md)
......@@ -1713,4 +1725,4 @@
- [分布式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
- [三四方库使用常见问题](faqs/faqs-third-fourth-party-library.md)
......@@ -500,7 +500,7 @@ function foo() {
参见:[@typescript-eslint/no-this-alias](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/docs/rules/no-this-alias.md)
ESLint的描述更加严苛,我们认为this不应该在任情况下赋值给一个变量。
ESLint的描述更加严苛,我们认为this不应该在任情况下赋值给一个变量。
# 类与对象
......@@ -622,7 +622,7 @@ function foo() {
**【描述】**
因为async function的返回值总是封装在Promise.resolve,return await实际上并没有做任何事情,只是在Promise resolve或reject之前增加了额外的时间。唯一有效是,如果try/catch语句中使用return await来捕获另一个基于Promise的函数的错误,则会出现异常
因为async function的返回值总是封装在Promise.resolve,return await实际上并没有做任何事情,只是在Promise resolve或reject之前增加了额外的时间。唯一有效的情况是,在try/catch语句中使用return await来捕获另一个基于Promise的函数的错误
**【反例】**
......@@ -820,7 +820,7 @@ export type { ButtonProps };
**【描述】**
如果导入类型(type),将导入类型和导其他对象分开写。
如果导入类型(type),将导入类型和导其他对象分开写。
**【反例】**
......
......@@ -13,7 +13,7 @@
| 5 | 文档结构 | - 模块说明<br/>- 起始版本说明<br/>- 导入模块/使用说明<br/>- 接口(属性、常量、方法、枚举、自定义类型)<br/> 描述顺序和代码保持一致,如果某些接口具有逻辑顺序,请注意排列。 |
| 6 | 接口版本说明 | 1. 每个模块要有起始版本说明,使用引用语法“>”对接口的起始版本进行说明。接口没有标记的,默认与模块同一个起始版本。<br/>2. 已有模块新增接口使用\<sup>标签标记对应版本号。写法:`<sup>版本号+</sup>`<br/> 例如`<sup>7+</sup>`<br/> 示例:API 6已有的模块,在API 7新增了一个属性字段,则在属性后加标记,即newAttribute<sup>7+</sup><br/>如果新增了一个方法,则在方法标题后增加标记,即 sim.getSimIccId<sup>7+</sup>,interface、class、枚举等同理。 |
| 7 | 废弃接口说明 | 废弃内容不能直接删去,上标标注(deprecated),起始版本和废弃版本均使用引用语法“>”说明。<br/>示例:abandonmentMethod<sup>(deprecated) </sup><br/>> 从API version 4 开始支持,从API version 7 开始废弃,建议使用[newMethod]\(#newmethod)替代。|
| 8 | 权限说明 | 与代码保持一致,下沉到各个方法、枚举、属性字段中。<br/>1. 如果仅系统应用可申请,格式:<br/> **需要权限:** ohos.permission.xxxx,仅系统应用可用。<br/>2. 如果该权限所有应用可申请,格式:<br/> **需要权限:** ohos.permission.xxxx <br/>3. 如果该接口涉及多个权限,则采用“和、或”进行分割,格式:<br/> **需要权限:** ohos.permission.A 和 ohos.permission.B<br/> **需要权限:** ohos.permission.A 或 ohos.permission.B |
| 8 | 权限说明 | 与代码保持一致,下沉到各个方法、枚举、属性字段中。<br/> 1. 如果仅涉及一个权限,格式:<br/> **需要权限:** ohos.permission.xxxx <br/>2. 如果该接口涉及多个权限,则采用“和、或”进行分割,格式:<br/> **需要权限:** ohos.permission.A 和 ohos.permission.B<br/> **需要权限:** ohos.permission.A 或 ohos.permission.B |
| 9 | @syscap | 1. 每个方法都需要进行描述,格式:<br/> **系统能力**:SystemCapability.xxx.xxx<br/>2. 每个表格(属性、枚举、常量、变量)可统一进行说明,分两种情况:<br/> 1)每个表格下系统能力无差异的,同方法的写法:<br/> **系统能力**:SystemCapability.xxx.xxx<br/> 2)有差异的:在每一个表格项里进行描述。 |
| 10 | @system api | 1. 如果某个模块全部接口均为system api,则在模块开头的版本说明下一行,增加:<br/> - 本模块接口为系统接口。<br/>2. 如果某个接口为system api,仅供OEM厂商使用,则需要在描述中增加:<br/> **系统接口:** 此接口为系统接口。 |
| 11 | @FAModelOnly<br/>@StageModelOnly | 1. 如果某个模块均只针对某模型实现,则在模块开头的版本说明下一行,增加:<br/> - 本模块接口仅可在FA模型/Stage模型下使用。<br/>2. 如果某个接口只针对某模型实现,则需要在描述中增加:<br/> **模型约束:** 此接口仅可在FA模型/Stage模型下使用。 |
......@@ -153,7 +153,7 @@ import call from '@ohos.telephony.call';
**系统接口**:此接口为系统接口。(如不涉及可删除)
**需要权限**:ohos.permission.xxx(如不涉及可删除,如果是系统权限要说明
**需要权限**:ohos.permission.xxx(如不涉及可删除)
**系统能力**:SystemCapability.xxx.xxx(必选)
......@@ -168,7 +168,7 @@ import call from '@ohos.telephony.call';
| 类型 | 说明 |
| ------------------------------------------ | ----------------------------------------------- |
| string | 返回值描述。取到返回值之后,可以用来做什么。 |
| string | 返回值描述。需包含以下内容:<br/>1. 取到返回值之后,可以用来做什么。<br/>2. 返回值如果可枚举,需枚举说明返回值意义。<br/>3. 返回值如果为某个具体值/格式,需和实际实现保持一致。 |
| Promise\<Array<[CustomType](#classinterface)>> | 返回值描述。Promise写法参考总体写作说明第14项。 |
**错误码**:(可选,如不涉及可删除)
......@@ -218,7 +218,7 @@ import call from '@ohos.telephony.call';
**系统接口**:此接口为系统接口。(如不涉及可删除)
**需要权限**:ohos.permission.xxx(如不涉及可删除,如果是系统权限要说明
**需要权限**:ohos.permission.xxx(如不涉及可删除)
**系统能力**:SystemCapability.xxx.xxx(必选)
......
......@@ -3,4 +3,4 @@
布局不是静态固定的,当显示环境发生变化时,如横竖屏切换、调节字体大小、应用分屏,要及时调整内容的布局方式以适应变化。本章提供了布局基础的概念和介绍。详见[布局基础](grid-system.md)
了解布局的基础概念后,通过调用栅格系统、自适应布局和响应式布局能力就可以让内容更好地适配显示环境的变化。综合运用布局基础能力,可实现常用页面结构的多设备适配。详见[布局基础运案例](ui-layout-cases.md)
了解布局的基础概念后,通过调用栅格系统、自适应布局和响应式布局能力就可以让内容更好地适配显示环境的变化。综合运用布局基础能力,可实现常用页面结构的多设备适配。详见[布局基础运案例](ui-layout-cases.md)
......@@ -136,14 +136,11 @@
| ISSUE | 问题描述 | 影响 | 计划解决日期 |
| -------- | -------- | -------- | -------- |
| I6B4U3 | 进程com.ohos.launcher低概率(3/10)引发appfreeze | 安装应用加多,安装超过40个应用,且内存较小的设备场景下,低概率出现appfreeze,但桌面功能正常,不影响整体功能和使用 | 2023年5月30日 |
| I6SXBI | 进程ohos.samples.distributedcalc下的libdistributeddata.z.so低概率导致cppcrash | 计算器应用快速启动和退出场景,启动后1秒内退出,导致JS对象读取数据库成功前JS对象被析构,只有LOG报错但用户无感知,影响可控 | 2023年6月30日 |
| I6TRE6 | 进程com.ohos.contacts下的com.ohos.contacts线程导致libdatashare_consumer.z.so低概率出现crash。 | 联系人应用快速启动和退出场景,发现在启动后600ms内退出,联系人进程低概率出现crash,出现crash后联系人进程会被重新拉起,影响可控。 | 2023年6月30日 |
| I6SMQA | 浏览器加载微博,滑动过程中出现抖动。 | 通过浏览器加载微博web网页后,快速滑动时,内容会闪现未加载,然后很快能加载出来,影响滑动体验。 | 2023年6月30日 |
| I72P5E | 反复进入大图浏览界面后返回,导致libace.z.so出现内存泄露 | 从图库进入大图浏览界面后返回,ArkUI模块每次泄露10kb,在应用上点击返回后,泄露问题消失。影响可控。 | 2023年6月30日 |
| I72P5I | 反复进入某相册的图片宫格浏览界面,导致libace.z.so出现内存泄露 | 进入某相册的图片宫格浏览界面后返回,ArkUI每次泄露19kb,在应用上点击返回后,泄露问题消失。影响可控。 | 2023年6月30日 |
| I76N0Y | 反复在dock栏添加/移除应用,导致libace.z.so出现内存泄露 | 移动卡片到合法区域,ArkUI每次泄露99kb,非常用场景,应用重启可泄露问题消失。影响可控。 | 2023年6月30日 |
| I6XHE7 | NAPIRemoteObject模块内存泄露 | JS应用调用IPC需要建立NAPIRemoteObject对象进程通信,创建一次可以循环使用,建立一次后泄露1.2kb,应用不需要反复创建新对象,泄露量可控,应用进程退出会释放掉内存。 | 2023年6月30日 |
<!--no_check-->
\ No newline at end of file
| I6B4U3 | 进程com.ohos.launcher低概率(3/10)引发appfreeze | 安装应用加多,安装超过40个应用,且内存较小的设备场景下,低概率出现appfreeze,但桌面功能正常,不影响整体功能和使用 | 2023年6月15日 |
| I6SXBI | 进程ohos.samples.distributedcalc下的libdistributeddata.z.so低概率导致cppcrash | 计算器应用快速启动和退出场景,启动后1秒内退出,导致JS对象读取数据库成功前JS对象被析构,只有LOG报错但用户无感知,影响可控 | 2023年7月15日 |
| I6TRE6 | 进程com.ohos.contacts下的com.ohos.contacts线程导致libdatashare_consumer.z.so低概率出现crash。 | 联系人应用快速启动和退出场景,发现在启动后600ms内退出,联系人进程低概率出现crash,出现crash后联系人进程会被重新拉起,影响可控。 | 2023年7月15日 |
| I6SMQA | 浏览器加载微博,滑动过程中出现抖动。 | 通过浏览器加载微博web网页后,快速滑动时,内容会闪现未加载,然后很快能加载出来,影响滑动体验。 | 2023年6月15日 |
| I72P5E | 反复进入大图浏览界面后返回,导致libace.z.so出现内存泄露 | 从图库进入大图浏览界面后返回,ArkUI模块每次泄露10kb,在应用上点击返回后,泄露问题消失。影响可控。 | 2023年7月15日 |
| I72P5I | 反复进入某相册的图片宫格浏览界面,导致libace.z.so出现内存泄露 | 进入某相册的图片宫格浏览界面后返回,ArkUI每次泄露19kb,在应用上点击返回后,泄露问题消失。影响可控。 | 2023年7月15日 |
| I76N0Y | 反复在dock栏添加/移除应用,导致libace.z.so出现内存泄露 | 移动卡片到合法区域,ArkUI每次泄露99kb,非常用场景,应用重启可泄露问题消失。影响可控。 | 2023年7月15日 |
| I6XHE7 | NAPIRemoteObject模块内存泄露 | JS应用调用IPC需要建立NAPIRemoteObject对象进程通信,创建一次可以循环使用,建立一次后泄露1.2kb,应用不需要反复创建新对象,泄露量可控,应用进程退出会释放掉内存。 | 2023年7月15日 |
......@@ -20,6 +20,7 @@
- [如何实现列表的二级联动](interact-lists.md)
- [时钟开发示例](time-styles-shift.md)
- [弹簧动画开发](how-to-develop-spring-animation.md)
- [如何使用OpenGL实现3D图形](how-to-use-opengl-to-draw-3d-graphics.md)
### 网络管理
- [如何请求并加载网络图片](how-to-load-images-from-internet.md)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册