如何便捷記錄喝水?

概要
隨著科技進步,智慧手機及手錶幾乎成為每個人的標配。因為有了這些隨身裝置,可以隨時測量同時紀錄個人健康(如心跳、步數、運動量、睡眠...)。但仍有一些項目必須由自己主動輸入,包含身體測量(如身高、體重、腰圍...)及每日攝入(如營養素、水份、咖啡因...)。
為了促進自己的健康同時學習初階程式邏輯,從最簡單的紀錄喝水開始。雖然有琳瑯滿目的喝水 App ,但利用 iOS 內建的捷徑就可以辦到,還可以百分百客製化!!
分享我日常使用的捷徑。簡便,減少阻力建立習慣,習慣成自然。

搭建架構
結合專案管理 ✕ 程式邏輯 ✕ 極簡美學的思考方式,把喝水日常視為專案,視覺化呈現目前進度與預定進度,清楚秒懂。
每次紀錄喝水可以即時反饋,透過計算當前已喝水比例與已經過時間比例對比顯示,呈現當前喝水進度。
百分百客製化包含:
- 設定個人常用水杯容量
- 依個人體重做為計算喝水量基準
- 設定個人每日活動時間
LET'S MAKE IT!

今日喝水量
- Step 1.1
在列表中設定個人常用水杯容量。怎麼知道自己水杯多大呢?可以用常見600ml瓶裝水測量,半瓶就是300ml。項目 0 是用來查看當下喝水進度,不紀錄。 - Step 1.2
這裡使用條件判斷式來記錄喝水量,如果是 0 則跳過紀錄。 - Step 1.3
為了避免空資料(null)產生錯誤,加入查詢今日喝水紀錄邏輯:若無,則寫入 0 。 - Step 1.4
加總今日所有喝水紀錄。

每日喝水量
- Step 2.a (v1適用)
依個人體重計算每日喝水總量,預設採 35ml/kg 計算(合理範圍 30~40ml/kg)。在你養成規律紀錄喝水同時關心體重。如果沒有體重紀錄會提示輸入。 - Step 2.b (v2、v3適用)
手錶watchOS執行前步驟有BUG,分支版本將每日喝水總量採個人固定數值,預設採 75x35≒ 2600ml。

喝水比及時間比
隨著時間過去,喝水量應該等比上升,用喝水量%與活動時間%比較做為判斷依據。
- Step 3.1
目前累計喝水量與今日總喝水目標相比。 - Step 3.2
從個人起床到個人睡覺,是一整天活動總時長,預設起床 6:00,睡覺 22:00。 - Step 3.3
從個人起床到現在,已經過去時間時長。 - Step 3.4
已經過活動時間與一整天活動時間相比。 - Step 3.5
增加條件判斷,如果因為失眠、熬夜在活動時間以外記錄喝水,加入提示休息!

比例轉換辭典
iOS捷徑沒辦法生成圖表,在限制下改用符號辭典來對應模擬進度條。進度條以10個級距設計,對應 0% ~ 100% 情形。
- Step 4.a(v1、v2適用)
實際進度條選用符號對應數值:
⚪=0, 🟡=10, 🟠=20
預定進度條選用符號對應數值:
⚪=0, 🟤=10, ⚫=20

顯示進度條
- Step 5.a
把前面變數放到顯示結果裡面,區分未達標及達標兩種情境,顯示不同訊息。
成果分享
-
v1:採
個人體重計算每日總喝水量,文字符號呈現,手錶watchOS不適用 -
v2:採
個人固定數值計算每日總喝水量,文字符號呈現,手機/手錶適用

顯示環狀圖
除了採用數值轉換辭典顯示方式,還可以透過第三方開源圖表API:QuickChart來產生圖表,缺點是需要網路。
- Step 4.b
把相關變數取代URL解碼後的文字,再送出URL即可取得圖表。
成果分享
- v3:採
個人固定數值計算每日總喝水量,圖表呈現,手機/手錶適用,需連網
...
...
學習思考 × 創作美好 × 覺察映照
能幫上你,請我喝杯咖啡是最好的鼓勵!
