蘇明勇 劉平
摘要:隨著生活質(zhì)量的提高,人們?cè)跐M足日常需求的同時(shí),更加注重身體的健康發(fā)展?;诎俣萐DK的在線跑APP,其目的在于提高人們的運(yùn)動(dòng)興趣,激勵(lì)人們參與更多的跑步鍛煉。該軟件分為用戶登錄模塊和跑步功能模塊,用戶可以通過手機(jī)號(hào)碼登錄,APP提供GPS定位、配速顯示、語(yǔ)音提示、約跑信息發(fā)布、約跑成果分享等功能,該APP在一定程度上可以提高人的運(yùn)動(dòng)興趣,改善當(dāng)前同類軟件的不足之處。
關(guān)鍵詞:百度SDK;在線跑;GPS;數(shù)據(jù)庫(kù)
中圖分類號(hào):TP315? ? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2019)26-0078-02
開放科學(xué)(資源服務(wù))標(biāo)識(shí)碼(OSID):
1 引言
當(dāng)前人們的生活水平隨著經(jīng)濟(jì)發(fā)展和社會(huì)的進(jìn)步不斷提高,跑步鍛煉逐漸也成為日常生活的重要組成部分,相關(guān)APP市場(chǎng)競(jìng)爭(zhēng)也越發(fā)激烈[1],這些健身運(yùn)動(dòng)APP貢獻(xiàn)了當(dāng)年接近一半的健身市場(chǎng)消費(fèi)額。通過跑步可以增強(qiáng)自己的抵抗力,使自己的身體素質(zhì)得到進(jìn)一步提高,與家人朋友一起跑步也是目前比較普遍的運(yùn)動(dòng)方式。傳統(tǒng)意義上的約跑往往僅限于與在自己附近周邊的朋友約跑,這種方式在很大的程度上受限于時(shí)間、距離、環(huán)境條件等因素的限制,這些狀況不僅減少了人們投入運(yùn)動(dòng)的熱情,還有可能會(huì)對(duì)朋友之間的友誼造成一定程度的影響。鑒于以上情況,與家人朋友能夠一起進(jìn)行線上跑步,減少不必要的影響因素,將會(huì)是以后跑步運(yùn)動(dòng)軟件的一個(gè)發(fā)展方向。
基于百度SDK的在線跑APP,結(jié)合其他在線跑步軟件的功能不足進(jìn)行改進(jìn)提高,它可以利用手機(jī)在線發(fā)布約跑消息,邀約別人一起跑步,并且可以根據(jù)自身在線跑步的實(shí)際情況及時(shí)反饋信息,使家人朋友不受地域限制可以一起跑步的需求得到了滿足,能夠快速地規(guī)定跑步時(shí)間與路程,通過網(wǎng)絡(luò)發(fā)布,給運(yùn)動(dòng)創(chuàng)造了一個(gè)比較適合的氛圍。
基于百度SDK的在線跑應(yīng)用軟件通常用于人們?cè)诮鉀Q自身跑步運(yùn)動(dòng)的需求時(shí),能夠提供與他人一起進(jìn)行線上運(yùn)動(dòng),從而促進(jìn)人們的運(yùn)動(dòng)積極性。目前在國(guó)內(nèi)外主要存在有悅跑圈[2]、咕咚[3]等比較優(yōu)秀的運(yùn)動(dòng)類軟件??傮w來說,現(xiàn)有運(yùn)行軟件在一些基本功能上是完善的,基本采用了社會(huì)共享和游戲化元素,如獎(jiǎng)金、排名等。但是一旦跑步的行為被非常強(qiáng)烈的外部獎(jiǎng)勵(lì)機(jī)制所觸發(fā),用戶自身的內(nèi)在動(dòng)機(jī)就會(huì)被稀釋,而這種外部獎(jiǎng)勵(lì)的效果往往會(huì)很快減弱。因此,關(guān)鍵還是要從用戶內(nèi)部激發(fā)運(yùn)動(dòng)的需求,才能有效地提升運(yùn)動(dòng)的積極性。
2 系統(tǒng)采用的開發(fā)技術(shù)
本軟件采用Java[5]語(yǔ)言,基于MVC模式開發(fā),數(shù)據(jù)庫(kù)采用MySQL及SQLite。APP端開發(fā)環(huán)境基于Mac OS操作系統(tǒng),使用Android Studio,運(yùn)用Activity、Service、LocalBroadcastManager、BroadcastReceiver,ContentProvider和Handler消息機(jī)制進(jìn)行設(shè)計(jì)實(shí)現(xiàn),服務(wù)器端使用IntelliJ IDEA、DataGrip工具開發(fā)。
本APP中還使用了TTS(Text To Speech)技術(shù),該技術(shù)目前廣泛應(yīng)用于語(yǔ)音助手,地圖導(dǎo)航,智能音箱等場(chǎng)景,支持中文英文發(fā)音;百度地圖SDK,該技術(shù)可以運(yùn)用于網(wǎng)站、移動(dòng)設(shè)備以及服務(wù)器等中,能夠?qū)崿F(xiàn)基本地圖的展現(xiàn)、GPS定位、搜索、路線規(guī)劃顯示等功能。
3 系統(tǒng)分析
經(jīng)過對(duì)現(xiàn)有同類軟件的分析,同時(shí)通過朋友圈對(duì)APP功能的收集整理,確定APP應(yīng)提供以下功能:一個(gè)是用戶子系統(tǒng),另外一個(gè)是功能子系統(tǒng)。用戶子系統(tǒng)功能為實(shí)現(xiàn)手機(jī)登錄,成功登錄后可設(shè)置賬號(hào)、密碼及昵稱等基本數(shù)據(jù),還可查閱個(gè)人信息,好友動(dòng)態(tài),跑步記錄等;功能子系統(tǒng)包括GPS定位、語(yǔ)音提示、配速顯示、運(yùn)動(dòng)數(shù)據(jù)顯示、約跑信息發(fā)布、約跑成果分享和好友列表顯示等功能。同時(shí)APP在安全性方面還應(yīng)考慮使用者在未注冊(cè)、未進(jìn)行登錄或是登錄失敗時(shí),不能強(qiáng)行使用軟件的相關(guān)功能;另外,為了提高軟件的安全性,軟件在長(zhǎng)期未使用時(shí)需要重新登錄。
4 系統(tǒng)設(shè)計(jì)
4.1 系統(tǒng)總體設(shè)計(jì)
系統(tǒng)包括以下模塊:
4.2 詳細(xì)設(shè)計(jì)
4.2.1 數(shù)據(jù)庫(kù)設(shè)計(jì)
系統(tǒng)數(shù)據(jù)庫(kù)結(jié)構(gòu)如圖所示:
4.2.2 系統(tǒng)類設(shè)計(jì)
1)? 實(shí)體類設(shè)計(jì)
管理員類(User)作用是存儲(chǔ)管理員信息字段并通過DBOpenHelper映射到數(shù)據(jù)庫(kù),字段有編號(hào)、郵箱、姓名、密碼等,此外給這些字段對(duì)應(yīng)的get和set方法,以便用對(duì)象來調(diào)用。好友信息類(Friend Information)作用是存儲(chǔ)已有的好友的信息,如好友id、好友姓名、好友編號(hào)等。用戶類(User)作用是存儲(chǔ)用戶的基本信息,如性別、電話、年齡、郵箱等信息。任務(wù)類(Task)其作用是存儲(chǔ)用戶發(fā)起的活動(dòng)信息,如跑步時(shí)間、跑步距離。路線類(Trace)其作用是存儲(chǔ)用戶參與活動(dòng)時(shí)的信息,如時(shí)間、經(jīng)緯度坐標(biāo)、速度。
2)? DAO 類設(shè)計(jì)
DAO 類負(fù)責(zé)用戶對(duì)數(shù)據(jù)庫(kù)的增刪改查等操作,使用時(shí)只需創(chuàng)建該類的實(shí)例,然后調(diào)用DAO類中的方法進(jìn)行相關(guān)的操作。包含的接口類有:FriendDao 類,MessageDao 類,PhotoDao類,PostDao 類,SearchUserDao 類,UserDao 類。
FriendDao 類的功能有:獲得好友列表,判斷是否是自己的好友,添加好友等功能;MessageDao類的功能有:發(fā)送消息,通過用戶的ID獲得消息;PostDao類的功能有:獲取提交的信息內(nèi)容,添加用戶信息內(nèi)容;SearchUserDao 類的功能有:根據(jù)id獲取用戶信息,獲取用戶的郵箱等;UserDao 類的功能有:用戶登錄驗(yàn)證,用戶注冊(cè)。
3)? Activity類設(shè)計(jì)
AddGroupAty的作用為設(shè)置跑步的開始時(shí)間、結(jié)束時(shí)間等基本的信息;EndrunningAty實(shí)現(xiàn)跑步結(jié)束后的信息匯總;GroupAtyDetail的作用為匯總用戶發(fā)起的跑步信息;GroupListActivity顯示活動(dòng)列表的類;MyGroupActivity創(chuàng)建活動(dòng);Runningaty實(shí)現(xiàn)跑步活動(dòng)中的如語(yǔ)音、定位等功能;RunningatyOnline 處理線上跑的相關(guān)功能請(qǐng)求;StartrunActivity實(shí)現(xiàn)跑步之前如獲取實(shí)時(shí)位置等預(yù)先功能;UserinfoAty 獲取用戶信息;EndrunningAty類,其功能是實(shí)現(xiàn)活動(dòng)結(jié)束后的消息匯總等功能;RunningatyOnline類,處理線上跑的相關(guān)功能請(qǐng)求。
4)? Utils類設(shè)計(jì)
AppUtils保存用戶登錄信息,Mysqlutil實(shí)現(xiàn)數(shù)據(jù)庫(kù)連接,TimeUtils分頁(yè)類,用于數(shù)據(jù)分頁(yè),TokenTools實(shí)現(xiàn)字符之間的轉(zhuǎn)換,AutoCheck實(shí)現(xiàn)導(dǎo)入的數(shù)據(jù)資源是否能夠使用成功,util判斷用戶的輸入數(shù)據(jù)信息是否時(shí)有效的類。
5 系統(tǒng)實(shí)現(xiàn)
系統(tǒng)實(shí)現(xiàn)后的效果如下:
6 系統(tǒng)測(cè)試
在測(cè)試階段,根據(jù)系統(tǒng)需求,使用等價(jià)類劃分和邊界值分析方法設(shè)計(jì)了大量的測(cè)試用例來對(duì)系統(tǒng)進(jìn)行測(cè)試,下面給出一個(gè)核心的測(cè)試用例,如表1所示:
7 結(jié)論
經(jīng)過嚴(yán)格的系統(tǒng)測(cè)試,測(cè)試結(jié)果表明系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)完整、準(zhǔn)確地表達(dá)了系統(tǒng)的需求,但是系統(tǒng)還存在一些不足的地方,如軟件使用時(shí)閃退、服務(wù)器登錄不穩(wěn)定等問題需要進(jìn)一步改進(jìn)。
參考文獻(xiàn):
[1] 劉菁,黎宇翔,陳艷. 跑步APP存在的問題及發(fā)展策略[J]. 青年記者,2017(26):20-21.
[2] 周凱,趙行瑞. 全民健身熱潮下跑步類APP的SWOT分析——以悅跑圈為例[J]. 遼寧體育科技,2017,39(6):24-27.
[3] 韓丹. 國(guó)內(nèi)現(xiàn)有跑步類APP市場(chǎng)現(xiàn)狀與對(duì)策研究[D].桂林:廣西師范大學(xué),2017.
[4] 郭琳. 分析Java語(yǔ)言與Java技術(shù)的應(yīng)用[J]. 電腦迷,2018(11):115.
【通聯(lián)編輯:王力】