• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# UIAbility Component Overview
2
3
4## Overview
5
6UIAbility is a type of application component that provides the UI for user interaction.
7
8The following design philosophy is behind UIAbility:
9
101. Native support for [cross-device migration](hop-cross-device-migration.md) and [multi-device collaboration](hop-multi-device-collaboration.md) at the application component level
11
122. Support for multiple device types and window forms
13
14> **NOTE**
15>
16> For details, see [Interpretation of the Application Model](application-model-description.md).
17
18The UIAbility division principles and suggestions are as follows:
19
20UIAbility is the basic unit scheduled by the system and provides a window for applications to draw UIs. An application can contain one or more UIAbility components. For example, for a payment application, you can use two UIAbility components to carry the entry and payment functionalities.
21
22Each UIAbility component instance is displayed as a mission in Recents.
23
24You can develop a single UIAbility or multiple UIAbilities for your application based on service requirements.
25
26- If you want only one mission to be displayed in Recents, use one UIAbility and multiple pages.
27
28- If you want multiple missions to be displayed in Recents or multiple windows to be opened simultaneously, use multiple UIAbilities.
29
30## Privacy Statement Configuration
31
32To enable an application to properly use a UIAbility component, declare the UIAbility name, entry, and tags under [abilities](../quick-start/module-configuration-file.md#abilities) in the [module.json5 configuration file](../quick-start/module-configuration-file.md).
33
34
35```json
36{
37  "module": {
38    ...
39    "abilities": [
40      {
41        "name": "EntryAbility", // Name of the UIAbility component.
42        "srcEntry": "./ets/entryability/EntryAbility.ts", // Code path of the UIAbility component.
43        "description": "$string:EntryAbility_desc", // Description of the UIAbility component.
44        "icon": "$media:icon", // Icon of the UIAbility component.
45        "label": "$string:EntryAbility_label", // Label of the UIAbility component.
46        "startWindowIcon": "$media:icon", // Index of the icon resource file.
47        "startWindowBackground": "$color:start_window_background", // Index of the background color resource file.
48        ...
49      }
50    ]
51  }
52}
53```
54