漆世錢
(武警海警學(xué)院 電子技術(shù)系, 浙江 寧波 315801)
在深化國防和軍隊改革的新時期,黨在新形勢下的強軍目標要求軍隊院校培養(yǎng)出素質(zhì)好、能力強、質(zhì)量高的新時期革命軍人,真正做到“拉得出,打得贏”。對于軍校學(xué)員來說, 軍事訓(xùn)練是部隊一日生活的重要部分,是部隊戰(zhàn)斗力的保證,是軍校人才培養(yǎng)的重要內(nèi)容, 訓(xùn)練的科學(xué)性和可控性決定了訓(xùn)練的效益[1]。但是目前而言,沒有一個系統(tǒng)的訓(xùn)練計劃和科學(xué)的訓(xùn)練方法,僅靠學(xué)員自己摸索很難提高訓(xùn)練效率,提高訓(xùn)練成績,基于Android平臺的軍校體能訓(xùn)練指導(dǎo)APP應(yīng)運而生。該設(shè)計針對軍校學(xué)員體能達標訓(xùn)練以及需求,深入探討了如何利用Android平臺的應(yīng)用開發(fā)框架,使用Java編程技術(shù),具體實現(xiàn)訓(xùn)練管理、體能達標訓(xùn)練、訓(xùn)練視頻播放等主要功能的原理和方法[2]。
軍校學(xué)員體能訓(xùn)練指導(dǎo)App以我院學(xué)員軍事基礎(chǔ)體能訓(xùn)練為研究對象, 對學(xué)員在4年學(xué)習期間的軍事體能訓(xùn)練時間、次數(shù)、成績等數(shù)據(jù)進行全面記錄與分析,針對軍事基礎(chǔ)體能訓(xùn)練不同影響因素, 建立對應(yīng)訓(xùn)練項目指標體系, 實現(xiàn)學(xué)員軍事基礎(chǔ)體能訓(xùn)練成績的定量和定性分析, 學(xué)員針對存在的訓(xùn)練問題及時進行自我調(diào)整, 實現(xiàn)對體能訓(xùn)練的科學(xué)指導(dǎo)。
系統(tǒng)分為兩大功能模塊——登錄模塊和主模塊,主模塊又分為三個子模塊,分別是訓(xùn)練模塊、達標模塊和個人信息模塊。具體總體功能結(jié)構(gòu)圖如圖1所示。
圖1 總體功能結(jié)構(gòu)圖
(1) 登錄模塊
學(xué)員注冊填寫用戶名、密碼和手機號,便于進行身份驗證,注冊完成后直接跳轉(zhuǎn)至個人資料頁面,填寫相關(guān)資料;登錄時填寫用戶名和密碼,進行身份驗證后可以登錄軟件系統(tǒng);學(xué)員在忘記密碼的情況下可以點擊忘記密碼,向注冊時填寫的手機號發(fā)送短信提示密碼。
(2) 訓(xùn)練模塊
在訓(xùn)練中,不但能對訓(xùn)練課程查詢,而且實現(xiàn)了推薦課程、分類查看、放訓(xùn)練指導(dǎo)視頻的功能,還可以統(tǒng)計訓(xùn)練時長、訓(xùn)練天數(shù)、訓(xùn)練次數(shù)和累計消耗等。
(3) 達標模塊
在選擇項目功能中,耐力類項目根據(jù)性別不同有3 km和5 km兩種選擇,靈活類有組合練習和立位體前屈兩個項目,力量類則是要在引體向上、杠端臂屈仰臥起坐、立定跳遠和深蹲起立五項中選擇三項進行考核,爆發(fā)類有100 m跑和5×10往返跑兩個項目可供選擇;學(xué)員通過自行錄入成績,根據(jù)性別判定當前成績是否達標;對于成績不達標的項目,推薦相應(yīng)訓(xùn)練,根據(jù)BMI值推薦相關(guān)訓(xùn)練,有目的地加強相應(yīng)部位的鍛煉。
(4) 設(shè)置模塊
在個人資料模塊,學(xué)員可以對自己的健身目標、健身基礎(chǔ)以及身高體重等項目進行修改,以動態(tài)地調(diào)整相關(guān)訓(xùn)練計劃,可以重新設(shè)定新密碼,還能就使用體驗向管理員提供相關(guān)意見和建議,并為軟件打分,有利于及時掌握用戶需求變化,后期不斷調(diào)整和完善軟件的功能。
系統(tǒng)在Android平臺的應(yīng)用框架下開發(fā),結(jié)合SQLite數(shù)據(jù)庫和Java編程語言,利用優(yōu)酷云作為視頻服務(wù)器。業(yè)務(wù)流程包括從用戶注冊、登陸、成績錄入到訓(xùn)練分析、訓(xùn)練指導(dǎo)和結(jié)束訓(xùn)練等部分, 如圖2所示。
圖2 系統(tǒng)業(yè)務(wù)流程圖
在初始化的訓(xùn)練模塊設(shè)計中,軟件從數(shù)據(jù)庫guest2表中讀取用戶昵稱并設(shè)置到textview中,然后從數(shù)據(jù)庫guest3表中讀取用戶訓(xùn)練的時長、完成的訓(xùn)練次數(shù)、累計訓(xùn)練的天數(shù)和累計消耗。如果是學(xué)員第一次使用,初始化時長、次數(shù)、天數(shù)、消耗在數(shù)據(jù)庫中的值均為0,八項訓(xùn)練字段的值也均為空值,所以在初始化時,訓(xùn)練模塊主界面中的值都為0,且listview中為空,訓(xùn)練模塊主界面如圖3所示。
圖3 訓(xùn)練模塊主界面
在此界面中,首先利用SQLiteDatabase類中的rawQuery(String,Object)的方法,將sqlite語句存到String型變量中,并通過第一個參數(shù)傳入函數(shù),再將sqlite語句中需要傳入的參數(shù),存儲在Object型變量中,將這些數(shù)據(jù)采用Cursor指針進行讀?。蝗缓罄肨extView的settext(String)的方法,將數(shù)據(jù)庫中讀出的數(shù)值附到每一個TextView中;最后在listview中再調(diào)用setOnItemClickListener( )方法[3],為listview中每個元素設(shè)置監(jiān)聽,將被點擊元素的textview通過getText( ).toString( )方法獲取其中的String值,存放于全局變量Name.kecheng中備用。
主模塊上控件的數(shù)值反映數(shù)據(jù)庫guest3表中數(shù)據(jù)的變化,用戶也可以通過界面上的值來了解自己訓(xùn)練的時長和消耗,從而使用戶養(yǎng)成訓(xùn)練的習慣,從每天的點滴時間開始訓(xùn)練,完成日常訓(xùn)練積累,達到促進訓(xùn)練的目的。
選擇訓(xùn)練模塊主要功能分為關(guān)鍵字檢索、推薦訓(xùn)練和分類查看,都是采用了SQLiteDatabase類中的rawQuery(String,Object)的方法將數(shù)據(jù)庫中的數(shù)據(jù)按照各種不同的需求讀取出來,并初始化到listview中用于顯示,選擇訓(xùn)練界面如圖4所示。
圖4 選擇訓(xùn)練界面
通過各種不同的數(shù)據(jù)庫檢索方式,根據(jù)每個學(xué)員不同的身體條件,從而檢索出不同的訓(xùn)練課程供學(xué)員選擇,滿足每個學(xué)員實際的需求,達到因人施訓(xùn)[4-5]。
參訓(xùn)模塊用于訓(xùn)練詳細內(nèi)容的查詢,并選擇是否參加訓(xùn)練,將訓(xùn)練的概要信息反映在訓(xùn)練主模塊的listview中,由于訓(xùn)練非常多樣,每有一個界面就定義一個布局文件,所以參加訓(xùn)練模塊的界面也有很多種[6]。參加訓(xùn)練界面如圖5所示。
圖5 參加訓(xùn)練界面
在參加訓(xùn)練模塊中,將事先儲存在數(shù)據(jù)庫表中的訓(xùn)練數(shù)據(jù)從數(shù)據(jù)庫中讀取出來,并初始化到軟件界面上的控件中[7]。將圖片都存放于drawable文件中,讓eclipse在項目文件包的R文件中自動生成8位16進制數(shù)用于標識不同的文件,然后軟件在參加訓(xùn)練模塊中通過Class
開始訓(xùn)練模塊和參訓(xùn)模塊布局文件大同小異,初始化過程也一樣,只不過在開始訓(xùn)練模塊中,點擊開始訓(xùn)練后,系統(tǒng)會將學(xué)員所選擇的課程通過rawQuery的方法存儲到guest3數(shù)據(jù)表中,方便在訓(xùn)練主模塊中進行讀取[8-9]。開始訓(xùn)練模塊中的退出訓(xùn)練按鈕也是通過rawQuery的方法將選擇的課程從guest3表中刪除,從而達到課程增減的功能。開始訓(xùn)練界面如圖6所示。
圖6 開始訓(xùn)練界面
在點擊開始訓(xùn)練按鈕時,會通過Date類的getTime()方法來獲取當前的時間戳,然后將獲得的long型數(shù)據(jù)存儲在Bundle的對象中,在Intent進行界面跳轉(zhuǎn)的同時,將數(shù)據(jù)傳遞到下一個界面。
訓(xùn)練視頻播放模塊整體為一個WebView負責播放訓(xùn)練視頻,用戶可以在觀看訓(xùn)練視頻的同時,完成指定的訓(xùn)練動作,從而達到訓(xùn)練指導(dǎo)的目的。視頻播放界面如圖7所示。
圖7 訓(xùn)練視頻播放界面
該模塊采用優(yōu)酷云作為視頻服務(wù)器,首先在優(yōu)酷云注冊賬號,獲得獨有的client_id;接著,將事先制作好的視頻素材通過網(wǎng)絡(luò)上傳到優(yōu)酷個人的視頻空間;然后獲取到每個視頻所獨有的Vid;最后使用WebView控件啟動JavaScript腳本的方式,在系統(tǒng)中調(diào)用優(yōu)酷視頻播放器來播放網(wǎng)絡(luò)視頻。在點擊結(jié)束播放的按鈕后,軟件會記錄下當前的時間戳,和從上個界面中傳遞過來的時間戳的相減,得到本次訓(xùn)練時長的毫秒數(shù),將這個得到的數(shù)值除以1 000再除以60可以得到本次訓(xùn)練的時間,然后再通過一系列算法得出本次訓(xùn)練的消耗,最后將這些數(shù)據(jù)存入數(shù)據(jù)庫內(nèi),一次完整的訓(xùn)練就完成了。
達標模塊主界面如圖8所示。
(a) 達標界面
采用RelativeLayout和TableLayout相結(jié)合的方式布局,各類顯示默認選項,如圖8(a)所示。點擊各個項目按鈕,輸入自己當前的體能測試成績,若成績合格,不會推薦訓(xùn)練課程,但是可以查看課程添加訓(xùn)練,如圖8(b)所示;若成績不合格,軟件會智能推薦相關(guān)訓(xùn)練課程,如圖8(c)所示,點擊添加訓(xùn)練后,則會跳轉(zhuǎn)至訓(xùn)練模塊界面[10]。以“100米跑”項目為例,如果“100米跑”不合格,則應(yīng)該加強腿部的訓(xùn)練,從數(shù)據(jù)庫的表中選擇“buwei”為“腿部”的課程,推薦給用戶。
基于Android平臺的軍校學(xué)員體能訓(xùn)練指導(dǎo)APP占用空間小,運行速度快,界面簡潔明了、直觀大方,易于用戶操作,能夠判斷學(xué)員訓(xùn)練科目是否達標,并推薦相關(guān)訓(xùn)練;還可以實現(xiàn)訓(xùn)練統(tǒng)計,通過數(shù)據(jù)促進用戶進行體能訓(xùn)練;軟件可維護性好,用戶可以通過意見反饋功能和開發(fā)者交流。該App是針對軍校學(xué)員的體能達標而設(shè)計的訓(xùn)練指導(dǎo)軟件,適用人群確定,針對性強。使用該軟件有利于提高軍校學(xué)員的體能達標成績,對于培養(yǎng)體魄健全的初級指揮員具有重要的現(xiàn)實意義。