• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# CalendarData
2
3## Introduction
4
5CalendarData is a preset application in OpenHarmony. It allows users to add, delete, modify, and query calendars.
6
7## Directory Structure
8```
9├─AppScope
10│  │
11│  └─resources                       # Resource files
12├─common
13│  │
14│  └─src
15│      └─main
16│          └─ets                     # Common methods
17├─datamanager
18│  └─src
19│      └─main
20│          └─ets                     # Data manager
21├─dataprovider
22│  └─src
23│      └─main
24│          └─ets                     # Data manager proxy
25├─datastructure
26│  └─src
27│      └─main
28│          └─ets                     # Data structure
29├─entry
30│  └─src
31│      └─main                        # Application entry
32├─rrule
33│  └─src
34│      └─main
35│          └─ets                     # Recurrence rule
36└─signature                          # Certificate file
37```
38
39### Architecture
40
41![](./figures/architecture.png)
42
43As a built-in basic application, Calendar implements basic user operations such as querying daily and monthly views and creating and querying calendars. The Calendar APIs provide SQL-free, object-based data read and write capabilities. CalendarData manages calendars, reminders, and data.
44
45## How to Use
46
47### Building based on IDE
48
49Open a project in DevEco Studio and choose **Build > Build Haps(s)/APP(s) > Build Hap(s)**.
50
51![](./figures/build_haps.png)
52
53After the build is complete, a HAP file is generated in **\build\outputs** in the project directory. (If no signature is configured, an unsigned HAP file is generated.)
54
55![](./figures/build_output_dir_release.png)
56
57Run the **hdc_std install "*hap package address*"** command to install the compiled HAP file.
58
59![](./figures/calendar_install.png)
60
61### Building based on OpenHarmony version
62
63In the root directory of the OpenHarmony source code, run the following command to build the CalendarData separately:
64
65```
66./build.sh --product-name rk3568 --ccache --build-target calendar_data
67```
68
69> **NOTE**
70>
71> --**product-name** specifies the product name, for example, **rk3568**.
72>
73> --**ccache** specifies the cache function used during the compilation.
74>
75> --**build-target** specifies the component to build.
76
77## Constraints
78- Development environments
79   - DevEco Studio for OpenHarmony: version later than 3.1.1.101
80
81   - OpenHarmony SDK: API version 10
82
83   For details about the initial DevEco Studio configuration, see the DevEco Studio usage document.
84
85- Programming language
86
87   ArkTS
88
89- Limitations
90
91   This application can only be run on standard-system devices.
92