, ,
(石家莊鐵道大學(xué) 信息科學(xué)與技術(shù)學(xué)院,河北 石家莊 050043)
基于Android移動(dòng)終端的MOOC系統(tǒng)優(yōu)化機(jī)制研究
胡暢霞,米建,劉穎
(石家莊鐵道大學(xué) 信息科學(xué)與技術(shù)學(xué)院,河北 石家莊 050043)
MOOC(Massive Open Online Course)開放式在線網(wǎng)絡(luò)課程,是一種新興的網(wǎng)絡(luò)學(xué)習(xí)方式。Android移動(dòng)終端作為新時(shí)代、新科技的產(chǎn)物,它的及時(shí)性與便攜性為人們的生活帶來極大的便利?;贏ndroid技術(shù)的MOOC移動(dòng)終端能夠兼容兩者的優(yōu)點(diǎn),為學(xué)習(xí)者提供更加方便、快捷、系統(tǒng)化的在線學(xué)習(xí)課程模式。從研究MOOC系統(tǒng)優(yōu)化機(jī)制的角度出發(fā),以增強(qiáng)系統(tǒng)的流暢性和減少系統(tǒng)流量使用量為目標(biāo),對(duì)MOOC移動(dòng)終端進(jìn)行系統(tǒng)分析與系統(tǒng)優(yōu)化。
MOOC;Android移動(dòng)終端;系統(tǒng)優(yōu)化
MOOC學(xué)習(xí)作為一種最新形勢(shì)的網(wǎng)絡(luò)化、數(shù)字化學(xué)習(xí)方式,它的學(xué)習(xí)平臺(tái)也趨于多元化。隨著智能移動(dòng)終端技術(shù)的日益強(qiáng)大和4G移動(dòng)通信技術(shù)的大范圍應(yīng)用,制約移動(dòng)學(xué)習(xí)的技術(shù)性瓶頸已得到相當(dāng)程度的緩解,無論是移動(dòng)通信網(wǎng)絡(luò)的數(shù)據(jù)傳輸速度還是移動(dòng)學(xué)習(xí)的承載者——智能移動(dòng)終端,它們的處理能力都得到大幅度的提升。MOOC移動(dòng)終端將大大的減少學(xué)習(xí)時(shí)間和學(xué)習(xí)地點(diǎn)對(duì)學(xué)習(xí)者的制約,提高學(xué)習(xí)的自由度與學(xué)習(xí)效率。一款優(yōu)秀的MOOC移動(dòng)終端不僅需要擁有科學(xué)化、體系化的功能模塊劃分,還需要一套良好的優(yōu)化機(jī)制,來使用戶無礙化使用系統(tǒng)并且耗費(fèi)較少的數(shù)據(jù)流量資源,從而達(dá)到“可用、易用、愛用”的目的。
根據(jù)MOOC系統(tǒng)的特征,結(jié)合在開發(fā)《鐵大MOOC》手機(jī)APP時(shí)的經(jīng)驗(yàn),首先簡(jiǎn)述《鐵大MOOC》系統(tǒng),再?gòu)南到y(tǒng)使用的流暢性、使用數(shù)據(jù)流量的合理性和獲取數(shù)據(jù)的規(guī)范性3個(gè)角度,對(duì)MOOC移動(dòng)端的優(yōu)化機(jī)制進(jìn)行研究。
《鐵大MOOC》Android移動(dòng)終端是由石家莊鐵道大學(xué)繼續(xù)教育學(xué)院承辦,為成人高等學(xué)歷教育提供更優(yōu)質(zhì)的服務(wù)而創(chuàng)建。由于成人高等學(xué)歷教育受到受教人群性質(zhì)的限制,不能按照傳統(tǒng)課堂教學(xué)模式來完成學(xué)業(yè)。MOOC學(xué)習(xí)模式很適合成人教育,它的數(shù)字化、網(wǎng)絡(luò)化可以使成年學(xué)習(xí)者擺脫學(xué)習(xí)時(shí)間、和學(xué)習(xí)地點(diǎn)的束縛,利用下班時(shí)間和空閑零碎時(shí)間來完成學(xué)習(xí)任務(wù)?!惰F大MOOC》移動(dòng)終端擁有一套完整科學(xué)的功能框架,來幫助學(xué)習(xí)者學(xué)習(xí)知識(shí),系統(tǒng)功能如圖1所示。
圖1 《鐵大MOOC》APP功能框圖
本項(xiàng)目是基于Android移動(dòng)終端技術(shù)開發(fā),在前臺(tái)界面和功能實(shí)現(xiàn)使用ADT(Android Develop Tool)開發(fā),Java語(yǔ)言編寫;后臺(tái)數(shù)據(jù)存儲(chǔ)采用SQL server數(shù)據(jù)庫(kù)存儲(chǔ),數(shù)據(jù)庫(kù)中大量應(yīng)用“視圖設(shè)計(jì)”來關(guān)聯(lián)字段,減輕sql語(yǔ)句的冗余和復(fù)雜度,提高數(shù)據(jù)的交互速度;數(shù)據(jù)訪問與通信采用Webservice技術(shù),Webservice服務(wù)提供數(shù)據(jù)訪問接口,作為ADT與SQL server數(shù)據(jù)庫(kù)數(shù)據(jù)通信的橋梁,確保了數(shù)據(jù)訪問和數(shù)據(jù)交互的安全性。
本文主要闡述在開發(fā)《鐵大MOOC》移動(dòng)終端時(shí),結(jié)合MOOC系統(tǒng)的數(shù)據(jù)特征,對(duì)系統(tǒng)優(yōu)化處理,來使系統(tǒng)流暢化和節(jié)省數(shù)據(jù)流量。優(yōu)化機(jī)制主要從3方面研究:(1)系統(tǒng)線程優(yōu)化機(jī)制;(2)圖片資源優(yōu)化機(jī)制;(3)Web Service數(shù)據(jù)接口優(yōu)化機(jī)制。
MOOC是以連通主義理論和網(wǎng)絡(luò)化學(xué)習(xí)的開放教育學(xué)為基礎(chǔ),連結(jié)主義式的教學(xué)設(shè)計(jì)原則讓大量的資料能在線上不同媒介傳播[3]。在《鐵大MOOC》手機(jī)APP中消息機(jī)制多為網(wǎng)絡(luò)數(shù)據(jù)借口提供數(shù)據(jù),手機(jī)客戶端接受查看數(shù)據(jù),因此,在APP中存在著眾多的連網(wǎng)耗時(shí)操作和連網(wǎng)獲取數(shù)據(jù)附帶耗時(shí)操作。
Android默認(rèn)約定在UI線程阻塞超過20 s時(shí)將會(huì)引發(fā)ANR(Application Not Responding)異常[2],但從人機(jī)交互的角度,短短3 s的系統(tǒng)停滯就會(huì)引起用戶的等待疲勞。在開發(fā)《鐵大MOOC》手機(jī)APP時(shí)使用線程級(jí)優(yōu)化機(jī)制,將耗時(shí)操作開辟新的線程進(jìn)行異步處理,在本項(xiàng)目中使用到Android輕量級(jí)異步處理——AsyncTask。
以“通知公告下拉刷新”功能為例,完成一次操作將同時(shí)加載多條數(shù)據(jù)和加載多組控件來完成數(shù)據(jù)更新顯示。
在實(shí)現(xiàn)下拉刷新功能時(shí),自定義控件RefreashLayout,并且編寫RefreashLayout類,在類中編寫下拉刷新時(shí)的加載動(dòng)畫操作,并且給下拉刷新控件注冊(cè)一個(gè)監(jiān)聽器,在通知公告界面啟動(dòng)監(jiān)聽器。在不經(jīng)過優(yōu)化處理的情況下,直接調(diào)用RefreashLayout類和獲取網(wǎng)絡(luò)數(shù)據(jù)實(shí)現(xiàn)下拉刷新功能;而在UI主線程中開辟異步操作優(yōu)化,將調(diào)用RefreashLayout類和獲取網(wǎng)絡(luò)數(shù)據(jù)放入AsyncTask異步類中,實(shí)現(xiàn)下拉刷新功能。
圖2 下拉刷新所需的時(shí)間對(duì)比圖
在保持網(wǎng)絡(luò)良好的情況下用同一個(gè)手機(jī)分別測(cè)試5組下拉刷新操作記錄所需的時(shí)間。測(cè)試結(jié)果如圖2所示。
經(jīng)過異步優(yōu)化處理后下拉刷新所需的時(shí)間明顯少于沒有經(jīng)過優(yōu)化所需的時(shí)間,并且在沒有優(yōu)化直接調(diào)用RefreashLayout類和獲取網(wǎng)絡(luò)數(shù)據(jù)時(shí),由于耗時(shí)操作阻礙了UI主線程導(dǎo)致下拉刷新時(shí)有明顯的卡頓現(xiàn)象,影響軟件的整體響應(yīng)效率和用戶體驗(yàn)。
為耗時(shí)操作開辟合理的線程級(jí)優(yōu)化,保障MOOC手機(jī)客戶端流暢運(yùn)行,使用戶可以無礙化使用軟件。
MOOC系統(tǒng)中存在著豐富的課程圖片資源,這些圖片不僅可以起到解釋課程內(nèi)容的作用,還增加了軟件的美觀度和豐富軟件的內(nèi)容。但由于圖片資源的數(shù)據(jù)量大并且伴隨著連網(wǎng)操作,加載網(wǎng)絡(luò)圖片會(huì)耗費(fèi)大量的系統(tǒng)資源,如果圖片加載超時(shí)或延遲會(huì)影響整體程序的響應(yīng),從而導(dǎo)致用戶友好體驗(yàn)降低。結(jié)合MOOC系統(tǒng)中課程圖片的特點(diǎn),淺析在開發(fā)《鐵大MOOC》手機(jī)APP時(shí)對(duì)圖片資源的優(yōu)化機(jī)制。
在MOOC系統(tǒng)中課程圖片資源有以下特點(diǎn):圖片資源來源于網(wǎng)絡(luò)服務(wù)器、圖片條目眾多并且登陸后需要同時(shí)加載、圖片每次登錄基本無變化。
在利用傳統(tǒng)方式加載圖片資源時(shí)出現(xiàn)3個(gè)問題:①圖片加載時(shí)出現(xiàn)錯(cuò)位現(xiàn)象;②加載耗時(shí)嚴(yán)重影響軟件的響應(yīng)性。③在圖片數(shù)目多時(shí)經(jīng)常出現(xiàn)ANR現(xiàn)象。
為了解決上述問題,實(shí)現(xiàn)異步加載、緩存、顯示圖片資源,在開發(fā)時(shí)結(jié)合MOOC圖片資源的特點(diǎn)運(yùn)用多線程和緩存機(jī)制實(shí)現(xiàn)異步圖像加載、緩存和顯示。體系結(jié)構(gòu):每一個(gè)圖片的加載和顯示任務(wù)都運(yùn)行在獨(dú)立的線程中,除非這個(gè)圖片緩存在內(nèi)存中,這種情況下圖片資源會(huì)立即顯示。如果需要顯示的圖片緩存在SD卡中,系統(tǒng)開啟一個(gè)獨(dú)立的線程隊(duì)列,從本地調(diào)取圖片信息。如果在緩存中沒有需要顯示的圖片,啟動(dòng)異步線程從網(wǎng)絡(luò)數(shù)據(jù)源獲取。
數(shù)據(jù)獲取后將數(shù)據(jù)同時(shí)保存到緩存和SD卡上,并且直接將圖片顯示在UI中。在這種體系結(jié)構(gòu)中,圖片可以快速加載顯示,并且每張圖片都在獨(dú)立的線程中,在加載時(shí)不會(huì)出現(xiàn)圖片錯(cuò)位現(xiàn)象。流程示意圖如圖3所示。
在保持網(wǎng)絡(luò)良好的情況下,利用兩種方式分別加載3次同一組圖片(一組5張圖片),記錄每次加載流量數(shù)據(jù)的使用情況,如圖4所示。
圖3 優(yōu)化加載圖片流程示意圖
圖4 流量使用對(duì)比圖
在保持網(wǎng)絡(luò)良好的情況下,利用兩種方式分別加載5次同一組圖片(一組5張圖片),記錄每次完成使用的時(shí)間,如圖5所示。
圖5 加載時(shí)間對(duì)比圖
通過數(shù)據(jù)對(duì)比在優(yōu)化后數(shù)據(jù)使用量和加載所需時(shí)間都明顯減少。從數(shù)據(jù)能看出,由于利用緩存機(jī)制在優(yōu)化后,再次加載時(shí)將基本無需使用流量并且加載顯示流暢。將系統(tǒng)內(nèi)大數(shù)據(jù)文件(如圖片、文檔、視頻等)合理緩存到本地,減少數(shù)據(jù)流量,增快顯示速度。
WebService作為服務(wù)器與應(yīng)用程序之間的“橋梁”,在應(yīng)用程序開發(fā)中起著舉足輕重的作用。應(yīng)用程序通過進(jìn)程發(fā)送向服務(wù)器發(fā)送請(qǐng)求,進(jìn)程接收服務(wù)器響應(yīng),之后將響應(yīng)返回到應(yīng)用程序[1]。進(jìn)程接收服務(wù)器響應(yīng)所需要的時(shí)間被稱為“等待時(shí)間”,等待時(shí)間越長(zhǎng),應(yīng)用程序響應(yīng)時(shí)間就越長(zhǎng),用戶體驗(yàn)也就越差。為減少應(yīng)用程序響應(yīng)時(shí)間,使用戶獲得良好的用戶體驗(yàn),采用異步通信的方式緩解服務(wù)器運(yùn)行壓力。定義IAsyncResult異步操作類的變量接收開始異步通信方法所返回的通信狀態(tài)。
舉例《鐵大MOOC》中“我的課程”功能。點(diǎn)擊ListView的Item時(shí),需要進(jìn)行界面的跳轉(zhuǎn)以及多條數(shù)據(jù)的綁定。
在實(shí)現(xiàn)界面跳轉(zhuǎn)功能時(shí),先自定義ViewPager類,并編寫ViewPager類的方法,綁定相關(guān)數(shù)據(jù)。在ListView主界面給Items注冊(cè)監(jiān)聽器,并在“我的課程”主界面啟動(dòng)監(jiān)聽器。采用異步方式進(jìn)行WebService的調(diào)用,將點(diǎn)擊Items進(jìn)行界面跳轉(zhuǎn)和綁定ViewPager放置在IAsyncResult異步類中進(jìn)行操作,同時(shí)運(yùn)行界面跳轉(zhuǎn)和數(shù)據(jù)綁定進(jìn)程。
圖6 加載時(shí)間對(duì)比圖
在保持網(wǎng)絡(luò)良好的情況下分別測(cè)試5組界面跳轉(zhuǎn)所需時(shí)間,結(jié)果如圖6所示。
經(jīng)過異步處理操作調(diào)用WebService所需的時(shí)間明顯少于通過同步通信調(diào)用WebService所需的時(shí)間。并且經(jīng)過異步調(diào)用WebService機(jī)制,ViewPager在系統(tǒng)進(jìn)行界面跳轉(zhuǎn)的同時(shí)進(jìn)行數(shù)據(jù)的綁定,相對(duì)于同步通信處理機(jī)制來說,減少了用戶的等待時(shí)間,避免了軟件的卡頓現(xiàn)象。
通過舉例我們可以明顯得出,適當(dāng)運(yùn)用異步通信調(diào)用WebService,可以有效優(yōu)化WebService數(shù)據(jù)接口。合理有效地實(shí)現(xiàn)資源的利用和分配,從而實(shí)現(xiàn)良好的用戶體驗(yàn)。
《鐵大MOOC》手機(jī)客戶端配合石家莊鐵道大學(xué)繼續(xù)教育學(xué)院,為成人教育提供MOOC式優(yōu)質(zhì)教育,在線學(xué)習(xí)人數(shù)多工作繁忙,對(duì)客戶端有更高的要求。本文提出了3大優(yōu)化機(jī)制,系統(tǒng)線程優(yōu)化機(jī)制,為耗時(shí)操作開辟新的線程提高系統(tǒng)的處理效率;圖片資源優(yōu)化機(jī)制,運(yùn)用多線程和緩存機(jī)制實(shí)現(xiàn)異步圖像加載、緩存和顯示,提高圖片的顯示速度減少數(shù)據(jù)流量的使用;Webservice數(shù)據(jù)接口優(yōu)化機(jī)制,規(guī)范化獲取數(shù)據(jù)。通過這3大優(yōu)化機(jī)制,大大的提高了客戶端的工作效率,節(jié)省了用戶的時(shí)間和數(shù)據(jù)流量,并且有助于管理人員對(duì)信息數(shù)據(jù)的收集數(shù)據(jù),對(duì)學(xué)員的學(xué)習(xí)行為進(jìn)行打分與管理。
[1]韓超.Android核心原理與系統(tǒng)級(jí)應(yīng)用高效開發(fā)[M].北京:電子工業(yè)出版社,2012.
[2]李剛.瘋狂Android講義[M].3版.北京:電子工業(yè)出版社,2015.
[3]李曼麗. 解碼MOOC——大規(guī)模在線開放課程的教育學(xué)考察[M].北京:清華大學(xué)出版社,2013.
MOOCSystemOptimizationMechanismBasedontheAndroidMobileTerminal
HuChangxia,MiJian,LiuYing
(School of Information Science and Technology, Shijiazhuang Tiedao University, Shijiazhuang 050043, China)
MOOC (Massive Open Online Course) Open Online courses is an emerging way of network study. The Android mobile terminal, as a product of new era and new technology, its timeliness and portability bring great convenience for people's life. MOOC based on Android mobile terminal, which possesses the advantages of both, provides learners with more convenient, fast and systematic online learning courses. The purpose of this paper is from the perspective of research on MOOC system optimization mechanism, to analyze and optimize the MOOC system to enhance the system fluency and reduce system flow usage.
MOOC;the android mobile terminal;system optimization
TP311.52
A
2095-0373(2017)03-0104-05
2016-06-20責(zé)任編輯劉憲福
10.13319/j.cnki.sjztddxxbzrb.2017.04.20
胡暢霞(1977-),女,副教授,研究方向?yàn)橛?jì)算機(jī)網(wǎng)絡(luò)技術(shù)及其應(yīng)用、移動(dòng)開發(fā)。E-mail:huchx@stdu.edu.cn
胡暢霞,米建,劉穎.基于Android移動(dòng)終端的MOOC系統(tǒng)優(yōu)化機(jī)制研究[J].石家莊鐵道大學(xué)學(xué)報(bào):自然科學(xué)版,2017,30(4):104-108.