項目描述:
用戶可以創(chuàng)建最多 6 個健康生活任務(wù)(早起,喝水,吃蘋果,每日微笑,刷牙,早睡),并設(shè)置任務(wù)目標(biāo)、是否開啟提醒、提醒時間、每周任務(wù)頻率。
用戶可以在主頁面對設(shè)置的健康生活任務(wù)進(jìn)行打卡,其中早起、每日微笑、刷牙和早睡只需打卡一次即可完成任務(wù),喝水、吃蘋果需要根據(jù)任務(wù)目標(biāo)量多次打卡完成
主頁可顯示當(dāng)天的健康生活任務(wù)完成進(jìn)度,當(dāng)天所有任務(wù)都打卡完成后,進(jìn)度為 100%,并且用戶的連續(xù)打卡天數(shù)加一。當(dāng)用戶連續(xù)打卡天數(shù)達(dá)到 3、7、30、50、73、99 天時,可以獲得相應(yīng)的成就。成就在獲得時會以動畫形式彈出,并可以在“成就”頁面查看。
用戶可以查看以前的健康生活任務(wù)完成情況。
用戶可通過長按添加 2x2 或 2x4 卡片查看任務(wù)完成情況,具體 ArkTS 卡片實現(xiàn)可以參考文檔:健康生活卡片 (ArkTS)。
掌握能力:
AppStorage:應(yīng)用程序中的單例對象,為應(yīng)用程序范圍內(nèi)的可變狀態(tài)屬性提供中央存儲。
@Observed 和 @ObjectLink:@Observed 適用于類,表示類中的數(shù)據(jù)變化由 UI 頁面管理;@ObjectLink 應(yīng)用于被 @Observed 裝飾類的對象。
@Provide 和 @Consume:@Provide 作為數(shù)據(jù)提供者,可以更新子節(jié)點的數(shù)據(jù),觸發(fā)頁面渲染。@Consume 檢測到 @Provide 數(shù)據(jù)更新后,會發(fā)起當(dāng)前視圖的重新渲染。
Flex:一個功能強(qiáng)大的容器組件,支持橫向布局,豎向布局,子組件均分和流式換行布局。List:List 是很常用的滾動類容器組件之一,它按照水平或者豎直方向線性排列子組件, List 的子組件必須是 ListItem,它的寬度默認(rèn)充滿 List 的寬度。
TimePicker:TimePicker 是選擇時間的滑動選擇器組件,默認(rèn)以 00:00 至 23:59 的時間區(qū)創(chuàng)建滑動選擇器。
Toggle:組件提供勾選框樣式、狀態(tài)按鈕樣式及開關(guān)樣式。
關(guān)系型數(shù)據(jù)庫(Relational Database,RDB):一種基于關(guān)系模型來管理數(shù)據(jù)的數(shù)據(jù)庫。
首選項:首選項為應(yīng)用提供 Key-Value 鍵值型的數(shù)據(jù)處理能力,支持應(yīng)用持久化輕量級數(shù)據(jù),并對其修改和查詢。后臺代理提醒:后臺代理提醒功能主要提供后臺提醒通知發(fā)布接口,開發(fā)者可調(diào)用這些接口創(chuàng)建定時提醒,包括倒計時、日歷、鬧鐘三種提醒類型。
ArkTS 卡片:卡片框架的運作機(jī)制分三大模塊:卡片使用方、卡片管理服務(wù)和卡片提供方??ㄆ褂梅剑贺?fù)責(zé)卡片的創(chuàng)建、刪除、請求更新以及卡片服務(wù)通信。
卡片管理服務(wù):負(fù)責(zé)卡片的周期性刷新、卡片緩存管理、卡片生命周期管理以及卡片使用對象管理。
卡片提供方:提供卡片顯示內(nèi)容的應(yīng)用,控制卡片的顯示內(nèi)容、控件布局以及控件點擊事件。