黃濤 全麗莉



關鍵詞:移動端GPS;運動打卡;App;跨平臺開發
中圖分類號:TP311 文獻標識碼:A
文章編號:1009-3044(2023)03-0034-03
在全民健身的大環境下,當前越來越多的人開始了健身運動,作為充滿活力與熱情的年輕大學生們更是如此。其中跑步是各類健身項目中門檻最低,最受歡迎的項目。隨著移動互聯網的迅猛發展和智能手機的普及,各類輔助跑步的App騰空出世,這讓跑者能夠借助科技的力量更好地融入跑步運動。與傳統體育鍛煉方式相比,智能化跑步模式更加趣味性、互動性,改變了體育參與人群的運動方式和運動行為[1]。跑步App安置于智能設備中,通過設備內置的運動傳感器、智能芯片和GPS全球定位技術追蹤運動路線,運用算法計算步數、卡路里燃燒等數據,并將結果分享于社交平臺上[2]。
1 智慧樂跑App 功能及特點
智慧樂跑App是一款基于移動端GPS和傳感器的運動打卡App,可用于輔助高校體育課程的實施,為在校大學生制定合理的跑步運動計劃和提供豐富的健康運動知識。其主要功能模塊包括注冊登錄(注冊&登錄)、跑步(跑步打卡&地理圍欄&跑步記錄)、社區(健康百科&精彩體育)、個人中心(運動記錄查看&作業查看&個人資料修改),具體如圖1所示。
智慧樂跑App的特點主要有針對性強(輔助高校體育課程的實施)、易于使用(操作界面簡潔友好,無任何學習成本)、跨平臺(App可發布到多個移動平臺,比如Android,IOS,各類小程序)、專業性強(跑步數據精準、健康和體育信息豐富)。
2 智慧樂跑App技術選型及系統架構
目前主流的移動操作系統主要是Android和iOS兩大陣營[3]。在設計之初的需求分析時由于確定智慧樂跑App需要具備跨平臺的特點,所以在技術選型時必須首要考慮App的跨平臺開發,同時為降低開發和維護成本,需要使用一個統一的平臺,開發一次、多端運行[4]。因此App的開發技術選用目前主流的uni-app方案。uni-app 是一個使用Vue.js 開發所有前端應用的框架,在項目的整個開發過程中開發者只需要編寫一套代碼,就可以通過編譯時的不同設置將應用發布到目前主流的各類移動平臺,比如Android、iOS、各種小程序等。同時通過條件編譯可優雅地在一個項目里調用各平臺的特色功能[5]。
智慧樂跑系統架構如圖2所示。App端使用uniapp開發,支持多個移動平臺,服務端使用PHP開發并放在公有云上,數據庫使用MySQL數據庫。
3 智慧樂跑App 設計
智慧樂跑App的核心模塊是跑步模塊,下面分別介紹跑步打卡、地理圍欄和跑步記錄的設計。
3.1 跑步打卡設計
跑步打卡模塊主要包含跑步跟蹤與拍照打卡兩子模塊。跑步跟蹤子模塊需要在跑步過程中連續實時獲取移動端GPS數據并同步繪制在地圖上,形成實時運動軌跡。拍照打卡子模塊在跑步開始5分鐘之后進行,會調用移動端的震動傳感器和聲音傳感器提醒學生打卡并自動打開相機讓學生拍照并上傳服務端。
3.2 地理圍欄設計
地理圍欄功能可以由教師設置學校里的特定范圍讓學生完成跑步任務,以此確保學生跑步時的安全。服務端定位到學校位置并在地圖上設置跑步范圍,App端在學生跑步過程中實時將獲取的GPS數據上傳服務端并由服務端實時判斷學生跑步路線是否越界,如果越界則主動提醒學生,結束本次跑步并上傳數據。
3.3 跑步記錄設計
App端每次跑步結束后會自動上傳本次跑步信息到服務端,后期在App中需要查看學生跑步記錄時則向服務端對應功能接口請求數據即可。除了使用列表展示每條跑步記錄外,學生還可以詳細查看每條跑步記錄的具體信息,包括地圖上的運動軌跡、距離、配速、時長和消耗卡路里等。
4 智慧樂跑App實現
根據上面跑步打卡、地理圍欄和跑步記錄的設計,下面分別介紹其實現。
4.1 跑步打卡實現
在uni-app中使用高德地圖插件實現跑步過程中連續實時獲取移動端GPS數據并同步繪制在地圖上的功能。App中用到的GPS數據主要是經緯度坐標。關鍵代碼片段如圖3所示。
4.2 地理圍欄實現
服務端使用百度地圖插件進行地理圍欄設置,App端通過uni-app中的高德地圖插件獲取GPS數據并通過HTTP POST請求向服務端提供的API接口傳送位置數據并解析服務端返回的判斷結果。如果服務端判斷App 端越界,則App端使用uni-app中的showModal方法彈出模態對話框進行提示并完成后續動作。關鍵代碼片段如圖4所示。
4.3 跑步記錄實現
跑步結束后App 端使用uni-app 中的uploadFile方法上傳跑步數據,其中包括打卡照片、學號、用戶名、本次跑步時間、配速、里程、路徑坐標等信息。使用uni-app中的request方法向服務端提供的API接口發送HTTP POST請求獲取跑步記錄列表數據或某一條記錄的詳細數據。關鍵代碼片段如圖5所示。
4.4 實現效果展示
跑步模塊主要界面效果如圖6所示。
5 結束語
智慧樂跑App是使用跨平臺解決方案調用移動端GPS和傳感器實現運動監測記錄的一種嘗試,由于文章篇幅有限,只介紹了跑步核心模塊的設計與實現。后期將考慮基于移動端豐富的各類傳感器,在已有功能的基礎上實現更多的運動項目打卡功能,增強App的功能性。