基于android的智慧競賽app設(shè)計與開發(fā)_第1頁
已閱讀1頁,還剩5頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、<p>  基于Android的智慧競賽APP設(shè)計與開發(fā)</p><p>  摘要:為了提高智慧競賽APP重用性和擴展性,充分分析需求分析基礎(chǔ)上,采用分層設(shè)計思想解耦模塊。數(shù)據(jù)交互上采用輕量級的簡單對象訪問協(xié)議實現(xiàn)客戶端與服務(wù)器之間實現(xiàn)異步數(shù)據(jù)交互,減輕服務(wù)器響應(yīng)負載,同時也提高了客戶端用戶體驗。數(shù)據(jù)交互設(shè)計運用觀察者設(shè)計模式實現(xiàn)了數(shù)據(jù)響應(yīng)與多個響應(yīng)線程之間一對多的依賴關(guān)系,以便所有依賴于數(shù)據(jù)請求對象都

2、能及時刷新。最后系統(tǒng)設(shè)計采用百度推送方式確保消息及時性。系統(tǒng)測試表明上述的智慧競賽APP設(shè)計合理,性能良好。 </p><p>  Abstract: In order to improve the reusability and scalability of the APP, we use the hierarchical design idea to decouple the module based on

3、the analysis of the requirements. The lightweight simple object access protocol is used to implement asynchronous data interaction between client and server, which can reduce the load of server response and improve the u

4、ser experience. The data interaction design uses the observer design pattern to achieve a multi dependency relationship between the data r</p><p>  關(guān)鍵詞:分層;異步;觀察者 </p><p>  Key words: stratificat

5、ion;asynchronous;observer </p><p>  中圖分類號: TP311 文獻標識碼:A 文章編號:1006-4311(2017)06-0075-02 </p><p><b>  0 引言 </b></p><p>  技能競賽是高職院校培養(yǎng)高技能人才的重要載體,培養(yǎng)學(xué)生創(chuàng)新創(chuàng)業(yè)和團隊協(xié)作能力的重要推動力[1][2]

6、。另一方面隨著學(xué)科競賽活動規(guī)模擴展,學(xué)校競賽管理人員采用人工方式管理和組織學(xué)科競賽缺陷日期凸顯。學(xué)科競賽管理人員無法查看指導(dǎo)教師輔導(dǎo)軌跡和學(xué)生參加競賽輔導(dǎo)的學(xué)習(xí)軌跡。競賽信息無法覆蓋到絕大部分學(xué)生信息,成為影響競賽苗子選拔的一個重要因素。目前競賽系統(tǒng)都缺乏移動端支持,使得競賽系統(tǒng)不能在學(xué)生群體中得到大范圍推廣和使用[3][4][5]。因此基于Android的智慧競賽APP設(shè)計和開發(fā)具有現(xiàn)實意義。 </p><p>

7、;  1 智慧競賽APP需求分析 </p><p>  智慧競賽APP設(shè)計與開發(fā)延展了競賽協(xié)同管理平臺,使隨時隨地參與競賽和管理競賽的可能成為現(xiàn)實。需求分析過程中考慮到過多功能影響用戶體驗這一不理因素,剔除智慧競賽協(xié)同管理平臺中部分使用頻率較低的功能需求,最終得到的智慧競賽APP客戶端用例圖(如圖1所示)。 </p><p>  智慧競賽APP需求涉及到技能競賽管理人員,指導(dǎo)教師和競賽學(xué)生

8、三類角色。競賽管理人員角色涉及到的用例有發(fā)布競賽信息,瀏覽教師輔導(dǎo)軌跡,瀏覽學(xué)生學(xué)習(xí)軌跡和查看統(tǒng)計數(shù)據(jù)。從這個用例圖中可知,整個賽事的發(fā)布是競賽管理人員負責(zé)。當競賽管理人員發(fā)布賽項的同時將向指導(dǎo)教師和競賽學(xué)生推送這一賽項的推送消息。競賽管理人員通過瀏覽教師輔導(dǎo)軌跡這一用例具體查看每位指導(dǎo)教師指導(dǎo)學(xué)生的具體事項,實現(xiàn)對教師輔導(dǎo)的精細化過程管理。此外,競賽管理人員借助瀏覽學(xué)生學(xué)習(xí)軌跡這一用例查看競賽學(xué)生參加競賽培訓(xùn),參加競賽輔導(dǎo)的具體日期和

9、次數(shù),實現(xiàn)對競賽學(xué)生學(xué)習(xí)的動態(tài)掌控。查看統(tǒng)計數(shù)據(jù)用例幫助競賽管理人員以報表形式查看競賽統(tǒng)計信息,如年度競賽成績信息等。指導(dǎo)教師相關(guān)用例為申報競賽指導(dǎo),發(fā)布競賽指導(dǎo)資料,瀏覽學(xué)生學(xué)習(xí)軌跡和評價作品。申報競賽指導(dǎo)用例要求指導(dǎo)指導(dǎo)具體技能競賽前須提出申請,獲得批準后方可指導(dǎo)學(xué)生競賽,有利于學(xué)院和學(xué)校指導(dǎo)教師統(tǒng)籌安排。發(fā)布競賽指導(dǎo)資料用例表示指導(dǎo)教師在獲得指導(dǎo)資格后定期發(fā)布相關(guān)聯(lián)賽項的各種輔導(dǎo)資料,如學(xué)習(xí)視頻和文檔等。評價作品用例表示指導(dǎo)教師評

