📢 重磅福利!参与活动赢好礼,马克杯、鼠标垫贴纸、8月1日-12月31日等你来!
点击链接: 华为开发者学堂
场景介绍
添加运动计划日历提醒是运动健康类应用中高频使用场景之一。
本示例基于Grid组件构建自定义日历,实现在选定日期添加运动计划提醒且同步至系统日历功能,并利用RdbStore对日历计划进行持久化存储。
实现思路
- 利用Grid组件构建自定义日历。
- GridRow({ columns: 7 }) {
- ForEach() => {
- GridCol() {
- CalendarItem({
- // 日历组件
- })
- }
- }, (item: HmCalendarItem) => JSON.stringify(item))
- }
- 点击选定日期添加日历计划提醒。
- .bindSheet(this.isShowSheet, physiologicalSheet({
- currentDate: this.currentDate,
- sheetClickType: this.sheetClickType,
- cancel: () => {
- this.sheetCancel()
- },
- confirm: async () => {
- }
- })
- 利用RdbStore实现持久化存储。
- export class RDBStoreUtil {
- objectiveRDB?: relationalStore.RdbStore;
- async createObjectiveRDB(context: Context) {
- await this.createNoteTable()
- }
- }
约束与限制
- 本示例支持API Version 16 Release及以上版本。
- 本示例支持HarmonyOS 5.0.4 Release SDK及以上版本。
- 本示例需要使用DevEco Studio 5.0.4 Release及以上版本进行编译运行。
权限说明
- 添加、移除或更改日历活动权限:ohos.permission.WRITE_CALENDAR。
- 读取日历信息权限:ohos.permission.READ_CALENDAR。
工程目录
- ├──entry/src/main/ets // 代码区
- │ ├──component
- │ │ ├──MatterItem.ets // 事项组件
- │ │ ├──MyCalendarViewCard.ets // 日历组件
- │ │ └──PhysiologicalSheet.ets // 表单
- │ ├──entryability
- │ │ └──EntryAbility.ets
- │ ├──entrybackupability
- │ │ └──EntryBackupAbility.ets
- │ ├──model
- │ │ ├──DataModel.ets // 模型类
- │ │ └──DataSource.ets // 模型类
- │ ├──pages
- │ │ ├──Index.ets // 首页
- │ │ └──MyCalendar.ets // 日历组件
- │ ├──utils
- │ │ ├──AboutEvent.ets // 添加系统日程
- │ │ ├──DateUtil.ets // 日期处理工具类
- │ │ ├──RDBStoreUtil.ets // 数据库
- │ │ └──RequestCalendarPermission.ets // 系统日历权限
- │ └──view
- │ ├──MyPlan.ets // 计划组件
- │ ├──MyCalendarView.ets // 日历组件
- │ └──Physiological.ets // 路由页
- └──entry/src/main/resources // 应用资源目录
1532

被折叠的 条评论
为什么被折叠?



