苍井优一级毛片免费观看,成年网站在线观看,日本一二三不卡视频,日日天天人人夜夜九九

24小時(shí)論文定制熱線(xiàn)

咨詢(xún)電話(huà)

ASP.NETVC++MySQLPHP安卓JSPLinuxJava機械VBASP單片機模具汽車(chē)工程畢業(yè)設計Flash
您當前的位置:論文定制 > 畢業(yè)設計論文 >
快速導航
畢業(yè)論文定制
關(guān)于我們
我們是一家專(zhuān)業(yè)提供高質(zhì)量代做畢業(yè)設計的網(wǎng)站。2002年成立至今為眾多客戶(hù)提供大量畢業(yè)設計、論文定制等服務(wù),贏(yíng)得眾多客戶(hù)好評,因為專(zhuān)注,所以專(zhuān)業(yè)。寫(xiě)作老師大部分由全國211/958等高校的博士及碩士生設計,執筆,目前已為5000余位客戶(hù)解決了論文寫(xiě)作的難題。 秉承以用戶(hù)為中心,為用戶(hù)創(chuàng )造價(jià)值的理念,我站擁有無(wú)縫對接的售后服務(wù)體系,代做畢業(yè)設計完成后有專(zhuān)業(yè)的老師進(jìn)行一對一修改與完善,對有答辯需求的同學(xué)進(jìn)行一對一的輔導,為你順利畢業(yè)保駕護航
代做畢業(yè)設計
常見(jiàn)問(wèn)題

基于安卓的健身應用手機APP設計

