10fbfc30aSopenharmony_ci# CalendarData
20fbfc30aSopenharmony_ci
30fbfc30aSopenharmony_ci## Introduction
40fbfc30aSopenharmony_ci
50fbfc30aSopenharmony_ciCalendarData is a preset application in OpenHarmony. It allows users to add, delete, modify, and query calendars.
60fbfc30aSopenharmony_ci
70fbfc30aSopenharmony_ci## Directory Structure
80fbfc30aSopenharmony_ci```
90fbfc30aSopenharmony_ci├─AppScope
100fbfc30aSopenharmony_ci│  │  
110fbfc30aSopenharmony_ci│  └─resources                       # Resource files
120fbfc30aSopenharmony_ci├─common
130fbfc30aSopenharmony_ci│  │  
140fbfc30aSopenharmony_ci│  └─src
150fbfc30aSopenharmony_ci│      └─main  
160fbfc30aSopenharmony_ci│          └─ets                     # Common methods           
170fbfc30aSopenharmony_ci├─datamanager 
180fbfc30aSopenharmony_ci│  └─src
190fbfc30aSopenharmony_ci│      └─main
200fbfc30aSopenharmony_ci│          └─ets                     # Data manager                    
210fbfc30aSopenharmony_ci├─dataprovider
220fbfc30aSopenharmony_ci│  └─src
230fbfc30aSopenharmony_ci│      └─main
240fbfc30aSopenharmony_ci│          └─ets                     # Data manager proxy        
250fbfc30aSopenharmony_ci├─datastructure 
260fbfc30aSopenharmony_ci│  └─src
270fbfc30aSopenharmony_ci│      └─main 
280fbfc30aSopenharmony_ci│          └─ets                     # Data structure              
290fbfc30aSopenharmony_ci├─entry
300fbfc30aSopenharmony_ci│  └─src
310fbfc30aSopenharmony_ci│      └─main                        # Application entry         
320fbfc30aSopenharmony_ci├─rrule
330fbfc30aSopenharmony_ci│  └─src
340fbfc30aSopenharmony_ci│      └─main
350fbfc30aSopenharmony_ci│          └─ets                     # Recurrence rule         
360fbfc30aSopenharmony_ci└─signature                          # Certificate file
370fbfc30aSopenharmony_ci```
380fbfc30aSopenharmony_ci
390fbfc30aSopenharmony_ci### Architecture
400fbfc30aSopenharmony_ci
410fbfc30aSopenharmony_ci![](./figures/architecture.png)
420fbfc30aSopenharmony_ci
430fbfc30aSopenharmony_ciAs 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.
440fbfc30aSopenharmony_ci
450fbfc30aSopenharmony_ci## How to Use
460fbfc30aSopenharmony_ci
470fbfc30aSopenharmony_ci### Building based on IDE
480fbfc30aSopenharmony_ci
490fbfc30aSopenharmony_ciOpen a project in DevEco Studio and choose **Build > Build Haps(s)/APP(s) > Build Hap(s)**.
500fbfc30aSopenharmony_ci
510fbfc30aSopenharmony_ci![](./figures/build_haps.png)
520fbfc30aSopenharmony_ci
530fbfc30aSopenharmony_ciAfter 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.)
540fbfc30aSopenharmony_ci
550fbfc30aSopenharmony_ci![](./figures/build_output_dir_release.png)
560fbfc30aSopenharmony_ci
570fbfc30aSopenharmony_ciRun the **hdc_std install "*hap package address*"** command to install the compiled HAP file.
580fbfc30aSopenharmony_ci
590fbfc30aSopenharmony_ci![](./figures/calendar_install.png)
600fbfc30aSopenharmony_ci
610fbfc30aSopenharmony_ci### Building based on OpenHarmony version
620fbfc30aSopenharmony_ci
630fbfc30aSopenharmony_ciIn the root directory of the OpenHarmony source code, run the following command to build the CalendarData separately:
640fbfc30aSopenharmony_ci
650fbfc30aSopenharmony_ci```
660fbfc30aSopenharmony_ci./build.sh --product-name rk3568 --ccache --build-target calendar_data
670fbfc30aSopenharmony_ci```
680fbfc30aSopenharmony_ci
690fbfc30aSopenharmony_ci> **NOTE**
700fbfc30aSopenharmony_ci>
710fbfc30aSopenharmony_ci> --**product-name** specifies the product name, for example, **rk3568**.
720fbfc30aSopenharmony_ci>
730fbfc30aSopenharmony_ci> --**ccache** specifies the cache function used during the compilation.
740fbfc30aSopenharmony_ci>
750fbfc30aSopenharmony_ci> --**build-target** specifies the component to build.
760fbfc30aSopenharmony_ci
770fbfc30aSopenharmony_ci## Constraints
780fbfc30aSopenharmony_ci- Development environments
790fbfc30aSopenharmony_ci   - DevEco Studio for OpenHarmony: version later than 3.1.1.101
800fbfc30aSopenharmony_ci   
810fbfc30aSopenharmony_ci   - OpenHarmony SDK: API version 10
820fbfc30aSopenharmony_ci   
830fbfc30aSopenharmony_ci   For details about the initial DevEco Studio configuration, see the DevEco Studio usage document.
840fbfc30aSopenharmony_ci   
850fbfc30aSopenharmony_ci- Programming language
860fbfc30aSopenharmony_ci   
870fbfc30aSopenharmony_ci   ArkTS
880fbfc30aSopenharmony_ci   
890fbfc30aSopenharmony_ci- Limitations
900fbfc30aSopenharmony_ci   
910fbfc30aSopenharmony_ci   This application can only be run on standard-system devices.
92