孫寒飛 蒲婧
摘要:隨著社會的發展體育在滿足人民日益增長的美好生活需要方面發揮著不可替代的作用。全民健身已然到來,鍛煉成為了我們的一種生活方式,然而據我們在大學中調研情況來看,大多數學生身體素質并不達標。導致這種情況原因有很多,但其中一個重要原因是沒有一個科學的運動計劃的制定。因此我們制作了這樣一個APP。本文研究的運動達標APP主要包括登錄注冊、我的目標、社區、教學、運動排行榜、我的等功能模塊,主要面向大學生用戶,支持運動目標的制定,運動社區交流,健身教學視頻的學習,運動排行榜點贊,及個人信息的修改等功能。本文是基于android操作系統,開發出一款android運動達標客戶端應用程序,通過Eclipse,Apache Tomcat9.0,Mysql,三者共同作用開發出的android客戶端手機軟件。此APP使用的是面向對象的語言java編譯語言,并采用了Spring MVC框架。開發此軟件會給同學們制定一個合理的標準,使學生不會感到厭倦的情況下從而能堅持每天的運動,提高學生的身體素質,保持良好的生活狀態,因而我們設計此APP來實現這一構想。
關鍵詞:Android MVC;運動達標;交流平臺
2019年9月17日國務院辦公廳印發《關于促進全民健身和體育消費推動體育產業高質量發展的意見》。其中指出,體育產業在滿足人民日益增長的美好生活需要方面發揮著不可替代的作用。
據我們在本校和其他院校的學生調研的情況來看,我們學生大多的身體素質都不達標,這其中與手機有關。許多人的大學是頹廢的,無聊而刷“朋友圈”“看點”,追劇。使人們久坐不運動,從而使人們的身體素質逐漸下降。形成這一不良現象的原因一個因素就是我們的運動標準達標評定制度較為單一。其中體育課程教學缺乏一體化設計,導致學生運動技能水平低,直接影響學生對體育鍛煉的參與熱情,影響著體育鍛煉習慣的養成。不能以多樣化的形式較為綜合的檢測學生運動是否達標。另一因素就是由于多樣的原因致使大多數學生并沒有掌握一兩項運動技能,致使人們的運動積極性并不高。僅僅靠體測并不能提高人們的積極性。同時,自律性差。學院強制要求也不能從源頭讓人們提高積極性。如果我們換一種方式,比如每天跑5圈,走10000步等要求堅持一學期就不用體測,是不是可以換種方式提高人們的積極性呢?我們正是缺少一個這樣的APP。
開發此軟件會給同學們制定一個合理的標準,使學生不會感到厭倦的情況下從而能堅持每天的運動,提高學生的身體素質,保持良好的生活狀態。如果用戶到瀏覽器端進行搜索,會受到網速的影響,相對與客戶端推送來說,手機客戶端簡化了煩瑣的搜索過程,將信息直接打包呈遞給用戶,滿足了學生的需求,給用戶帶來了便捷和更好的體驗。如果人們每天能堅持運動就能使人們走出宿舍,使人們自律,能控制好學習和娛樂的度,使老師上課更加輕松,會有更好的學風,從而使大學生活更加精彩。
1 需求分析
1.1 需求提出
根據用戶對軟件需求,軟件主要目的是:以手機客戶端的形式建立一套完整的個人日常運動評價體系,該軟件會結合不同學生的課表作息時間來制定一個合理的體系進而建立一個每日目標,并通過手機檢測使人們知道自己一天的運動量,以及是否達標。同時提供相關運動的教學視頻。主要功能包括:每日目標、社區、教學、運動排行榜、我的。
1.2 需求描述
1.2.1 功能描述
每日目標功能主要是對學生進行私人定制每日運動量的目標并檢測學生的運動是否達標;教學功能為運動者提供教學視頻;社區功能中人們能發一些運動有趣的帖子,為運動者們提供交流;運動排行榜功能主要是顯示今天好友的運動量排行榜,可以互相點贊等;我的功能修改個人信息。
1.2.2 性能描述
該軟件占用的內存較小,能夠在絕大多數Android的手機中流暢運行兼容性好,對Ram需求較小,會有一定的延遲,但基本可以保證流暢運行。
1.2.3 數據描述
此APP的數據有多種形式,其中數據主要包括:視頻、PPT、用戶信息、其他拓展運動知識資料。各數據類型建立相應數據子庫,存放于數據庫。
1.3 需求評審
1.3.1 確定系統邊界
整個軟件只針對大學的各專業。輸出信息類型只包括視頻和文本。軟件提供需求提出的功能,而具體的功能需要用戶來選擇。
1.3.2 將來用戶提出的需求
根據用戶將來可能提出的需求,在設計軟件時,增加其功能實現接口,以備將來增添新功能時使用。
1.4 軟件定位及功能
1.4.1 軟件定位
核心用戶:(1)不愛運動長期在宿舍的大學生。(2)所有對運動的愛好者。
1.4.2 核心思想
(1)改變學生運動標準評定方法。(2)為學生制訂一個合理的運動計劃,讓大學生能夠了解自己一天的運動量。換一種方式來促使學生們運動,提高學生們身體素質自律生活。(3)讓大學生能夠離開宿舍放下手機。
2 軟件的設計
2.1 核心功能
作為一個檢測軟件通過每日步數,如跑步、自行車、趴樓梯等方式來檢測學生們每日的運動是否達標,改變過去只是通過體測來檢測學生身體素質的單一的學生素質評定方法。
2.2 輔助功能
(1)提供社區功能,使人們能夠分享和交流運動信息。
(2)為運動者們提供正確的教學方法。
(3)顯示大家每日的運動量。
該應用主要分為五大模塊,分為我的目標、社區、教學、運動排行榜、我的。采用MVC的方式進行開發,采用五層架構方式進行布局。
2.3 客戶端設計
該應用主要分為六大模塊,分為注冊與登錄,我的目標、社區、教學、運動排行榜、我的。
(1)注冊與登錄。分為可管理員登錄和普通用戶登錄兩個模塊用戶登錄,對用戶注冊的用戶名的要求,不同的用戶要求有不同的用戶名。(以學號作為入口,以自己的手機號碼進行綁定來確定一個人)
(2)我的目標。以多種形式并進行綜合的方式來檢測學生每日的運動量是否達標,其中包括步數、跑步、騎行、俯臥撐、平板支撐、和其他等形式來檢測每日的運動量。而達標量是根據每位學生體測的成績,以及不同的課表和作息時間并結合國際鍛煉時間標準而制定的合理的運動量,以及合理的運動時間。從而改變單一的運動達標檢測方式。
(3)社區。包含兩個大的功能模塊,一個是發帖功能,其中包括熱門、我的關注。另一個是交流功能,其中包括朋友和消息兩個子模塊。此模塊主要為了提供分享功能??梢越o大家“秀”出今天的運動量,同時可以記錄生活的作用,而且還可以為運動者提供交流的一個平臺。
(4)教學。模塊包括三個子模塊,分別為計劃、視頻、為你推薦。計劃是根據每位學生不同的課表和作息時間制定的合理的鍛煉時間,以及合理的運動量,使每位學生不會對運動感到太大的壓力。而每個人可以在計劃中合理地更改自己的運動時間等。視頻為你提供你想學的正規的教學視頻,為你推薦則根據你的喜好來推薦相關的文章、帖子、視頻等內容。
(5)運動排行榜。模塊顯示我的我的好友的步數排行,可以互相點贊,可以點開我的主頁顯示近幾天的運動數據,以及設置背景的功能,可以給每天運動的人互相激勵。
(6)我的。模塊由個人信息、運動數據、我的收藏三個部分組成。個人信息中有注冊時填寫的個人信息、愛好、運動信息。也可以之后進行修改個人信息,上傳頭像,更換背景等;目標可以制定自己的目標。關注是顯示自己關注的和收藏的信息。
3 項目實現
3.1 總體設計
(1)Android客戶端采使用Toobar+DrawerLayout+NavigationView+抽屜式導航,采用沉浸式狀態欄的效果。
(2)服務器采用ViewPager+TabLayout+Fragment。通過Retrofit、RxJava以及OkHttp的結合。采用RxJava和Retroifit結合的方式,返回的數據json格式。
3.2 系統組件和開源組件
最外層布局是DrawerLayout,里面嵌套了兩個布局,一層是FrameLayout,其中通過include進來的主界面內容,第二層是側滑的內容,即Navigation View。
主界面布局先是Coordinator Layout嵌套了App BarLayout以及ViewPager。AppBarLayout中嵌套了ToolBar以及TabLayout。在Activity中讓ViewPager和TabLayout關聯,實現ViewPager頁面滑動時對應標簽的聯動。
(1)getItemViewType()方法判斷不同的布局,返回判斷結果。
(2)創建不同的ViewHolder類,針對不同的布局類型,進行對應的布局內控件的初始化。
(3)onCreateViewHolder()方法根據第一步的判斷結果,得到viewType,根據viewType值,實例化不同類型的ViewHolder對象。
(4)onBindViewHolder()方法判斷holder所屬類型,進行相對應類型的布局內控件內容的賦值。
3.3 項目實現及相關步驟
(1)前期需求規劃與信息。首先,制定出一個完整的需求文檔,功能文檔,流程圖,時序圖。
(2)交互設計、UI設計。本項目需要設計出基本且完善的原型圖和APP基礎的交互設計效果之后,再根據這些設計出完整的UI界面進行切圖,并做自適應的素材圖片需要做點patch。這里還需要px,pt和dp之間的換算,屏幕密度的換算和相互之間的系數,以便Android app應用能完美適應不同分辨率設備。用到Axure等交互工具的使用,UI設計需要Photoshop和Illustrator等操作。
(3)本文使用ADT之類的開發環境進行APP軟件開發,使用的是java語言,以及android環境和機制。
(4)本文用到服務器,掌握WebService相關知識和開發語言,用到了ASP.Net、PHP、JSP等。
(5)建立數據庫。軟件以SQL server數據庫為數據支撐,主要數據庫包括運動視頻庫、運動資料庫、運動信息庫、用戶注冊信息庫等。最后通過應用與數據庫鏈接構成完整系統。
(6)本項目的開發,某些功能需要做算法。
(7)API接口開發,本文使用自行開發API的能力以及調用第三方API的經驗。
(8)TCP/IP,socket等網絡協議和相關知識。
(9)APP發布的流程,真機調試技巧,證書,打包,上架,一個完整的Android手機APP才能安全上架。
4 總結
隨著互聯網的發展,已經進入萬物互聯的時代。互聯網+運動將會越來越普及??萍挤奖懔宋覀兊耐瑫r,也是我們更加懶惰?;贏ndroid運動達標APP卻能夠緩解這一現象。在我們通過個性化的設計為用戶制定了適合用戶的運動計劃方案。因此能夠達到引導學生正確運動的目的。從而達到循序漸進的適量運動,不斷提高我們的身體素質。
參考文獻:
[1]李艷國.基于Android的移動終端在智能圖書館中的應用[J].科技情報開發與經濟,2012,22(15):23-25.
[2]薩師煊,王珊.數據庫系統概論[M].北京:高等教育出版社,1991.
[3]夏幫貴.基于Android平臺的圖書館服務系統設計與實現[J].現代圖書情報技術,201l(6):85-89.
[4]百度文庫.Android[EB/OL].[2011-03-01].http://baike.baidu.com/view/1241829.htm.
[5]DUBOISP.MySQL網絡數據庫指南[M].北京:機械工業出版社,2000.
項目:西北民族大學國家級大學生創新創業訓練計劃資助項目(項目編號:202010742063)
作者簡介:孫寒飛(1998— ),男,漢族,河北保定人,本科,現就讀于西北民族大學數學與計算機科學學院軟件工程專業,研究方向:軟件工程;蒲婧(1999— ),女,苗族,云南紅河人,本科,現就讀于西北民族大學數學與計算機科學學院軟件工程專業,研究方向:軟件工程。
指導老師:王書文。