| 10 | @system api | 1. If all APIs of the module are system APIs, add the following sentence to the next line of the initial version description:<br>The APIs provided by this module are system APIs.<br>2. If an API is a system API that can be used only by original equipment manufacturers (OEMs), add the following sentence to the API description:<br>**System API**: This is a system API.|
| 11 | @FAModelOnly<br>@StageModelOnly | 1. If a module is implemented only for a specific ability model, add the following sentence to the next line of the initial version description:<br>The APIs of this module can be used only in the FA model.<br>Or<br>The APIs of this module can be used only in the stage model.<br>2. If an API is implemented only for a specific ability model, add the following sentence to the API description:<br>**Model restriction**: This API can be used only in the FA model.<br/>Or<br/>**Model restriction**: This API can be used only in the stage model.|
| 12 | Asynchronous methods (callback and promise)| Use the following sentences for callback methods.<br>Method introduction: *Describe the method.* This API uses an asynchronous callback to return the result.<br>Parameter description:<br>**callback\<boolean>**: Callback used to return the result. The value **true** indicates *something*, and **false** indicates the opposite.<br>**callback\<Object>**: Callback used to return *something*. Example: Callback used to return the **AudioCapturer** object. <br>**AsyncCallback\<void>**: Callback used to return the result. If the operation (or a specific operation description) is successful, **err** is **undefined**; otherwise, **err** is an error object.<br>**AsyncCallback\<Object x>**: Callback used to return the result. If the operation (or a specific operation description) is successful, **err** is **undefined** and **data** is the *x* object obtained; otherwise, **err** is an error object.<br>Use the following sentences for promise methods.<br>Method introduction: *Describe the method.* This API uses a promise to return the result.<br>Parameter description:<br>**Promise\<boolean>**: Promise used to return the result. The value **true** indicates *something*, and **false** indicates the opposite.<br>**Promise\<Object>**: Promise used to return *something*. Example: Promise used to return the **AudioCapturer** object. <br>**Promise\<void>**: Promise that returns no value. |
| 13 | Sample code programming language | Use code blocks to provide sample code and mark the programming language.<br>Use **js** as the mark if both JS and eTS can be used, and use **ts** if only eTS can be used.|
| 13 | Sample code programming language | Use code blocks to provide sample code and mark the programming language.<br>Use **js** as the mark if both JS and ArkTS can be used, and use **ts** if only ArkTS can be used. |
| 14 | Link | Link format: [Link text]\(Link content)<br>Cross-folder link format: [markdown file name]\(\.\./../xxx/xxx.md). One **../** indicates one upper-level folder.<br>Intra-topic link format: [Interface A<sup>7+</sup>]\(#xxxa7). The text in the intra-topic link must be the same as the title to be linked. In the link, all letters must be in lowercase, and no special character (except the hyphen) or tag is included.|
The following describes the instructions for writing a specific API reference document.
@@ -100,44 +100,44 @@ This version has the following updates to OpenHarmony 3.0 LTS.
| Subsystem| Standard System| Mini and Small Systems|
| -------- | -------- | -------- |
| Bundle management framework| - I4MBSE: Provides the home screen bundle management client.<br>- I4MBSF: Supports cache clearing.<br>- I4MBSG: Supports installation package information query.<br>- I4MBSD: Supports multi-HAP installation.<br>- I4MBSH: Supports signature verification during multi-HAP installation.<br>- I4MBSC: Supports the **srcPath** field for modules and abilities.| NA |
| Distributed Scheduler subsystem| -I4MBRW: Samgr supports intra-process system ability list control.<br>-I4MBRV: Samgr supports maintenance of the system service status list.<br>-I4MBRZ: Samgr supports initialization of the full service list.<br>-I4MBRY: Samgr supports maintenance of the system process status list.<br>-I4MBRX: Samgr supports loading a specific system service.| NA |
| DeviceProfile subsystem| -I4NY23: Insertion, deletion, and query of local device profiles.<br>-I4NY1X: Query of remote device profiles.<br>-I4NY1T: Subscription to remote profile changes.<br>-I4NY1W: Cross-device profile synchronization.| NA |
| Account subsystem| -I4MBQW: Application account addition and deletion.<br>-I4MBQV: Restrictions on the basic information about application accounts.<br>-I4MBQU: Application account subscription and unsubscription.<br>-I4MBQT: Application account function setting and content modification.<br>-I4MBQS: Application account information query.<br>-I4IT3U: Basic information management for application accounts.| NA |
| Pan-sensor subsystem| -I3NJ96: Acceleration sensor data reporting.<br>-I3NJ8H: Gyroscope sensor data reporting.<br>-I3NJ7J: Ambient light sensor data reporting.<br>-I3NJ76: Magnetic field sensor data reporting.<br>-I4MBRP: Magnetic declination and dip.<br>-I4MBRQ: Horizontal intensity and total intensity of the magnetic field.| NA |
| Distributed Scheduler subsystem| - I4MBRW: Samgr supports intra-process system ability list control.<br>- I4MBRV: Samgr supports maintenance of the system service status list.<br>- I4MBRZ: Samgr supports initialization of the full service list.<br>- I4MBRY: Samgr supports maintenance of the system process status list.<br>- I4MBRX: Samgr supports loading a specific system service. | NA |
| DeviceProfile subsystem| - I4NY23: Insertion, deletion, and query of local device profiles.<br>- I4NY1X: Query of remote device profiles.<br>- I4NY1T: Subscription to remote profile changes.<br>- I4NY1W: Cross-device profile synchronization. | NA |
| Account subsystem| - I4MBQW: Application account addition and deletion.<br>- I4MBQV: Restrictions on the basic information about application accounts.<br>- I4MBQU: Application account subscription and unsubscription.<br>- I4MBQT: Application account function setting and content modification.<br>- I4MBQS: Application account information query.<br>- I4IT3U: Basic information management for application accounts. | NA |
| Pan-sensor subsystem| - I3NJ96: Acceleration sensor data reporting.<br>- I3NJ8H: Gyroscope sensor data reporting.<br>- I3NJ7J: Ambient light sensor data reporting.<br>- I3NJ76: Magnetic field sensor data reporting.<br>- I4MBRP: Magnetic declination and dip.<br>- I4MBRQ: Horizontal intensity and total intensity of the magnetic field. | NA |
| USB subsystem| I410OZ:<br>- Querying the list of connected USB devices.<br>- Obtaining the temporary permission to access USB devices.<br>- Setting USB device configurations and interfaces.<br>- Data transfer using USB devices.| NA |
| Multi-language Runtime subsystem| - I4MBUK: The default runtime of JS/TS is changed from quickjs to ARK. <br>- I4MBUJ: The memory reclaim capability of ARK runtime is enhanced. The concurrent marking and concurrent compression algorithms are supported. Some regions can be selected for compression GC, reducing the GC pause time by 30%.| NA |
| Globalization subsystem| - Added globalization features: singular and plural rules, string sorting, phone number processing, calendar and local calendar, weights and measures and formatting, locale representations and attributes, time segment formatting, alphabet retrieval, Unicode character attributes, wrapping and line feed.<br>- Supports system resources and rawfile resources.| NA |
| DSoftBus subsystem| -I4FZ29: DSoftBus provides the Ext API for transmission. <br> -I4FZ25: DSoftBus supports network switching.| -I4FZ29: DSoftBus provides the Ext API for transmission. <br> -I4FZ25: DSoftBus supports network switching.|
| Startup subsystem| NA | -I3XGJH: init basic environment building.<br>-I3XGKV: System parameter management.<br>-I3XGLN: init script management.<br>-I3XGMQ: Basic permission management.<br>-I3XGN8: Boot image building and loading.<br>-I3XGKV: uevent management.<br>-I3XGNM: Burning mode.|
| Media subsystem| NA | -I4BX5Z: HiStreamer supports audio playback and control.<br>-I4BX8A: HiStreamer supports playback of MP3 and WAV audio files.<br>-I4BX9E: HiStreamer playback engine framework requirements are met.<br>-I4DK89: HiStreamer plugin framework requirements are met.<br>-I4DK8D: HiStreamer performance and DFX requirements are met.|
| DSoftBus subsystem| - I4FZ29: DSoftBus provides the Ext API for transmission. <br> - I4FZ25: DSoftBus supports network switching. | - I4FZ29: DSoftBus provides the Ext API for transmission. <br> - I4FZ25: DSoftBus supports network switching. |
| Startup subsystem| NA | - I3XGJH: init basic environment building.<br>- I3XGKV: System parameter management.<br>- I3XGLN: init script management.<br>- I3XGMQ: Basic permission management.<br>- I3XGN8: Boot image building and loading.<br>- I3XGKV: uevent management.<br>- I3XGNM: Burning mode. |
| Media subsystem| NA | - I4BX5Z: HiStreamer supports audio playback and control.<br>- I4BX8A: HiStreamer supports playback of MP3 and WAV audio files.<br>- I4BX9E: HiStreamer playback engine framework requirements are met.<br>- I4DK89: HiStreamer plugin framework requirements are met.<br>- I4DK8D: HiStreamer performance and DFX requirements are met. |
| Graphics subsystem| New design of the OpenHarmony graphics stack:<br>Added the background rendering feature to the UI framework.<br>Supports the access to the background rendering module of RenderService from ArkUI components.| NA |
| Kernel subsystem| Kernel (Linux 5.10): <br>-I4LUG4: Supports Contiguous Memory Area (CMA) reuse. (Currently, only Hi3516D V300 is supported.)<br>-I4LX4G: Supports anonymous Virtual Memory Area (VMA) naming. (Currently, only Hi3516D V300 is supported.)| -I3ND6Y: Optimized OS kernel and driver startup performance.|
| Startup subsystem| NA | -I3NTCT: The Linux init process supports hot swap.|
| Distributed Data Management subsystem| NA | -I4H3JJ: Provides distributed objects for small-system devices.|
| Misc Services subsystem| I4MBQE:<br>Enables applications to read the system time.<br>Enables applications to read the system time zone.<br>Provides time change notifications.<br>Provides time zone change notifications.<br>Provides minute change notifications.| NA |
| Compilation and Building subsystem| I4K7E3: Provides a unified compilation command as the compilation entry.<br>-I4KCNB: Supports the unified gn template.| -I4MBQN: Supports a unified compilation entry and uses **build.sh** to compile mini- and small-system devices.<br>-I4MBQP: Supports a unified compilation process.<br>-I4MBQR: Supports unified product configuration.|
| File Storage subsystem| -I4MBS2: Provides StatFS JS interfaces for obtaining the total space and free space of a device.| NA |
| Driver subsystem| -I4L3KK: The drive capability of sensor components is enhanced. The sensor sampling rate can be dynamically configured, the three-axis direction can be statically configured, and the ambient light gain can be adjusted. <br>-I4L3LF: The sensor driver model capability is enhanced to support cross-process service obtaining and invoking of sensor HDIs. <br>-I4MBTS: Provides more capabilities for HDF input devices and supports data reporting of joystick devices. <br>-I4MBTR: The default reference implementation of the Display HDI interface for the standard system is provided based on the DRM display architecture, which helps vendors to adapt the HDI. <br>-I4HPR7: Provides the hcs macro parsing mechanism. During compilation, the hc-gen tool is used to parse the driver parameters into parameters involved in the macro definition. The driver accesses these macro definition parameters through the hcs macro-format interface. <br>-I4KVJQ: Supports system-level sleep/wakeup of the Linux and LiteOS kernels. <br>-I4L3ZZF: Supports synchronous/asynchronous power management invoking and provides a synchronous/asynchronous mechanism for HDF device sleep/wakeup management.| -I4L3KK: The drive capability of sensor components is enhanced. The sensor sampling rate can be dynamically configured, the three-axis direction can be statically configured, and the ambient light gain can be adjusted. <br>Provides more capabilities for HDF input devices (running on Linux) and supports data reporting of joystick devices. <br>-I4HPR7: Provides the hcs macro parsing mechanism. During compilation, the hc-gen tool is used to parse the driver parameters into parameters involved in the macro definition. The driver accesses these macro definition parameters through the hcs macro-format interface. <br>-I4KVJQ: Supports system-level sleep/wakeup of the Linux and LiteOS kernels. <br>-I4L3ZZF: Supports synchronous/asynchronous power management invoking and provides a synchronous/asynchronous mechanism for HDF device sleep/wakeup management.|
| Compilation and Building subsystem| - I4K7E3: Provides a unified compilation command as the compilation entry.<br>- I4KCNB: Supports the unified gn template. | - I4MBQN: Supports a unified compilation entry and uses **build.sh** to compile mini- and small-system devices.<br>- I4MBQP: Supports a unified compilation process.<br>- I4MBQR: Supports unified product configuration. |
| File Storage subsystem| - I4MBS2: Provides StatFS JS interfaces for obtaining the total space and free space of a device. | NA |
| Driver subsystem| - I4L3KK: The drive capability of sensor components is enhanced. The sensor sampling rate can be dynamically configured, the three-axis direction can be statically configured, and the ambient light gain can be adjusted. <br>- I4L3LF: The sensor driver model capability is enhanced to support cross-process service obtaining and invoking of sensor HDIs. <br>- I4MBTS: Provides more capabilities for HDF input devices and supports data reporting of joystick devices. <br>- I4MBTR: The default reference implementation of the Display HDI interface for the standard system is provided based on the DRM display architecture, which helps vendors to adapt the HDI. <br>- I4HPR7: Provides the hcs macro parsing mechanism. During compilation, the hc-gen tool is used to parse the driver parameters into parameters involved in the macro definition. The driver accesses these macro definition parameters through the hcs macro-format interface. <br>- I4KVJQ: Supports system-level sleep/wakeup of the Linux and LiteOS kernels. <br>- I4L3ZZF: Supports synchronous/asynchronous power management invoking and provides a synchronous/asynchronous mechanism for HDF device sleep/wakeup management. | - I4L3KK: The drive capability of sensor components is enhanced. The sensor sampling rate can be dynamically configured, the three-axis direction can be statically configured, and the ambient light gain can be adjusted. <br>Provides more capabilities for HDF input devices (running on Linux) and supports data reporting of joystick devices. <br>- I4HPR7: Provides the hcs macro parsing mechanism. During compilation, the hc-gen tool is used to parse the driver parameters into parameters involved in the macro definition. The driver accesses these macro definition parameters through the hcs macro-format interface. <br>- I4KVJQ: Supports system-level sleep/wakeup of the Linux and LiteOS kernels. <br>- I4L3ZZF: Supports synchronous/asynchronous power management invoking and provides a synchronous/asynchronous mechanism for HDF device sleep/wakeup management. |
| ArkUI| - I4MBUY: Added **target** to the event to obtain the size.<br>- I4MBUZ: The **\<Swiper>** component supports cache setting.<br>- I4MBV1: The **\<Image>** component supports synchronous and asynchronous rendering setting.<br>- I4MBV3: Added the component polymorphic style setting to the style setting feature.<br>- I4MBV5: Added the pop-up text for menu content extension to the **\<AlphabetIndexer>** component.<br>- I4MBV6: Added the custom container components to the component customization feature.<br>- I4MBV7: Added scroll bar style customization.<br>- I4MBV8: Added switching forbidden for the **\<Swiper>** component.<br>- I4MBV9: Added tab bar content customization for the **\<Tabs>** component.<br>- I4MBVA: Added title bar setting for the **\<Navigation>** component.<br>- I4MBVB: Added toolbar display/hide control for the **\<toolbar>** component.<br>- I4MBVC: Added content customization for the **\<toolbar>** component.<br>- I4MBVD: Added the SysCap declaration compilation feature.<br>- I4MBVE: Added the JSSDK compilation feature.<br>- I4MBVF: Added the **Config.json** compilation feature.<br>- I4MBVG: Added the breakpoint debugging feature for single-instance debugging.<br>- I4MBVH: Added the attach debugging feature for single-instance debugging.<br>- I4MBVI: Added the declarative paradigm compilation feature to support compilation and verification.<br>- I4MBVJ: Added the JS module shared compilation feature.<br>- I4MBVK: Added the HAR reference and compilation feature.<br>- I4MBVL: Added the HPM reference and compilation feature.<br>- I4MBVN: Added the vertical display of the slider bar.<br>- I4MBVO: Added the content customization feature for the **\<popup>** component.<br>- I4MBVP: Added the drawing capability for the **\<canvas>** component.<br>- I4MBVQ: Enhanced the capabilities of the **\<canvas>** component.<br>- I4MBVR: Added the touch target setting.<br>- I4MBVS: Added the support for Lottie animation.<br>- I4MBVT: Added the feature for obtaining the component size.<br>- I4MBVU: Added content customization to the **\<menu>** component.<br>- I4MBVV: Added the support for the **\<swipe>** gesture.<br>- I4MBVW: Added the inspector capability for UI preview.<br>- I4MBVX: Added the non-route file preview feature.<br>- I4MBVY: Added the NAPI preview feature.<br>- I4MBVZ: Added the declarative paradigm preview feature with the basic preview supported.<br>- I4MBW2: Added the declarative paradigm hot loading feature for modification to the existing nodes.<br>- I4MBW3: Added the declarative paradigm hot loading feature for node addition.<br>- I4MBW4: Added the declarative paradigm hot loading feature for node deletion.<br>- I4MBW5: Added the component preview feature and the page component preview.<br>Added the universal attribute **touchable** to specify whether a component is touchable. <br>Added the basic component **\<Marquee>**. <br>Added the basic component **\<Gauge>**. <br>Added the basic component **\<TextArea>**. <br>Added the basic component **\<TextInput>**. <br>Added the basic component **\<Toggle>**. <br>Added the container component **\<Stepper>**. <br>Added the container component **\<StepperItem>**. <br>Added the global UI method **\<ActionSheet>**.| NA |
| DFX subsystem| -I4MBQH: Added the **HiSysEvent** class and provided the query and subscription interfaces.<br>-I4MBQJ: Provides the tool query or subscription system event.<br>-I4MBQL: Added the C interface of the **HiAppEvent** class.| NA |
| Application subsystems| -I4MBU1: Added **Settings** data management APIs. <br>-I4MBU3: Added time setting. <br>-I4MBU5: Supports sound management. <br>-I4MBU6: Added **Settings** data management. <br>-I4MBU7: Added **Settings** default value management.<br>-I4MBU8: Added differentiated construction of multiple device forms in **Settings**.<br>-I4MBU9: Added component-based notifications.| NA |
| DFX subsystem| - I4MBQH: Added the **HiSysEvent** class and provided the query and subscription interfaces.<br>- I4MBQJ: Provides the tool query or subscription system event.<br>- I4MBQL: Added the C interface of the **HiAppEvent** class. | NA |
| Application subsystems| - I4MBU1: Added **Settings** data management APIs. <br>- I4MBU3: Added time setting. <br>- I4MBU5: Supports sound management. <br>- I4MBU6: Added **Settings** data management. <br>- I4MBU7: Added **Settings** default value management.<br>- I4MBU8: Added differentiated construction of multiple device forms in **Settings**.<br>- I4MBU9: Added component-based notifications. | NA |
### API Updates
For details, see the following:
_[JS API Differences](api-diff/v3.1-beta/js-apidiff-v3.1-beta.md)_
_[JS API Differences](api-change/v3.1-beta/js-apidiff-v3.1-beta.md)_
_[Native API Differences](api-diff/v3.1-beta/native-apidiff-v3.1-beta.md)_
_[Native API Differences](api-change/v3.1-beta/native-apidiff-v3.1-beta.md)_
For details about the adaptation status, see [SIG-Devboard](https://gitee.com/openharmony/community/blob/master/sig/sig-devboard/sig_devboard.md).
For details about the adaptation status, see [SIG_DevBoard](https://gitee.com/openharmony/community/blob/master/sig/sig_devboard/sig_devboard.md).
### Samples & Codelabs
...
...
@@ -149,17 +149,17 @@ For details about the adaptation status, see [SIG-Devboard](https://gitee.com/op
| Name| Introduction| Programming Language|
| -------- | -------- | -------- |
| [eTS Common Event](https://gitee.com/openharmony/app_samples/tree/master/Notification/CommonEvent) | This sample shows how to use **CommonEvent** APIs in Extended TypeScript (eTS) to create subscribers and subscribe to, publish, and unsubscribe from common events.| eTS |
| [ArkTS Common Event](https://gitee.com/openharmony/app_samples/tree/master/Notification/CommonEvent) | This sample shows how to use **CommonEvent** APIs in ArkTS to create subscribers and subscribe to, publish, and unsubscribe from common events. | ArkTS |
| [Air Quality](https://gitee.com/openharmony/app_samples/tree/master/common/AirQuality)| This sample implements a simple air quality app using JS. The app displays air quality information using line wrapping and historical data in a bar chart.| JS |
| [Distributed Calculator](https://gitee.com/openharmony/app_samples/tree/master/common/DistributeCalc)| This sample implements a simple calculator app using JS distributed features. The calculator can perform simple numerical calculations and start a remote calculator Feature Ability (FA) to perform collaborative calculation.| JS |
| [eTS Notification](https://gitee.com/openharmony/app_samples/tree/master/common/Notification) | This sample shows how to create and delete a slot in eTS, and how to publish and cancel a notification.| eTS |
| [eTS Resource Management](https://gitee.com/openharmony/app_samples/tree/master/common/ResourceManager) | This sample shows how to call resource management APIs in eTS to obtain strings and images.| eTS |
| [ArkTS Notification](https://gitee.com/openharmony/app_samples/tree/master/common/Notification) | This sample shows how to create and delete a slot in ArkTS, and how to publish and cancel a notification. | ArkTS |
| [ArkTS Resource Management](https://gitee.com/openharmony/app_samples/tree/master/common/ResourceManager) | This sample shows how to call resource management APIs in ArkTS to obtain strings and images. | ArkTS |
| [Kika Keyboard](https://gitee.com/openharmony/app_samples/tree/master/CompleteApps/KikaInput) | This sample shows how to implement a lightweight input method app, Kika Keyboard, that can run on smart devices powered by OpenHarmony.| JS |
| [eTS Distributed Data Management](https://gitee.com/openharmony/app_samples/tree/master/data/Kvstore) | This sample shows how to use distributed data management in eTS, including creating a **KvManager** instance and using KvStore data transfer.| eTS |
| [Lightweight Data Storage](https://gitee.com/openharmony/app_samples/tree/master/data/LiteStorage) | Lightweight data storage supports lightweight key-value operations and allows local apps to store a small amount of data. This sample shows how to add offerings to the shopping cart, remove offerings from the shopping cart, and saving the shopping cart. The shopping cart information is retained even when the app is closed. This reflects the lightweight storage feature.| eTS |
| [eTS Process](https://gitee.com/openharmony/app_samples/tree/master/ETSUI/Process) | This sample shows how to obtain process information and start a child process to run a shell script in eTS. With this sample, you can obtain the running time, obtain and change the working directory of a process, send a signal to a specific process, start or close a child process, and exit the current process.| eTS |
| [eTS Running Lock](https://gitee.com/openharmony/app_samples/tree/master/common/Runninglock) | This sample shows how to test the running lock that prevents the system from entering sleep mode. It uses the black and white wallpapers to simulate the screen-off and screen-on states.| eTS |
| [String Codec](https://gitee.com/openharmony/app_samples/tree/master/Util/UtilStringCodec) | This sample shows how to output strings in a specified format and output error codes in text format. It also demonstrates string encoding and decoding.| eTS |
| [ArkTS Distributed Data Management](https://gitee.com/openharmony/app_samples/tree/master/data/Kvstore) | This sample shows how to use distributed data management in ArkTS, including creating a **KvManager** instance and using KvStore data transfer. | ArkTS |
| [Lightweight Data Storage](https://gitee.com/openharmony/app_samples/tree/master/data/LiteStorage) | Lightweight data storage supports lightweight key-value operations and allows local apps to store a small amount of data. This sample shows how to add offerings to the shopping cart, remove offerings from the shopping cart, and saving the shopping cart. The shopping cart information is retained even when the app is closed. This reflects the lightweight storage feature.| ArkTS |
| [ArkTS Process](https://gitee.com/openharmony/app_samples/tree/master/ETSUI/Process) | This sample shows how to obtain process information and start a child process to run a shell script in ArkTS. With this sample, you can obtain the running time, obtain and change the working directory of a process, send a signal to a specific process, start or close a child process, and exit the current process. | ArkTS |
| [ArkTS Running Lock](https://gitee.com/openharmony/app_samples/tree/master/common/Runninglock) | This sample shows how to test the running lock that prevents the system from entering sleep mode. It uses the black and white wallpapers to simulate the screen-off and screen-on states.| ArkTS |
| [String Codec](https://gitee.com/openharmony/app_samples/tree/master/Util/UtilStringCodec) | This sample shows how to output strings in a specified format and output error codes in text format. It also demonstrates string encoding and decoding.| ArkTS |
| [JS Audio Playback and Management](https://gitee.com/openharmony/app_samples/tree/master/media/JsAudioPlayer)| This sample shows how to use the JS-based audio playback feature and set the volume.| JS |
| [JS Video](https://gitee.com/openharmony/app_samples/tree/master/media/JsVideo) | This sample shows how to use the JS UI component **\<video>** to implement video playback. You can play a video clip and pause the playback through the control bar of the **\<video>** component.| JS |
| [Dot Test](https://gitee.com/openharmony/app_samples/tree/master/DFX/JsDotTest)| This sample illustrates the dot test function, including application dotting and performance dotting.| JS |
...
...
@@ -178,17 +178,16 @@ For details about the adaptation status, see [SIG-Devboard](https://gitee.com/op
| Name| Introduction| Programming Language|
| -------- | -------- | -------- |
| [Synced Sketchpad (eTS)](https://gitee.com/openharmony/codelabs/tree/master/Distributed/DistributeDatabaseDrawEts)| This codelab shows how to implement synchronous writing and interaction between multiple devices based on the distributed feature.| eTS |
| [Synced Sketchpad (ArkTS)](https://gitee.com/openharmony/codelabs/tree/master/Distributed/DistributeDatabaseDrawEts)| This codelab shows how to implement synchronous writing and interaction between multiple devices based on the distributed feature.| ArkTS |
| [Distributed Database](https://gitee.com/openharmony/codelabs/tree/master/Data/JsDistributedData)| This codelab shows how to use the Distributed Data Service APIs to facilitate consistent data access between devices.| JS |
| [Relational Database](https://gitee.com/openharmony/codelabs/tree/master/Data/JSRelationshipData)| This codelab shows how to quickly develop database-related application services based on the relational database and data management capability.| JS |
| [Simplified Declarative UI Paradigm (eTS)](https://gitee.com/openharmony/codelabs/tree/master/ETSUI/SimpleGalleryEts)| This codelab shows how to implement a gallery app based on OpenHarmony eTS UI components.| eTS |
| [One-Time Development for Multi-device Deployment (eTS)](https://gitee.com/openharmony/codelabs/tree/master/ETSUI/MultiDeploymentEts)| This codelab shows how to implement one-time layout development for multi-device deployment based on OpenHarmony eTS UI components.| eTS |
| [Shopping (eTS)](https://gitee.com/openharmony/codelabs/tree/master/ETSUI/ShoppingEts)| This codelab shows how to implement a shopping app based on OpenHarmony eTS UI components.| eTS |
| [Intra- and Inter-page Navigation](https://gitee.com/openharmony/codelabs/tree/master/Ability/PageAbility)| This codelab shows how to switch between pages and within a page.| eTS |
| [Transition Animation (eTS)](https://gitee.com/openharmony/codelabs/tree/master/ETSUI/TransitionAnimtaionEts)| This codelab shows how to implement page transition, component transition, and transition of shared elements based on OpenHarmony eTS UI components.| eTS |
| [slider Usage (eTS)](https://gitee.com/openharmony/codelabs/tree/master/ETSUI/SliderApplicationEts)| This codelab shows how to use the OpenHarmony eTS UI component **\<slider>** to implement the animation effect when users adjust the size and speed of the windmill.| eTS |
| [Liquid Layout (eTS)](https://gitee.com/openharmony/codelabs/tree/master/ETSUI/FlowLayoutEts)| This codelab shows how to implement the liquid layout based on the OpenHarmony eTS UI components.| eTS |
| [Dialog Box (eTS)](https://gitee.com/openharmony/codelabs/tree/master/ETSUI/CustomDialogEts)| This codelab shows how to implement an alert dialog box and custom dialog box based on OpenHarmony eTS UI components.| eTS |
| [Simplified Declarative UI Paradigm (ArkTS)](https://gitee.com/openharmony/codelabs/tree/master/ETSUI/SimpleGalleryEts) | This codelab shows how to implement a gallery app based on OpenHarmony ArkUI components. | ArkTS |
| [One-Time Development for Multi-device Deployment (ArkTS)](https://gitee.com/openharmony/codelabs/tree/master/ETSUI/Multi_device) | This codelab shows how to implement one-time layout development for multi-device deployment based on OpenHarmony ArkTS UI components. | ArkTS |
| [Shopping (ArkTS)](https://gitee.com/openharmony/codelabs/tree/master/ETSUI/ShoppingEts) | This codelab shows how to implement a shopping app based on OpenHarmony ArkTS UI components. | ArkTS |
| [Transition Animation (ArkTS)](https://gitee.com/openharmony/codelabs/tree/master/ETSUI/TransitionAnimation) | This codelab shows how to implement page transition, component transition, and transition of shared elements based on OpenHarmony ArkUI components. | ArkTS |
| [slider Usage (ArkTS)](https://gitee.com/openharmony/codelabs/tree/master/ETSUI/SliderExample) | This codelab shows how to use the OpenHarmony ArkUI component **\<slider>** to implement the animation effect when users adjust the size and speed of the windmill. | ArkTS |
| [Liquid Layout (ArkTS)](https://gitee.com/openharmony/codelabs/tree/master/ETSUI/FlowLayoutEts) | This codelab shows how to implement the liquid layout based on the OpenHarmony ArkTS UI components. | ArkTS |
| [Dialog Box (ArkTS)](https://gitee.com/openharmony/codelabs/tree/master/ETSUI/CustomDialogEts) | This codelab shows how to implement an alert dialog box and custom dialog box based on OpenHarmony ArkTS UI components. | ArkTS |
| Telephony| [SMS](https://gitee.com/openharmony/app_samples/tree/master/Telephony/Message)| This sample shows how to send SMS messages.| eTS |
| Telephony| [Radio](https://gitee.com/openharmony/app_samples/tree/master/Telephony/RadioTech)| This sample shows how to use the radio function of the telephony service in eTS to obtain information, including the radio access technology, network status, network selection mode, ISO country code, signal strength list, and whether the radio function is enabled.| eTS |
| Device management| [Power Management](https://gitee.com/openharmony/app_samples/tree/master/common/PowerManager)| This sample shows how to power off a device, restart the system, and check the screen status.| eTS |
| Device management| [Sensor](https://gitee.com/openharmony/app_samples/tree/master/device/Sensor)| This sample uses the orientation sensor APIs to implement the compass effect.| eTS |
| Device management| [Device Management](https://gitee.com/openharmony/app_samples/tree/master/device/DeviceManager)| This sample shows the use of the **DeviceManager** API in eTS, including obtaining the trusted device list, scanning for devices, authenticating devices, and subscribing to device status changes.| eTS |
| Account management| [Application Account Management](https://gitee.com/openharmony/app_samples/tree/master/Account/AppAccountManager)| This sample shows how to register/log in to an application and set the account information to demonstrate application account management.| eTS |
| ArkUI | [web](https://gitee.com/openharmony/app_samples/tree/master/ETSUI/Web)| This sample shows the function pages of the **\<Web>** component.| eTS |
| ArkUI | [Drag](https://gitee.com/openharmony/app_samples/tree/master/ETSUI/Drag)| This sample shows the drag operation function.| eTS |
| ArkUI | [Animation](https://gitee.com/openharmony/app_samples/tree/master/ETSUI/ArkUIAnimation)| This sample demonstrates the effect of the **AnimatorProperty** and **Explicit Animation**.| eTS |
| Data management| [Querying the DDM Result Set](https://gitee.com/openharmony/app_samples/tree/master/data/DDMQuery)| This sample shows how to create a query object to query data in a key-value (KV) store and obtain the result set in distributed data management (DDM).| eTS |
| Data management| [eTS RDB](https://gitee.com/openharmony/app_samples/tree/master/data/DistributedRdb) | This sample shows how to use a relational database (RDB) in eTS, including adding, deleting, modifying, and querying data.| eTS |
| Common event and notification| [Reminder Agent](https://gitee.com/openharmony/app_samples/tree/master/Notification/AlarmClock)| This sample shows how to use the reminder agent by simulating an alarm clock.| eTS |
| Common event and notification| [Event notification](https://gitee.com/openharmony/app_samples/tree/master/Notification/Emitter)| This sample shows the in-process event notification. After a user selects an offering and submits an order, the selected offering is displayed in the order list.| eTS |
| Connectivity| [RPC](https://gitee.com/openharmony/app_samples/tree/master/Communication/RPC)| This sample shows the data exchange between the frontend and backend of a device. After the offering and quantity are selected at the frontend, the backend calculates the result and displays it at the frontend.| eTS |
| Connectivity| [WLAN](https://gitee.com/openharmony/app_samples/tree/master/Communication/Wlan) | This sample shows how to use WLAN with eTS, including disabling and enabling the WLAN, scanning the WLAN and obtaining the scanning result, listening for WLAN status and Wi-Fi connection status, obtaining the IP address, country code, and checking whether the device supports WLAN features.| eTS |
| Multimedia| [Recorder](https://gitee.com/openharmony/app_samples/tree/master/media/Recorder)| This sample shows how to use audio recording and playback of the media service.| eTS |
| Multimedia| [Multimedia](https://gitee.com/openharmony/app_samples/tree/master/media/MultiMedia)| This demo shows how to invoke the camera to take photos in eTS and how to use the **MediaLibrary** APIs to add, delete, modify, and query media files.| eTS |
| Telephony| [SMS](https://gitee.com/openharmony/app_samples/tree/master/Telephony/Message)| This sample shows how to send SMS messages.| ArkTS |
| Telephony| [Radio](https://gitee.com/openharmony/app_samples/tree/master/Telephony/RadioTech)| This sample shows how to use the radio function of the telephony service in ArkTS to obtain information, including the radio access technology, network status, network selection mode, ISO country code, signal strength list, and whether the radio function is enabled. | ArkTS |
| Device management| [Power Management](https://gitee.com/openharmony/app_samples/tree/master/common/PowerManager)| This sample shows how to power off a device, restart the system, and check the screen status.| ArkTS |
| Device management| [Sensor](https://gitee.com/openharmony/app_samples/tree/master/device/Sensor)| This sample uses the orientation sensor APIs to implement the compass effect.| ArkTS |
| Device management| [Device Management](https://gitee.com/openharmony/app_samples/tree/master/device/DeviceManager)| This sample shows the use of the **DeviceManager** API in ArkTS, including obtaining the trusted device list, scanning for devices, authenticating devices, and subscribing to device status changes. | ArkTS |
| Account management| [Application Account Management](https://gitee.com/openharmony/app_samples/tree/master/Account/AppAccountManager)| This sample shows how to register/log in to an application and set the account information to demonstrate application account management.| ArkTS |
| ArkUI | [web](https://gitee.com/openharmony/app_samples/tree/master/ETSUI/Web)| This sample shows the function pages of the **\<Web>** component.| ArkTS |
| ArkUI | [Drag](https://gitee.com/openharmony/app_samples/tree/master/ETSUI/Drag)| This sample shows the drag operation function.| ArkTS |
| ArkUI | [Animation](https://gitee.com/openharmony/app_samples/tree/master/ETSUI/ArkUIAnimation)| This sample demonstrates the effect of the **AnimatorProperty** and **Explicit Animation**.| ArkTS |
| Data management| [Querying the DDM Result Set](https://gitee.com/openharmony/app_samples/tree/master/data/DDMQuery)| This sample shows how to create a query object to query data in a key-value (KV) store and obtain the result set in distributed data management (DDM).| ArkTS |
| Data management| [ArkTS RDB](https://gitee.com/openharmony/app_samples/tree/master/data/DistributedRdb) | This sample shows how to use a relational database (RDB) in ArkTS, including adding, deleting, modifying, and querying data. | ArkTS |
| Common event and notification| [Reminder Agent](https://gitee.com/openharmony/app_samples/tree/master/Notification/AlarmClock)| This sample shows how to use the reminder agent by simulating an alarm clock.| ArkTS |
| Common event and notification| [Event notification](https://gitee.com/openharmony/app_samples/tree/master/Notification/Emitter)| This sample shows the in-process event notification. After a user selects an offering and submits an order, the selected offering is displayed in the order list.| ArkTS |
| Connectivity| [RPC](https://gitee.com/openharmony/app_samples/tree/master/Communication/RPC)| This sample shows the data exchange between the frontend and backend of a device. After the offering and quantity are selected at the frontend, the backend calculates the result and displays it at the frontend.| ArkTS |
| Connectivity| [WLAN](https://gitee.com/openharmony/app_samples/tree/master/Communication/Wlan) | This sample shows how to use WLAN with ArkTS, including disabling and enabling the WLAN, scanning the WLAN and obtaining the scanning result, listening for WLAN status and Wi-Fi connection status, obtaining the IP address, country code, and checking whether the device supports WLAN features. | ArkTS |
| Multimedia| [Recorder](https://gitee.com/openharmony/app_samples/tree/master/media/Recorder)| This sample shows how to use audio recording and playback of the media service.| ArkTS |
| Multimedia| [Multimedia](https://gitee.com/openharmony/app_samples/tree/master/media/MultiMedia)| This demo shows how to invoke the camera to take photos in ArkTS and how to use the **MediaLibrary** APIs to add, delete, modify, and query media files. | ArkTS |
For more information, visit [Samples](https://gitee.com/openharmony/app_samples).
...
...
@@ -231,13 +231,13 @@ For more information, visit [Samples](https://gitee.com/openharmony/app_samples)
| Codelab Name | Introduction | Programming Language|
| [Distributed Authentication](https://gitee.com/openharmony/codelabs/tree/master/Distributed/GameAuthOpenH)| This codelab shows how to develop a distributed game authentication application in JS and how to use the distributed startup, **DeviceManager** objects, and device attribute display interfaces.| JS |
| [Distributed Game Controller](https://gitee.com/openharmony/codelabs/tree/master/Distributed/HandleGameApplication)| This codelab shows how to develop a game controller in eTS. By leveraging the distributed capabilities, one development board is used as the game controller, and another development board is used as the game server.| eTS |
| [Distributed Jigsaw Puzzle](https://gitee.com/openharmony/codelabs/tree/master/Distributed/OpenHarmonyPictureGame)| This codelab shows how to develop a jigsaw puzzle. In this development, the RPC is used for cross-device communication, and **CommonEvent** is used to implement communication between the Service ability and FA.| eTS |
| [Distributed Control](https://gitee.com/openharmony/codelabs/tree/master/Distributed/RemoteControllerETS)| This codelab shows how to develop a distributed control in eTS. By leveraging the distributed capabilities, one development board is used as the TV, and another development board is used as the remote control.| eTS |
| [Audio Recording](https://gitee.com/openharmony/codelabs/tree/master/Media/Audio_OH_ETS)| This codelab shows how to use **AudioRecorder** to record an audio file and use **AudioPlayer** to play the recorded audio.| eTS |
| [Notepad](https://gitee.com/openharmony/codelabs/tree/master/Data/NotePad_OH_ETS)| This codelab shows how to develop a notepad in eTS. You can create, delete, and favorite notes, and use the lightweight database to store data persistently.| eTS |
| [Distributed Mail Editing](https://gitee.com/openharmony/codelabs/tree/master/Distributed/OHMailETS)| This codelab shows how to develop the distributed email editing function. By leveraging the distributed capabilities, a remote device in the same LAN and with the same login account can be started, and email editing can be continued on the remote device.| eTS |
| [Third-party Library](https://gitee.com/openharmony/codelabs/tree/master/ThirdPartyComponents/VCardDemo)| This codelab shows how to use vcard, a third-party library used in OpenHarmony to write and read contact data in a specified format (file with the extension name **vcard**).| eTS |
| [Distributed Game Controller](https://gitee.com/openharmony/codelabs/tree/master/Distributed/HandleGameApplication)| This codelab shows how to develop a game controller in ArkTS. By leveraging the distributed capabilities, one development board is used as the game controller, and another development board is used as the game server. | ArkTS |
| [Distributed Jigsaw Puzzle](https://gitee.com/openharmony/codelabs/tree/master/Distributed/OpenHarmonyPictureGame)| This codelab shows how to develop a jigsaw puzzle. In this development, the RPC is used for cross-device communication, and **CommonEvent** is used to implement communication between the Service ability and FA.| ArkTS |
| [Distributed Control](https://gitee.com/openharmony/codelabs/tree/master/Distributed/RemoteControllerETS)| This codelab shows how to develop a distributed control in ArkTS. By leveraging the distributed capabilities, one development board is used as the TV, and another development board is used as the remote control. | ArkTS |
| [Audio Recording](https://gitee.com/openharmony/codelabs/tree/master/Media/Audio_OH_ETS)| This codelab shows how to use **AudioRecorder** to record an audio file and use **AudioPlayer** to play the recorded audio.| ArkTS |
| [Notepad](https://gitee.com/openharmony/codelabs/tree/master/Data/NotePad_OH_ETS)| This codelab shows how to develop a notepad in ArkTS. You can create, delete, and favorite notes, and use the lightweight database to store data persistently. | ArkTS |
| [Distributed Mail Editing](https://gitee.com/openharmony/codelabs/tree/master/Distributed/OHMailETS)| This codelab shows how to develop the distributed email editing function. By leveraging the distributed capabilities, a remote device in the same LAN and with the same login account can be started, and email editing can be continued on the remote device.| ArkTS |
| [Third-party Library](https://gitee.com/openharmony/codelabs/tree/master/ThirdPartyComponents/VCardDemo)| This codelab shows how to use vcard, a third-party library used in OpenHarmony to write and read contact data in a specified format (file with the extension name **vcard**).| ArkTS |
@@ -45,9 +45,9 @@ BLE connection parameters can be configured, and the connection process is optim
| Software/Tool| Version| Remarks|
| -------- | -------- | -------- |
| OpenHarmony | 3.2 Beta5 | NA |
| Public SDK | Ohos_sdk_public 3.2.10.6 (API Version 9 Beta5) | This toolkit is intended for application developers and does not contain system APIs that require system permissions.It is provided as standard in DevEco Studio.|
| (Optional) HUAWEI DevEco Studio| *To be released*| Recommended for developing OpenHarmony applications|
| (Optional) HUAWEI DevEco Device Tool| *To be released*| Recommended for developing OpenHarmony smart devices|
| Public SDK | Ohos_sdk_public 3.2.10.6 (API Version 9 Beta5) | This toolkit is intended for application developers and does not contain system APIs that require system permissions.<br>It is provided as standard in DevEco Studio.|
@@ -137,9 +137,9 @@ This version has the following updates to OpenHarmony 3.2 Beta4.
### SDK Updates
From this version, only the public SDK is released. It can also be downloaded through DevEco Studio.
From this version on, only the public SDK is released. You can obtain the public SDK from the mirror or download it from DevEco Studio for your application development.
To use the full SDK, you must download the source code, build the source code, and switch to the full SDK. For details, see [Guide to Building Full SDK](../application-dev/quick-start/full-sdk-compile-guide.md).
To use the full SDK that contains system APIs, you must download the full code, compile and build an SDK file, and switch to the full SDK on DevEco Studio. For details about how to compile the full SDK using the source code, see [Full SDK Compilation Guide](../application-dev/quick-start/full-sdk-compile-guide.md).
### Feature Updates
...
...
@@ -162,10 +162,13 @@ To use the full SDK, you must download the source code, build the source code, a
| File storage| - Unified URI processing is added for application files.<br>- Temporary authorization and unified open entry are added for user data.<br>The following requirements are involved:<br>I687C8 [New capability] Unified URI processing for application files<br>I64U8W [Basic capability] Temporary authorization and unified open entry for user data| NA |
| Ability framework| - The restart of resident processes is optimized.<br>- The widget database can be switched.<br>- The asynchronous **onConnected** lifecycle is provided.<br>The following requirements are involved:<br>I65M3F [Basic capability] ShellCommand execution control<br>I65V83 [Basic capability] ServiceExtensionAbility support for asynchronous **onConnected** lifecycle<br>I61H21 [Basic capability] Change of the local widget database<br>I63UJ5 [Ability] [ability_runtime] Exception handling in API version 8 and earlier versions<br>I6BDCW [Basic capability] Forbidden to load code in the **data** directory during application loading<br>I6BDDU [Basic capability] Default ability launch mode of the FA model: Standard<br>I6BDE2 [Basic capability] Protection against frequent restart of resident applications| NA |
For details about the API changes, see [API Differences](api-change/v3.2-beta5/Readme-EN.md).
For details about the API changes of each subsystem, see [Changelogs](changelogs/v3.2-beta5/Readme-EN.md).
### Chip and Development Board Adaptation
For details about the adaptation status, see [SIG-Devboard](https://gitee.com/openharmony/community/blob/master/sig/sig-devboard/sig_devboard.md).
For details about the adaptation status, see [SIG-Devboard](https://gitee.com/openharmony/community/blob/master/sig/sig_devboard/sig_devboard.md).
### Samples
...
...
@@ -174,10 +177,10 @@ For details about the adaptation status, see [SIG-Devboard](https://gitee.com/op
| Multimedia subsystem| [Screen Recording](https://gitee.com/openharmony/applications_app_samples/tree/OpenHarmony-3.2-Release/media/Scan)| This sample illustrates how to implement screen (including audio) recording. The main task of screen recording is to create a virtual screen, capture graphics frames displayed on the screen, encode the video, and save the encoded video to a file.| ArkTS|
| ArkUI | [Home Page of the Application Market](https://gitee.com/openharmony/applications_app_samples/tree/OpenHarmony-3.2-Release/MultiDeviceAppDev/AppMarket) | This sample shows a typical main page of the application market. The page has different display effects in the small window and large window, reflecting the capability of one-time development for multi-device deployment.| ArkTS|
| File management subsystem| [File Management](https://gitee.com/openharmony/applications_app_samples/tree/OpenHarmony-3.2-Release/FileManager/FileIo)| This sample demonstrates file management. It uses the [mediaLibrary](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis/js-apis-medialibrary.md), [userFileManager](https://gitee.com/openharmony/docs/blob/master/en/application-dev/reference/apis/js-apis-userfilemanager.md) and [fileio](https://gitee.com/openharmony/docs/blob/master/en/application-dev/reference/apis/js-apis-fileio.md) APIs to add and access media library files and files in the application sandbox.| ArkTS|
| Ability framework| [AccessibilityExtensionAbility](https://gitee.com/openharmony/applications_app_samples/commits/OpenHarmony-3.2-Release/ability/AccessibilityExtAbility)| This sample shows an app developed using the AccessibilityExtensionAbility component. It uses multiple APIs to implement easier interaction.| ArkTS|
| Multimedia subsystem| [QR code scanning](https://gitee.com/openharmony/applications_app_samples/tree/OpenHarmony-3.2-Beta5/media/Scan)| The sample app is used to scan QR code. With the app, you can select a QR code image from a folder to identify the QR code information.| ArkTS|
| ArkUI | [Home Page of the Application Market](https://gitee.com/openharmony/applications_app_samples/tree/OpenHarmony-3.2-Beta5/MultiDeviceAppDev/AppMarket)| This sample shows the home page of the application market. The page has different display effects in the small window and large window, reflecting the capability of one-time development for multi-device deployment.| ArkTS|
| File management subsystem| [File Management](https://gitee.com/openharmony/applications_app_samples/tree/OpenHarmony-3.2-Beta5/FileManager/FileIo)| This sample demonstrates file management. It uses the [mediaLibrary](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis/js-apis-medialibrary.md), [userFileManager](https://gitee.com/openharmony/docs/blob/master/en/application-dev/reference/apis/js-apis-userFileManager.md) and [fileio](https://gitee.com/openharmony/docs/blob/master/en/application-dev/reference/apis/js-apis-fileio.md) APIs to add and access media library files and files in the application sandbox.| ArkTS|
| Ability framework| [Gallery Widget](https://gitee.com/openharmony/applications_app_samples/tree/OpenHarmony-3.2-Beta5/ability/GalleryForm)| This sample demonstrates the display of **Gallery** images in a widget and periodic update of the widget.| ArkTS|
For more information, visit [Samples](https://gitee.com/openharmony/applications_app_samples).
...
...
@@ -208,4 +211,3 @@ For more information, visit [Samples](https://gitee.com/openharmony/applications
| I6BRTS | Invoking the **rdb::executeSql** interface may cause memory leakage.| Memory leakage occurs when the **rdb::executeSql** interface is repeatedly called during initialization. This interface is called only during application initialization, and therefore the impact of memory leakage is controllable.| 2023-02-10|
| I6AZ4T | Memory leakage exists for applications with the **\<textInput>** component.| Memory leakage occurs when the **\<textInput>** component is repeatedly called at a high frequency. The root cause is that the memory is not reclaimed during the calling of the third-party library flutter. We will first check whether the problem is caused by the open-source flutter component.| 2023-02-10|
To ensure smooth version evolution and continuous stability and reliability of historical versions, the OpenHarmony community periodically pulls branches such as Long Term Support (LTS), Release, and Beta from Master and manages them based on the OpenHarmony lifecycle definition.