10、價學(xué)生提交競賽作品。競賽學(xué)生涉及用例主要為參加競賽報名,學(xué)習(xí)</p><p>  2 智慧競賽APP架構(gòu)設(shè)計 </p><p>  智慧競賽APP運用分層設(shè)計思想,將其分解為界面層,功能層,中間件層和操作系統(tǒng)層(如圖2所示)。分層設(shè)計使得開發(fā)人員只關(guān)注整個結(jié)構(gòu)中的其中某一層,允許用新的實現(xiàn)來替換原有層次的實現(xiàn),降低層與層之間的依賴,有利于標準化和各層邏輯的復(fù)用。智慧競賽APP用戶功能層提供

11、UI訪問的基礎(chǔ)功能,主要有用戶管理,數(shù)據(jù)查詢,視頻控制與軟件升級。用戶功能層使用中間件層有消息推送,數(shù)據(jù)訪問代理,流媒體控制與版本控制。消息推送中間件封裝了基礎(chǔ)層中的第三方的百度云推送服務(wù)。 </p><p>  數(shù)據(jù)訪問代理中間件借助于基礎(chǔ)層所提供的網(wǎng)絡(luò)層SOCKET和HTTP協(xié)議,利用簡單對象訪問協(xié)議SOAP實現(xiàn)智慧競賽APP客戶端與智慧競賽協(xié)同管理平臺之間數(shù)據(jù)交換。設(shè)計中封?bUtil類實現(xiàn)跟SOAP協(xié)議相

12、關(guān)方法。從圖3可知,Util類中GetSoapXml方法根據(jù)協(xié)議中的body內(nèi)容封裝一個soap協(xié)議,getSoapBodyElement方法從完整的soap協(xié)議內(nèi)容中解析出soap body內(nèi)容。NetUtil方法中的sendByPost方法采用http post方式發(fā)送JSon格式報文。   3 智慧競賽APP數(shù)據(jù)交換 </p><p>  智慧競賽APP與智慧競賽協(xié)同管理平臺之間采用JSON方式進行異步數(shù)

13、據(jù)交換。JSON是一種基于ECMAScript的輕量級的數(shù)據(jù)交換格式,是一種完全獨立于語言的文本格式。智慧競賽APP客戶端中采用http post方式實現(xiàn)與服務(wù)器的交換。JSON請求類設(shè)計采用觀察者模式(如圖4所示),通過SetOnResponseEventListener方法實現(xiàn)與RequestThread之間通信。RequestThread負責(zé)監(jiān)聽和處理具體相應(yīng)請求。 </p><p>  4 智慧競賽APP

14、推送服務(wù) </p><p>  消息推送通過定期傳送用戶需要的信息來減少信息過載的一項新技術(shù),根據(jù)用戶的興趣搜索、過濾信息,并將其定期推給用戶,幫助用戶高效率地發(fā)掘有價值的信息。常見的推送方式有輪詢和持久連接方式。輪詢方式中客戶端定期向服務(wù)器端發(fā)送請求,查詢數(shù)據(jù)更新狀態(tài)。持久連接方式中客戶端和服務(wù)器之間建立長久連接,這樣就可以實現(xiàn)消息的及時行和實時性。 </p><p>  智慧競賽協(xié)同服

15、務(wù)平臺通過百度消息推送服務(wù)將競賽相關(guān)信息定期推送到智慧競賽APP客戶端確保消息及時性。使用百度推送服務(wù)基本流程如下:首先開發(fā)者在百度注冊并登陸后,創(chuàng)建一個應(yīng)用;接著利用百度提供的客戶端android SDK編寫該應(yīng)用的客戶端程序,將API Key寫入客戶端程序的配置文件;然后利用百度提供的推送平臺向百度的推送服務(wù)器發(fā)送推送消息的命令,百度服務(wù)器收到命令后向客戶端推送消息。該過程也可以由開發(fā)者利用百度提供的PHP SDK編寫腳本完成,此時

16、需要顯式使用API Key和secret Key,根據(jù)推送需求可能還會需要user id、channel id以及tag。智慧?賽消息推送架構(gòu)具體如圖5所示。 </p><p><b>  5 結(jié)束語 </b></p><p>  基于Android的智慧競賽APP采用分層設(shè)計思想實現(xiàn)了松耦合軟件設(shè)計要求。設(shè)計方案中在簡單對象訪問協(xié)議基礎(chǔ)上設(shè)計了NetUtil和Uti

17、l類構(gòu)造數(shù)據(jù)訪問中間件,實現(xiàn)了模塊的重用。智慧競賽APP采用百度云推送方式快速構(gòu)建了消息推送服務(wù),采用第三方專業(yè)推送服務(wù)減少了推送服務(wù)器維護成本。 </p><p><b>  參考文獻: </b></p><p>  [1]陳紅玲,崔寧,崔樹林,曾文鍵.基于.NET平臺高校競賽管理系統(tǒng)設(shè)計與實現(xiàn)[J].計算機技術(shù)與發(fā)展,2013(01):173-176. </

18、p><p>  [2]毛洪賁,王石發(fā),姜琪,周愛花.基于.NET的學(xué)科競賽管理系統(tǒng)設(shè)計與實現(xiàn)[J].現(xiàn)代教育技術(shù),2013(12):107-110. </p><p>  [3]羅玲玲.高校學(xué)科競賽信息管理系統(tǒng)的研究與分析[D].云南大學(xué),2015. </p><p>  [4]陳海俊.基于網(wǎng)絡(luò)測評的競賽管理系統(tǒng)設(shè)計與實現(xiàn)[D].江西財經(jīng)大學(xué),2015. </p&

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論