添加時(shí)間:2018/06/29
在中國, 隨著(zhù)生活質(zhì)量的不斷提高, 人們運動(dòng)健康意識逐漸增強。然而, 基礎體育設施與場(chǎng)地的匱乏導致人們對戶(hù)外健身的興趣大大減少。并且, 時(shí)間日益碎片化也成為戶(hù)外健身、健身房鍛煉的另一大阻礙。
  以下為本篇論文正文:
  摘 要:該課題研究的是利用移動(dòng)智能手機的特點(diǎn)打造一個(gè)能簡(jiǎn)單、循序漸進(jìn)并且隨時(shí)隨地鍛煉的健身應用軟件。該軟件參考囚徒健身法, 提供多種無(wú)器械的自重健身方法及其升級體系。論文給出了基于A(yíng)ndroid系統的健身軟件的架構設計及開(kāi)發(fā)示例, 該實(shí)例使用了分層合理且便于測試的MVP代碼組織架構, 大膽采用高性能移動(dòng)端數據庫Realm作為數據存儲方案, 圖片加載組件則采用Facebook開(kāi)源的強大且靈活Fresco框架, 網(wǎng)絡(luò )通信框架選擇了具有注解聲明式特性的Retro-fit, 整個(gè)技術(shù)選型采用了許多功能強大并且非常可靠第三方開(kāi)源庫, 較大地減少了編寫(xiě)很多模式式代碼, 使得開(kāi)發(fā)者能更加專(zhuān)注于業(yè)務(wù)功能開(kāi)發(fā)。軟件能夠提供豐富的健身動(dòng)作圖文及視頻教程;帶有超燃背景音樂(lè )的動(dòng)作節奏計時(shí)器用于輔助動(dòng)作訓練;鍛煉日記便于健身者查看訓練成果。該軟件現已在國內外各大應用商店發(fā)布, 通過(guò)用戶(hù)反饋和使用效果來(lái)看, 軟件可以讓使用者靈活掌控時(shí)間和地點(diǎn)去進(jìn)行更加個(gè)性化的鍛煉。
  


 
  關(guān)鍵詞:移動(dòng)健身軟件; 健身應用; 囚徒健身; MVP; Fresco; Retrofit;
  
  Abstract: The subject of this study is: the use of mobile smart phone features to create a simple, step by step and anytime, anywhereexercise fitness software. The software refers to the prisoner fitness law, providing a variety of non-device weight-based fitnessmethods and upgrade system. This paper gives the architecture design and development example of fitness software based on Android system. This example uses a hierarchical and easy to test MVP code organization, bold use of high-performance mobile data-base Realm as a data storage solution, image loading components are using Facebook open source powerful and flexible Frescoframework, the network communication framework has a comment Declarative features of Retrofit. The entire technology selectionuses a number of powerful and very reliable third-party open source library, a larger reduction in the preparation of a lot of modecode, making developers can be more focused on business function development.The software can provide a rich set of fitness action graphics and video tutorials; with rush background music action rhythm timer for auxiliary action training; exercise diary for fitness to see the training results.The software has been released at various app stores at home and abroad. Through user feedbackand usage effect, software can enable users to control time and place flexibly for more personalized exercise.
  
  Keyword: mobile fitness software; fitness application; Convict Conditioning; MVP; Fresco; Retrofit;
  
  在中國, 隨著(zhù)生活質(zhì)量的不斷提高, 人們運動(dòng)健康意識逐漸增強。然而, 基礎體育設施與場(chǎng)地的匱乏導致人們對戶(hù)外健身的興趣大大減少。并且, 時(shí)間日益碎片化也成為戶(hù)外健身、健身房鍛煉的另一大阻礙。這些因素導致人們在尋求一個(gè)更加方便、能隨時(shí)隨地健身的方式。
  
  移動(dòng)互聯(lián)網(wǎng)健身成為人們日常鍛煉的新選擇。智能手機功能強勁、具有移動(dòng)化的特點(diǎn)使其天然成為健身工具的載體, 健身應用軟件有巨大的市場(chǎng)需求。
  
  在幾乎人人擁有手機且大多數人幾乎沒(méi)有專(zhuān)門(mén)的鍛煉時(shí)間的年代, 健身APP可以讓鍛煉者充分地利用平時(shí)的閑暇時(shí)間來(lái)鍛煉, 讓鍛煉者的運動(dòng)變得“有模有樣”, 收獲運動(dòng)的成就感。同時(shí)鍛煉者只要打開(kāi)健身APP就可以隨時(shí)隨地接受專(zhuān)業(yè)的健身指導, 免掉了去健身房和請專(zhuān)門(mén)健身教練的麻煩。這對健身者體育鍛煉行為的促成和體育習慣的養成具有十分重要的意義[1].
  
  巨大的市場(chǎng)需求也吸引眾多廠(chǎng)商參與競爭, 市場(chǎng)涌現了類(lèi)似Keep、火辣健身、每日瑜伽等健身APP.該類(lèi)APP功能主要是指導力量、瑜伽、健美操等項目的練習。此類(lèi)APP的功能除了為健身者視頻指導教學(xué)等功能, 較為側重健身社交。部分APP還可以為健身者量身定制訓練計劃, 以及提供飲食配方和相應的健身知識。
  
  但是廠(chǎng)商為了追求收益, 設置了大而雜的訓練課程體系, 功能模塊涉獵得十分全面, 導致大量健身新手無(wú)從選擇。并且, 在訓練動(dòng)作的選擇上往往會(huì )傾向于需要器械的內容, 導致鍛煉者無(wú)法實(shí)際使用。還有, 為了追求好看的活躍數據, 市面上的廠(chǎng)商都讓?xiě)昧髅コqv內存, 使得用戶(hù)手機的續航能力極大降低。因此, 無(wú)論是從用戶(hù)的痛點(diǎn)還是應用的功能上來(lái)看, 市場(chǎng)的產(chǎn)品沒(méi)有完全解決所有健身者的需求, 仍有問(wèn)題可以有不同角度的解決方案。
  
  在此背景下, 本研究提出利用移動(dòng)智能手機的特點(diǎn)打造一個(gè)能簡(jiǎn)單、循序漸進(jìn)并且隨時(shí)隨地鍛煉的健身應用軟件。旨在通過(guò)提供簡(jiǎn)單、有效的無(wú)器械的輔助健身, 使健身者進(jìn)行個(gè)性化、個(gè)體化的運動(dòng)鍛煉, 提高大眾的健康。
  
  1、 軟件架構設計
  
  1.1、 軟件功能模塊
  
  作者將軟件命名為原力囚徒健身[2], 用戶(hù)可使用軟件進(jìn)行訓練輔助, 包括播放訓練背景音樂(lè )、節拍喊數、訓練強度建議、訓練節奏設置;可查看健身教程, 包括動(dòng)作詳解、真人圖片示例、視頻示例;可記錄和查看健身數據, 包括查看訓練日記、數據統計匯總、訓練感受記錄。整體功能結構如圖1示。
  
  圖1 產(chǎn)品功能結構圖
  
  
  
  1.2、 開(kāi)發(fā)環(huán)境
  
  作者選擇Android Studio作為開(kāi)發(fā)工具, Android Studio是一個(gè)基于Intelli J IDEA開(kāi)發(fā)的一款Android應用開(kāi)發(fā)工具, 功能強大, 易用性高。并且, 它采用Gradle作為編譯工具, 非常方便開(kāi)發(fā)者管理依賴(lài)包和自定義構建流程[3].
  
  1.3、 架構選擇
  
  如果沒(méi)有選擇一個(gè)比較好的代碼組織架構, 在后續的編碼開(kāi)發(fā)中, 很容易造成代碼混亂, 各個(gè)代碼模塊權責不清。好的架構會(huì )遵循一定的模式, 按照一定的規則規范各個(gè)模塊之間的權責與交互, 這樣使得代碼分布合理, 使開(kāi)發(fā)人員更專(zhuān)注于業(yè)務(wù)邏輯。鑒于此, 作者選擇了MVP架構作為整個(gè)項目的組織架構。
  
  1.4、 技術(shù)選型
  
  Android作為一種已經(jīng)發(fā)展多年的平臺, 一些通用的基礎功能已經(jīng)有很多久經(jīng)考驗、功能強大、易于拓展的開(kāi)源庫實(shí)現。了解并謹慎的選擇這些第三方開(kāi)源庫, 有利于開(kāi)發(fā)者避免重復地造輪子, 讓其有更多精力來(lái)處理業(yè)務(wù)邏輯[4].
  
  1.4.1、 數據存儲
  
  在數據存儲存儲方案的選擇上, 作者做出了一個(gè)比較前衛的選擇, 選擇Realm作為數據庫存儲方案。
  
  Realm是一個(gè)快速、易用并且免費的移動(dòng)端數據庫。它是一種新型的移動(dòng)數據庫, 是全新的, 從零開(kāi)始研發(fā)的, 擁有非常多先進(jìn)的特性[5]:
  
  1) 專(zhuān)為移動(dòng)端研發(fā)的全新數據庫引擎, 性能十分優(yōu)秀, 是SQLite的4~5倍。
  
  2) 直接面向對象, 無(wú)需ORM轉換, 這使得數據的定義與查詢(xún)都非常便捷。
  
  1.4.2、 圖片加載與展示
  
  由于A(yíng)ndroid系統自身的Image View默認不支持網(wǎng)絡(luò )圖片的加載, 并且對圖片的解析也不夠智能, 手動(dòng)實(shí)現去異步獲取網(wǎng)絡(luò )圖片并展示是一件比較復雜且容易出錯的。所以, 作者選擇了Fresco作為圖片顯示控件。它是Facebook開(kāi)源的一款著(zhù)名的Android圖片加載框架, 可以幫助開(kāi)發(fā)者快速實(shí)現網(wǎng)絡(luò )圖片加載功能。
  
  1.4.3、 網(wǎng)絡(luò )通信
  
  作者選擇了十分流行的Retrofit作為HTTP網(wǎng)絡(luò )請求框架。它使用注解的方式來(lái)定義網(wǎng)絡(luò )接口, 配合Rx Java, Gson可以方便實(shí)現網(wǎng)絡(luò )請求, 幫助開(kāi)發(fā)者節約精力[5].
  
  1.4.4、 其他框架
  
  使用Joda Time來(lái)處理時(shí)間計算問(wèn)題;使用Butterknife實(shí)現View注入;使用Stetho來(lái)幫助網(wǎng)絡(luò )、數據存儲調試;使用LeakCanary來(lái)監測內存泄露。
  
  2、 編碼實(shí)現
  
  2.1、 首頁(yè)與動(dòng)作列表頁(yè)實(shí)現
  
  首頁(yè)不僅有主要的訓練動(dòng)作信息預覽, 還是各個(gè)子功能的入口。首頁(yè)和動(dòng)作列表頁(yè)兩個(gè)頁(yè)面的布局相似, 都是由列表構成, 這里將兩者放在一起闡述其實(shí)現方法。
  
  實(shí)現的難點(diǎn)是如何將列表數據設置到具體的樣式上, 列表作者使用的官方在Support包中的Recycler View控件, 該控件使用適配器模式來(lái)實(shí)現數據與具體數據的映射。所以, 作者先需要編寫(xiě)Adapter.
  
  這里作者定義Index Simple Adapter作為首頁(yè)列表的Adapter, 讓其繼承Adapte<T>, 實(shí)現了其中的抽象方法。編寫(xiě)完Adapter后, 需要對Recycler View的列表形式進(jìn)行設定。接著(zhù), 從數據庫讀取數據, 并通知Adapter數據更新。
  
  2.2、 訓練動(dòng)作詳情頁(yè)實(shí)現
  
  訓練動(dòng)作詳情頁(yè)會(huì )有訓練動(dòng)作的訓練要點(diǎn)、訓練部位等內容, 是一個(gè)布局和交互比較復雜的頁(yè)面。
  
  跳轉到動(dòng)作詳情頁(yè)需要傳遞必要的Action ID參數, 否則將會(huì )導致異常。為了保證其他頁(yè)面跳轉到詳情頁(yè)時(shí)必然會(huì )攜帶Action ID參數, 作者在Detail Activity創(chuàng )建了靜態(tài)start () 方法。這樣不僅保證了必要參數, 并且在參數類(lèi)型或者個(gè)數改變的時(shí)候, 編譯器可以幫忙檢查處理, 方便修改。
  
  然后在A(yíng)ctivity on Create的時(shí)候使用get Intent () .get Int Extra () 獲取Action ID, 獲取Action ID后在數據庫進(jìn)行查詢(xún)。
  
  最后, 將查詢(xún)的結果進(jìn)行設置到對應的控件上即可。
  
  2.3、 節奏輔助訓練實(shí)現
  
  節奏輔助訓練模塊是整個(gè)應用中最核心、最重要的功能, 整體邏輯十分復雜, 具體流程如圖2所示。
  
  圖2 輔助訓練模塊流程圖
  
  
  
  2.3.1、 背景音樂(lè )播放
  
  音樂(lè )的播放可以使用系統的Media Player類(lèi)提供的API進(jìn)行播放。為了能在后臺進(jìn)行播放, 需要將Media Player放到Service中, 并在Service中編寫(xiě)相應的播放控制方法, 便于A(yíng)ctivity進(jìn)行調用。
  
  Service與Activity交互需要通過(guò)IBinder進(jìn)行, 定義BgmBinder讓繼承于Binder, 然后定一個(gè)方法供Activity獲取當前Service實(shí)例。
  
  然后在Service的on Bind () 時(shí)返回Bgm Binder實(shí)例, Activity可以通過(guò)初始化時(shí)和Service進(jìn)行綁定, 調用其get Service () 獲取該Service實(shí)例, 通過(guò)實(shí)例Activity就可以調用Service的方法, 從而實(shí)現對背景音樂(lè )播放的控制。比如可以調用m Bgm Service.play () 播放指定路徑的音樂(lè );調用m Bgm Service.pause () 暫停播放。
  
  2.3.2、 喊數音頻播報
  
  當計時(shí)器發(fā)生回調時(shí), 僅僅產(chǎn)生倒計時(shí)參數, 播放對應的數字音頻。Media Player的創(chuàng )建和銷(xiāo)毀都是非常消耗資源的, 它播放一些短促而且頻繁播放的音頻的話(huà), 就有些不合適了。這里作者使用系統提供的另外一個(gè)音頻播放API:Sound Pool進(jìn)行喊數音頻的播放。
  
  Sound Pool播放需要預先加載到內存中, 作者選擇在界面初始化時(shí)進(jìn)行加載。然后在需要播放音頻的地方只需要調用相關(guān)代碼, 即可對相應音頻進(jìn)行播放。
  
  2.4、 網(wǎng)絡(luò )通信實(shí)現
  
  網(wǎng)絡(luò )請求通信使用的是Retrofit, Retrofit通過(guò)注解的方式, 將接口的定義轉換成Java的接口定義, 自動(dòng)實(shí)現通信處理。
  
  接著(zhù)需要實(shí)例化Retrofit實(shí)例, 這里需要指定通信Host.由于作者的接口返回數據類(lèi)型是JSON, 所以Retrofit實(shí)例化時(shí)再指定數據處理的插件Gson Converter Factory實(shí)例, 該插件會(huì )自動(dòng)將API返回的JSON反序列化成對應到Object.
  
  最后調用接口, 在對應的回調方法中處理對應的邏輯。
  
  2.5、 訓練日志實(shí)現
  
  該模塊可以讓用戶(hù)查看、編輯每天的訓練感想, 涉及數據查詢(xún)與寫(xiě)入。
  
  所有的寫(xiě)操作, 必須包含在寫(xiě)入事務(wù)中, 在提交期間, 所有更改都將被寫(xiě)入磁盤(pán), 并且, 只有當所有更改可以被持久化時(shí), 提交才會(huì )成功。
  
  3、 測試與發(fā)布
  
  3.1、 兼容性測試
  
  Android版本、手機品牌、分辨率基本上是百花齊放, 兼容問(wèn)題不可避免, 作者使用了第三方服務(wù)進(jìn)行兼容性測試[6].
  
  原力囚徒健身在多個(gè)云測服務(wù)測試后均通過(guò)。
  
  3.2、 正式發(fā)布
  
  作者為了更好地驗證想法, 將產(chǎn)品發(fā)布到小米、魅族、應用寶等商店, 在這些商店搜索原力囚徒健身, 即可下載。
  
  截至2017年12月1號, 已經(jīng)累計13萬(wàn)多用戶(hù)。
  
  4、 結束語(yǔ)
  
  為解決因時(shí)間和空間等限制造成的健身問(wèn)題, 研究并實(shí)現了基于安卓手機的健身應用軟件。經(jīng)測試和發(fā)布后的結果表明, 用戶(hù)可充分利用閑暇時(shí)間使用該軟件, 來(lái)進(jìn)行高質(zhì)量、個(gè)性化且專(zhuān)業(yè)的健身鍛煉, 得以保持身心的健康。該軟件選用的MVP架構, 將需要Runtime的代碼進(jìn)行了隔離處理, 極大地提升了編碼、測試的開(kāi)發(fā)循環(huán)的效率。選擇Realm作為數據庫存儲方案, 提高了數據的存儲和讀取的速度、穩定性以及可靠性。利用Fresco實(shí)現了快速、智能的網(wǎng)絡(luò )圖片加載功能, 利用Retrofit實(shí)現了更加方便的網(wǎng)絡(luò )請求。通過(guò)最終測試結果及軟件正式發(fā)布后的用戶(hù)反饋, 充分證明了本軟件的實(shí)用性及易用性。
  
  參考文獻:
  
  [1]王麗, 倪朝民。體力活動(dòng)能量消耗的測量方法及其應用[J].安徽醫學(xué), 2011, 32 (6) :849-851.
  [2]張瀚夫。囚徒健身法[J].體育博覽, 2013 (12) :76-79.
  [3]Google.Android Developers Getting Started[EB/OL].https://de-veloper.android.com/training/index.html.
  [4]Eckel B.Thinking in JAVA[M].Prentice Hall Professional, 2003.
  [5]張孝祥。Java就業(yè)培訓教程 (附盤(pán)) [M].北京:清華大學(xué)出版社, 2007:1-150.
  [6]Simon J.Head first Android development[M].O'reilly, 2011.
    相關(guān)內容
    好優(yōu)論文定制中心主要為您提供代做畢業(yè)設計及各專(zhuān)業(yè)畢業(yè)論文寫(xiě)作輔導服務(wù)。
    所有論文、資料均源于網(wǎng)上的共享資源以及一些期刊雜志,所有論文僅免費供網(wǎng)友間相互學(xué)習交流之用,請特別注意勿做其他非法用途。
    如有侵犯您的版權或其他有損您利益的行為,請聯(lián)系指出,論文定制中心會(huì )立即進(jìn)行改正或刪除有關(guān)內容!