胡曉燕 譚躍生 李海榮 方中純
內(nèi)蒙古科技大學(xué)工程訓(xùn)練中心 內(nèi)蒙古包頭 014010
?
基于Android系統(tǒng)的移動(dòng)學(xué)習(xí)環(huán)境開發(fā)與應(yīng)用
胡曉燕 譚躍生 李海榮 方中純
內(nèi)蒙古科技大學(xué)工程訓(xùn)練中心 內(nèi)蒙古包頭 014010
摘 要:以C語言作為改革示范課程,研究移動(dòng)學(xué)習(xí)平臺的相關(guān)內(nèi)容,設(shè)計(jì)一個(gè)基于Android系統(tǒng)的移動(dòng)學(xué)習(xí)平臺。介紹了這一學(xué)習(xí)平臺的設(shè)計(jì)原則、系統(tǒng)構(gòu)架、功能分析以及數(shù)據(jù)庫設(shè)計(jì),學(xué)生可以借助這一平臺獲取課程資料、章節(jié)練習(xí)和模擬測試等,為傳統(tǒng)課堂教學(xué)提供互補(bǔ)。
關(guān)鍵詞:C語言;移動(dòng)學(xué)習(xí);Android
隨著計(jì)算機(jī)科學(xué)技術(shù)的迅速發(fā)展和智能手機(jī)的普及,移動(dòng)學(xué)習(xí)在高校教育領(lǐng)域正進(jìn)行如火如荼的應(yīng)用和推廣。移動(dòng)學(xué)習(xí)是利用無線移動(dòng)通信網(wǎng)絡(luò)技術(shù)以及無線移動(dòng)設(shè)備獲取課程信息、課程服務(wù)、課程資源的一種新型學(xué)習(xí)方式[1]。移動(dòng)學(xué)習(xí)使學(xué)習(xí)者可以在任何時(shí)間、任何地點(diǎn)獲取自己想要的課程資源。實(shí)現(xiàn)真正意義上的自主學(xué)習(xí);實(shí)現(xiàn)學(xué)生和教師之間無障礙及時(shí)溝通。結(jié)合目前我中心C語言教學(xué)的實(shí)際情況:講解的教學(xué)內(nèi)容比較多,但教學(xué)學(xué)時(shí)數(shù)少,課堂上沒有足夠的時(shí)間把教學(xué)活動(dòng)展現(xiàn)給學(xué)生,擬將移動(dòng)學(xué)習(xí)技術(shù)引入C語言課程教學(xué)中,應(yīng)用HBuilder開發(fā)工具開發(fā)一個(gè)基于Android平臺的手機(jī)移動(dòng)學(xué)習(xí)系統(tǒng),精心設(shè)計(jì)適合于移動(dòng)學(xué)習(xí)的課程資源,從而為學(xué)生提供一種新的學(xué)習(xí)方式,將單一的課堂交流方式轉(zhuǎn)變?yōu)殡p向和多項(xiàng)交流方式,提高學(xué)生的學(xué)習(xí)興趣,將有限的課堂轉(zhuǎn)變?yōu)闆]有時(shí)空限制的移動(dòng)學(xué)習(xí),最終提升學(xué)生的自主學(xué)習(xí)能力和編程能力。教師可以根據(jù)課程的需要自主設(shè)計(jì)和管理課程,發(fā)布課堂資料,布置課后作業(yè),公布課程消息等,與學(xué)習(xí)者實(shí)現(xiàn)互動(dòng)交流,解惑答疑。學(xué)習(xí)者也可以進(jìn)行教學(xué)內(nèi)容瀏覽、互動(dòng)答疑、學(xué)習(xí)交流、接收公告等,從而實(shí)現(xiàn)協(xié)作式、自主學(xué)習(xí)。
移動(dòng)平臺基于Android系統(tǒng),采用C/S模式結(jié)構(gòu)。C/S模式結(jié)構(gòu)充分利用了兩端硬件環(huán)境的技術(shù)優(yōu)勢,將任務(wù)合理的分配到客戶端與服務(wù)器。降低了系統(tǒng)通訊開銷。C語言移動(dòng)學(xué)習(xí)系統(tǒng)主要遵循以下3項(xiàng)設(shè)計(jì)原則。
1.1 學(xué)習(xí)資源的微型化
在移動(dòng)學(xué)習(xí)過程中,學(xué)習(xí)者可能會處于一個(gè)嘈雜的環(huán)境之中,所以學(xué)習(xí)過程難免會受外界干擾,注意力集中的時(shí)間也相對較短。因此,在移動(dòng)學(xué)習(xí)系統(tǒng)的開發(fā)過程中,一定要遵循“短小精悍”的原則,盡量開發(fā)一些較簡短的學(xué)習(xí)模塊。學(xué)習(xí)單元的時(shí)間一般控制在10分鐘左右,同時(shí)每個(gè)學(xué)習(xí)單元之間的關(guān)聯(lián)性不要太強(qiáng),也就是說這一單元的學(xué)習(xí)不會影響下一單元的學(xué)習(xí)效果[2]。
1.2 操作的簡易性
當(dāng)今的大學(xué)生使用最多的移動(dòng)學(xué)習(xí)終端還是智能手機(jī),但智能手機(jī)存在屏幕小,鍵盤小的缺點(diǎn),所以系統(tǒng)的功能性操作盡量的簡單明了,界面設(shè)計(jì)簡單大方。這樣學(xué)習(xí)者在使用移動(dòng)學(xué)習(xí)系統(tǒng)時(shí)會更方便、快捷。
1.3 可擴(kuò)展性和兼容性
移動(dòng)學(xué)習(xí)系統(tǒng)的設(shè)計(jì)必須能夠滿足系統(tǒng)以后的內(nèi)容擴(kuò)展,功能擴(kuò)展和開放接口擴(kuò)展等;系統(tǒng)不僅要適應(yīng)高端的手機(jī),也要盡量兼容低端的手機(jī),保證這些手機(jī)用戶在學(xué)校主頁下載園地上能夠下載移動(dòng)學(xué)習(xí)系統(tǒng)客戶端實(shí)現(xiàn)移動(dòng)學(xué)習(xí)。
圖1為移動(dòng)學(xué)習(xí)系統(tǒng)的系統(tǒng)構(gòu)架,由圖1可以看出,客戶端基于HTTP協(xié)議訪問通過Web服務(wù)并獲取課程學(xué)習(xí)資源,章節(jié)練習(xí)和模擬測試等信息。Web服務(wù)接收客戶端要求,訪問數(shù)據(jù)庫和資源庫獲取客戶端需要的資源和信息,并將處理結(jié)果返回給客戶端。
圖1 系統(tǒng)的構(gòu)架圖
移動(dòng)學(xué)習(xí)系統(tǒng)采用MCV三層架構(gòu)開發(fā),分別是用戶層、業(yè)務(wù)邏輯層、數(shù)據(jù)操作層。第一層,用戶層主要進(jìn)行平臺界面的設(shè)計(jì),為用戶提供歡迎界面;第二層,業(yè)務(wù)邏輯層,采用開源Tomcat搭建Web服務(wù)器層;第三層,數(shù)據(jù)操作層,主要負(fù)責(zé)存儲獲取數(shù)據(jù),服務(wù)器數(shù)據(jù)庫采用MySQL搭建,用于存儲用戶信息,學(xué)習(xí)資源等。
Android客戶端采用自帶的一款輕型數(shù)據(jù)庫SQLite3,SQLite3數(shù)據(jù)庫可以保存客戶端儲存數(shù)據(jù)量較少的需求??蛻舳伺c服務(wù)器端兩者之間通過HTTP協(xié)議進(jìn)行通信,數(shù)據(jù)通信格式使用的是XML或JOSN格式,數(shù)據(jù)庫采用MySQL5.4關(guān)系數(shù)據(jù)庫管理系統(tǒng),此關(guān)系數(shù)據(jù)庫不是將所有數(shù)據(jù)統(tǒng)一存放在一個(gè)大倉庫內(nèi),而是將數(shù)據(jù)分別保存在不同的表中,這樣做的目的就是增加了處理速度和靈活性[3]。
平臺采用HBuilder為開發(fā)工具。HBuilder是DCloud推出的一款支持HTML5的Web開發(fā)IDE。通過完整的語法提示和代碼輸入法,代碼塊等,大幅度提升HTML,JS,CSS的開發(fā)效率。同時(shí),它還包括最全面的語法庫和瀏覽器兼容性數(shù)據(jù)。HBuilder是當(dāng)前最快的HTML開發(fā)工具,強(qiáng)大的代碼助手幫你快速完成開發(fā),最全的語法庫和瀏覽器兼容性數(shù)據(jù)讓瀏覽器碎片化不再頭痛。
客戶端為運(yùn)行Android的移動(dòng)學(xué)習(xí)系統(tǒng),通過Socket HTTP協(xié)議訪問Web服務(wù)器,Web服務(wù)器通過訪問MYSQL數(shù)據(jù)庫獲取相應(yīng)的資源和信息來響應(yīng)客戶端的請求,最后服務(wù)器將處理數(shù)據(jù)以JSON文本返回給客戶端。Web服務(wù)器采用Tomcat7.0,客戶端使用Android4.0.3版本。
針對上述要求,該平臺由內(nèi)容學(xué)習(xí),反饋練習(xí)和學(xué)習(xí)交流三大模塊構(gòu)成。
3.1 內(nèi)容學(xué)習(xí)模塊
內(nèi)容學(xué)習(xí)模塊是3個(gè)模塊的重中之重。內(nèi)容學(xué)習(xí)模塊包括3個(gè)功能子模塊,分別是:課件學(xué)習(xí)、視頻學(xué)習(xí)、消息查看;其中:課件學(xué)習(xí)主要是對教材的學(xué)習(xí),按章節(jié)編排好,呈現(xiàn)給學(xué)生。材料有兩部分構(gòu)成:PPT及Word格式。這些教學(xué)資料存儲在移動(dòng)系統(tǒng)中,在沒有網(wǎng)絡(luò)的情況下,也可以進(jìn)行移動(dòng)學(xué)習(xí),不需要從服務(wù)器端口重新下載。
視頻學(xué)習(xí)的內(nèi)容是視頻教學(xué),因?yàn)槲募容^大,需要儲存在服務(wù)器上。當(dāng)學(xué)生進(jìn)行視頻資源學(xué)習(xí)時(shí),學(xué)生客戶端通過URL下載視頻到系統(tǒng)中,采用Android自帶的MediaPlayer播放器進(jìn)行播放,對于已經(jīng)播放過一次的視頻,系統(tǒng)可以將其下載到系統(tǒng)緩存區(qū)中,下次播放時(shí)就可以直接觀看,不需要再重新下載,這樣就可以節(jié)省流量的開銷。
消息查看模塊顯示教師向?qū)W生推送的信息,包括作業(yè)及各種提示信息等。
3.2 反饋練習(xí)模塊
分為章節(jié)練習(xí)和模塊測試兩部分。章節(jié)練習(xí)是按章節(jié)向?qū)W生呈現(xiàn)各種類型的練習(xí)題(包括選擇題,填空題,編程題),讓學(xué)生可以跟著課程進(jìn)度進(jìn)行練習(xí)。幫助學(xué)習(xí)者更有針對性的練習(xí),更適合初學(xué)者使用。模擬測試是向?qū)W生呈現(xiàn)總模擬題,讓學(xué)生在期末進(jìn)行總復(fù)習(xí),查漏補(bǔ)缺。
3.3 學(xué)習(xí)交流模塊
學(xué)習(xí)交流模塊支持學(xué)生提出問題并瀏覽。學(xué)生和學(xué)生、學(xué)生和教師之間都可以進(jìn)行交流學(xué)習(xí)。學(xué)生可以提出問題,點(diǎn)擊提交按鈕,服務(wù)端接收信息,由教師處理學(xué)生提出的問題。
4.1 主界面
進(jìn)入C語言課程學(xué)習(xí)系統(tǒng)首頁,就會出現(xiàn)如圖2所示的歡迎界面。
圖2 歡迎界面
圖3 學(xué)生學(xué)習(xí)界面
4.2 學(xué)生學(xué)習(xí)界面
進(jìn)入主界面后劃動(dòng)屏幕就可以進(jìn)入到學(xué)生學(xué)習(xí)界面。
當(dāng)用戶選中“內(nèi)容學(xué)習(xí)”后,在上方出現(xiàn)“課件學(xué)習(xí)”“視頻學(xué)習(xí)”兩個(gè)選擇項(xiàng)目(如圖3所示)。選擇“課件學(xué)習(xí)”按鈕,就會出現(xiàn)如圖4所示界面。從中可以瀏覽教師上課講課使用的教學(xué)資料,以便幫助學(xué)生鞏固復(fù)習(xí),加深記憶。選擇“視頻學(xué)習(xí)”按鈕,就會出現(xiàn)如圖5所示的界面。在服務(wù)器中存儲大量的視頻教程,有全國主講C語言名師的視頻,也有上課教師所講的視頻,供學(xué)生們查看。
圖4 課程學(xué)習(xí)界面
圖5 視頻學(xué)習(xí)界面
如果進(jìn)入到學(xué)生學(xué)習(xí)界面,選擇的是“反饋練習(xí)”,就會出現(xiàn)如圖6所示的界面。選擇“章節(jié)練習(xí)”和“模擬練習(xí)”分別會出現(xiàn)如圖7、圖8所示的界面。
圖6 反饋練面
圖7 章節(jié)練習(xí)界面
如果進(jìn)入到學(xué)生學(xué)習(xí)界面,選擇的是“學(xué)習(xí)交流”按鈕,就會出現(xiàn)如圖9所示的界面。
圖8 模擬練習(xí)界面
圖9 學(xué)習(xí)交流界面
數(shù)據(jù)庫是應(yīng)用程序不可缺少的一個(gè)重要部分。在Android移動(dòng)學(xué)習(xí)平臺客戶端中也需要進(jìn)行數(shù)據(jù)的存儲和交互,因此數(shù)據(jù)庫的設(shè)計(jì)是客戶端設(shè)計(jì)的關(guān)鍵之處。
Android系統(tǒng)中集成了一個(gè)輕量級的數(shù)據(jù)庫——SQLite。SQLite數(shù)據(jù)庫只是一個(gè)文件,并不需要安裝和啟動(dòng),相當(dāng)于嵌入式的數(shù)據(jù)庫搜索引擎。適合于小存儲量的設(shè)備中的數(shù)據(jù)的存取,非常適合于移動(dòng)終端這種便攜設(shè)備。從本質(zhì)上講,SQLit的操作方式只是一種更為便捷的文件操作。在應(yīng)用程序創(chuàng)建或打一個(gè)SQLite數(shù)據(jù)庫,并非是針對真正的數(shù)據(jù)庫進(jìn)行操作,而只是對一個(gè)文件進(jìn)行讀寫。由此可見,手機(jī)中存在的數(shù)據(jù)庫要求數(shù)據(jù)量和計(jì)算復(fù)雜度都不能很大,只能對簡單的、輕量級的數(shù)據(jù)進(jìn)行存儲和讀?。?]。
本文針對我校計(jì)算機(jī)基礎(chǔ)教學(xué)培養(yǎng)方案把移動(dòng)學(xué)習(xí)引入到C語言課程當(dāng)中,設(shè)計(jì)了基于Android移動(dòng)學(xué)習(xí)平臺。我們可以把移動(dòng)學(xué)習(xí)應(yīng)用到其他課程當(dāng)中,將為其他課程教學(xué)開辟了一條新的道路。移動(dòng)學(xué)習(xí)作為其他教學(xué)形式的有益補(bǔ)充,以滿足學(xué)習(xí)者隨時(shí)地學(xué)習(xí)的需要,也是高校改革的一個(gè)研究方向[5]。本文研究的移動(dòng)學(xué)習(xí)平臺有很多不足的地方,我們將會繼續(xù)優(yōu)化、完善移動(dòng)學(xué)習(xí)系統(tǒng)的功能,為后期開發(fā)一個(gè)使用便捷,功能豐富、體驗(yàn)良好、開發(fā)簡潔的輕量級的移動(dòng)應(yīng)用程序提供了一種方法和思路。
參考文獻(xiàn)
[1]石雪飛,原艷霞.高等教育移動(dòng)學(xué)習(xí)現(xiàn)狀及未來發(fā)展[J].中國教育網(wǎng)絡(luò),2015(4):35.
[2]汪敏.基于Android系統(tǒng)的智能手機(jī)移動(dòng)學(xué)習(xí)軟件的設(shè)計(jì)與開發(fā)[D].大連:遼寧師范大學(xué),2014.
[3]呂偉.基于Android的移動(dòng)學(xué)習(xí)平臺的設(shè)計(jì)與實(shí)現(xiàn)[D].南京:南京師范大學(xué),2013.
[4]劉賓.基于Android的《計(jì)算機(jī)文化基礎(chǔ)》移動(dòng)學(xué)習(xí)系統(tǒng)的設(shè)計(jì)與開發(fā)[D].濟(jì)南:山東師范大學(xué),2013.
[5]賈國祥.基于3G手機(jī)移動(dòng)學(xué)習(xí)平臺的研究[J].中國教育信息化,2010(5):54-56.
Development and Application of Mobile Learning Environment Based on Android System
Hu Xiaoyan, Tan Yuesheng , Li Hairong, Fang Zhongchun
Engineering&Training Center, Inner Monolia University of Seicence and Teachnoligy, Baotou, 014010, China
Abstrcat:Taking "C language" as the reform demonstration courace, the research on the related content of the mobile learning platform,designing a mobile learning platform based on Android.This paper introduces the design principle, system structure, function analysis and database design of this platform. The students can obtain the course materials, the chapter exercises and the simulation test by using this platform.
Key word:C language; mobile learning; Android
收稿日期:2015-12-06
作者簡介:胡曉燕,在讀碩士研究生,講師。譚躍生,本科,教授。李海榮,碩士,副教授。方中純,博士,副教授。
基金項(xiàng)目:內(nèi)蒙古科技大學(xué)教改項(xiàng)目(編號:JY2014120)。