| Contributing components | Contributing components<br/> to OpenHarmony | - [HPM Part Overview](hpm-part/hpm-part-about.md)<br/>- [HPM Part Development](hpm-part/hpm-part-development.md)<br/>- [HPM Part Reference](hpm-part/hpm-part-reference.md) |
| Contribution | Contributing components to OpenHarmony | - [HPM Part Overview](hpm-part/hpm-part-about.md)<br/>- [HPM Part Development](hpm-part/hpm-part-development.md)<br/>- [HPM Part Reference](hpm-part/hpm-part-reference.md) |
| Contributing components | Contributing components<br/> to OpenHarmony | - [HPM Part Overview](hpm-part/hpm-part-about.md)<br/>- [HPM Part Development](hpm-part/hpm-part-development.md)<br/>- [HPM Part Reference](hpm-part/hpm-part-reference.md) |
| Contribution | Contributing components to OpenHarmony | - [HPM Part Overview](hpm-part/hpm-part-about.md)<br/>- [HPM Part Development](hpm-part/hpm-part-development.md)<br/>- [HPM Part Reference](hpm-part/hpm-part-reference.md) |
The application framework is provided by OpenHarmony for you to develop OpenHarmony applications. It consists of two modules: ability management framework \(also called the ability framework\) and bundle management framework.
@@ -30,7 +30,7 @@ This function has the following advantages:
2. Set up the environment.
The Kconfiglib required for environment configuration has been embedded in the OpenHarmony hb tool.
The Kconfiglib required for environment configuration has been embedded in the OpenHarmony hb tool. For details on how to install the hb tool, see [Install hb](https://gitee.com/openharmony/docs/blob/master/en/device-dev/quick-start/quickstart-lite-env-setup.md#install-hb).
-[Verifying the YAML File](#section123181432175115)
-[Configuring the YAML File Path](#section123181432175135)
-[Compiling the YAML File](#section123181432175137)
-[Logging and Querying Events](#section123181432175139)
## Overview<a name="section315316685115"></a>
If HiSysEvent logging is required for a component, you need to define a YAML file and [configure the YAML file path](#section123181432175135) in the **bundle.js** file. During compilation, the OpenHarmony compilation framework will use the Python compilation script to parse and verify all the YAML files configured in the **bundle.js** file. On completion, the compilation framework will summarize the configuration information in the YAML files and convert the information into a JSON file named **hisysevent.def**. After that, the compilation framework will put the JSON file to a specified path as the basis for the system to determine whether to log system events.
HiSysEvent provides an API for you to query system events. You can query concerned events by specifying search criteria. For example, for a power consumption module, you can query required system events for analysis.
-[Subscribing to Real-Time System Events](#section1210623418527)
-[Querying Historical System Events](#section1210623418539)
## Overview<a name="section1886702718521"></a>
The HiSysEvent tool is a command line tool preconfigured in the **/system/bin** directory of the system. You can use this tool to subscribe to real-time system events or query historical system vents.
[Design for X](https://en.wikipedia.org/wiki/Design_for_X)\(DFX\) refers to the software design that aims to improve the quality attributes in OpenHarmony. It mainly consists of two parts: design for reliability \(DFR\) and design for testability \(DFT\).
Container components are capable of containing UI components and inherit from **UIViewGroup**. Components that are commonly used and need to contain child components are placed in the container class inheritance structure. For example, you need to call the **Add** function to add information such as time statistics and icons to **UIAnalogClock**.
# Development Guidelines on Layout Container Components<a name="EN-US_TOPIC_0000001052661991"></a>
# Development of Layout Container Components<a name="EN-US_TOPIC_0000001052661991"></a>
Layout container components consist of basic view classes. You can set the view positions to achieve nested and overlapped layouts, set the layout type and margin to standardize the child components in the layout, and call certain functions to implement layout views based on parent and sibling components.
The OpenHarmony graphics subsystem provides you with basic UI and container components, including buttons, images, labels, lists, animators, scroll views, swipe views, fonts, clock, charts, canvas, sliders, and layouts. In addition, this subsystem provides the Design for X \(DFX\) capability to capture screenshots and export the component tree. It also implements features such as component rendering, animation, and input event distribution.
The OpenHarmony security subsystem provides security capabilities that make your applications and devices more secure and help you manage permissions. This subsystem has the following modules:
OpenHarmony provides a comprehensive auto-test framework for designing test cases. Detecting defects in the development process can improve code quality.
This document describes how to use the OpenHarmony test framework.