從零開始開發一款真正能每天使用的散步 App,完整記錄從功能規劃、架構設計到實際開發的過程。內容包含定位、背景追蹤、推薦路線、離線同步、Widget、AI 散步分析與 AI 教練等功能,也會分享實作過程中的設計思考與踩過的坑,完整呈現一款 App 從想法到成品的開發歷程。
昨天已經把散步時間、距離與偏好,轉成 Google Routes 能理解的起點、終點和 waypoint。 但只算出一條能走的道路還不夠。 假設使用者設定:...
如果人在台北,能不能先規劃週末去台南玩的散步路線? 這是一個很常見的情境。例如使用者可能會想搜尋: 台南車站附近有什麼散步路線? 能不能經過公園? 走半小時會...
前面幾天已經完成推薦路線的產生,也知道使用者什麼時候可以開始散步,但真正開始散步後,還需要處理幾個問題: 使用者目前位於推薦路線的哪個位置? 使用者是否已經偏...
前幾天已經能判斷使用者是否走在推薦路線上,也能計算整條推薦路線的完成率。 接下來就要把這些路線狀態實際用在導航上,除了顯示已完成的推薦路段,也要告訴使用者下一個...
前面已經完成自由散步與推薦路線,但真正準備出門時,還有一個很實際的問題: 現在適合散步,不代表 10、30 分鐘後也適合。 如果只顯示目前位置的即時天氣,可能出...
完成散步功能後,我希望可以在適當的時間提醒使用者出去走走,而不是每次都要自己打開 App。 一開始我想得很簡單,不就是每天晚上七點跳一則通知嗎?但仔細想想,每個...
完成了散步功能後,App 已經會保存每一次散步的距離、時間、日期與路線。 歷史紀錄頁可以查看單次散步,例如: 7/20 2.3 km 28 分鐘 7/21...
完成散步統計後,我想再讓這些散步資料有一點實際的用途。 例如使用者第一次完成散步,可以解鎖「第一次散步」;累積散步 10 次,可以解鎖新的成就;連續散步 7 天...
完成散步功能後,我開始測試長時間散步。 剛開始一切都很順,但走久了之後,地圖開始變得不太流暢。 一開始我以為是 React Native Maps 本身效能不好...
目前 SQLite 在散步功能中的角色,主要是保存散步過程中的本地資料。 GPS 更新後會先寫入 SQLite,因此即使暫時沒有網路,也能持續記錄定位。 但離線...