项目描述:
用户可以创建最多 6 个健康生活任务(早起,喝水,吃苹果,每日微笑,刷牙,早睡),并设置任务目标、是否开启提醒、提醒时间、每周任务频率。
用户可以在主页面对设置的健康生活任务进行打卡,其中早起、每日微笑、刷牙和早睡只需打卡一次即可完成任务,喝水、吃苹果需要根据任务目标量多次打卡完成
主页可显示当天的健康生活任务完成进度,当天所有任务都打卡完成后,进度为 100%,并且用户的连续打卡天数加一。当用户连续打卡天数达到 3、7、30、50、73、99 天时,可以获得相应的成就。成就在获得时会以动画形式弹出,并可以在“成就”页面查看。
用户可以查看以前的健康生活任务完成情况。
用户可通过长按添加 2x2 或 2x4 卡片查看任务完成情况,具体 ArkTS 卡片实现可以参考文档:健康生活卡片 (ArkTS)。
掌握能力:
AppStorage:应用程序中的单例对象,为应用程序范围内的可变状态属性提供中央存储。
@Observed 和 @ObjectLink:@Observed 适用于类,表示类中的数据变化由 UI 页面管理;@ObjectLink 应用于被 @Observed 装饰类的对象。
@Provide 和 @Consume:@Provide 作为数据提供者,可以更新子节点的数据,触发页面渲染。@Consume 检测到 @Provide 数据更新后,会发起当前视图的重新渲染。
Flex:一个功能强大的容器组件,支持横向布局,竖向布局,子组件均分和流式换行布局。List:List 是很常用的滚动类容器组件之一,它按照水平或者竖直方向线性排列子组件, List 的子组件必须是 ListItem,它的宽度默认充满 List 的宽度。
TimePicker:TimePicker 是选择时间的滑动选择器组件,默认以 00:00 至 23:59 的时间区创建滑动选择器。
Toggle:组件提供勾选框样式、状态按钮样式及开关样式。
关系型数据库(Relational Database,RDB):一种基于关系模型来管理数据的数据库。
首选项:首选项为应用提供 Key-Value 键值型的数据处理能力,支持应用持久化轻量级数据,并对其修改和查询。后台代理提醒:后台代理提醒功能主要提供后台提醒通知发布接口,开发者可调用这些接口创建定时提醒,包括倒计时、日历、闹钟三种提醒类型。
ArkTS 卡片:卡片框架的运作机制分三大模块:卡片使用方、卡片管理服务和卡片提供方。卡片使用方:负责卡片的创建、删除、请求更新以及卡片服务通信。
卡片管理服务:负责卡片的周期性刷新、卡片缓存管理、卡片生命周期管理以及卡片使用对象管理。
卡片提供方:提供卡片显示内容的应用,控制卡片的显示内容、控件布局以及控件点击事件。