任宇+舒暉
摘 要
隨著以手機(jī)為代表的智能移動(dòng)終端以及高速移動(dòng)網(wǎng)絡(luò)不斷發(fā)展,利用碎片化時(shí)間,進(jìn)行移動(dòng)教學(xué)已經(jīng)越來越成為一種發(fā)展趨勢。本文以《病原生物與免疫學(xué)》課程為例,探討了使用Java EE以及Android技術(shù)架構(gòu)開發(fā)手機(jī)課程的過程。
【關(guān)鍵詞】移動(dòng)學(xué)習(xí) 手機(jī)課程 Android開發(fā)
1 移動(dòng)學(xué)習(xí)
國內(nèi)高校通常依托校園網(wǎng)上建設(shè)了各類B/S數(shù)字化教學(xué)平臺(tái),擁有大量的網(wǎng)絡(luò)課程和精品課程。但隨著移動(dòng)互聯(lián)網(wǎng)的興起,新的媒體介質(zhì)和交互技術(shù)不斷涌現(xiàn),基于桌面互聯(lián)網(wǎng)(校園網(wǎng))的網(wǎng)絡(luò)教學(xué)手段暴露出學(xué)習(xí)的時(shí)空界限仍然明顯,沒有很好地實(shí)現(xiàn)以學(xué)習(xí)者為中心以及師生/生生之間的交互能力不足等問題。
移動(dòng)學(xué)習(xí)(e-Learning)是數(shù)字化學(xué)習(xí)在新的歷史條件下的全新發(fā)展,是指學(xué)習(xí)者利用移動(dòng)通信網(wǎng)絡(luò)技術(shù)設(shè)備獲取教育信息、教育資源和教育服務(wù),并在適當(dāng)?shù)那榫诚峦ㄟ^移動(dòng)技術(shù)實(shí)現(xiàn)教與學(xué)的豐富交互,隨時(shí)隨地進(jìn)行的數(shù)字化學(xué)習(xí)形式。完成移動(dòng)學(xué)習(xí)的介質(zhì)多種多樣,包括智能手機(jī)、平板電腦以及移動(dòng)電腦等等。其中,由于手機(jī)的便攜性以及普及性,基于智能手機(jī)的移動(dòng)學(xué)習(xí)是一種比較典型的實(shí)現(xiàn)方式。本文將以裝載Android平臺(tái)的智能手機(jī)為例,介紹《病原生物與免疫學(xué)》手機(jī)課程的開發(fā)方法。
2 課程系統(tǒng)設(shè)計(jì)
2.1 整體設(shè)計(jì)
《病原生物與免疫學(xué)》手機(jī)課程系統(tǒng)分為前端以及后端兩個(gè)組成部份:基于Android技術(shù)開發(fā)的前端客戶端App展示系統(tǒng),以及基于Java EE技術(shù)開發(fā)的后端管理及服務(wù)系統(tǒng)。前后端之間的通訊采用HTTP協(xié)議。前端調(diào)用后端API接口,獲取后端返回的JSON或二進(jìn)制流數(shù)據(jù),按前端規(guī)定的展示格式向?qū)W習(xí)者展現(xiàn);前端生成文字、語音評論通過后端API接口,上傳至后端文件目錄或數(shù)據(jù)庫保存。
2.2 功能設(shè)計(jì)
《病原生物與免疫學(xué)》是基礎(chǔ)醫(yī)學(xué)的一門專業(yè)基礎(chǔ)課,該課程由以下6個(gè)功能模塊組成。
2.2.1 用戶登陸模塊
本課程用戶限于校內(nèi),用戶信息通過校內(nèi)統(tǒng)一身份認(rèn)證系統(tǒng)同步至本系統(tǒng)。用戶可以使用校內(nèi)統(tǒng)一的用戶名和密碼完成登陸過程,登陸完成后,用戶即可以上傳文本或語音評論;其它展示性內(nèi)容無需登陸即可使用。
2.2.2 課程介紹
該模塊屬于引導(dǎo)性程序,主要介紹課程基本情況,教學(xué)團(tuán)隊(duì)組成情況,授課方式以及課程的參考資料,使學(xué)生初步了解課程的主要學(xué)習(xí)內(nèi)容以及學(xué)習(xí)目標(biāo)。
2.2.3 知識(shí)倉庫
知識(shí)倉庫是由離散化、碎片化的基礎(chǔ)知識(shí)點(diǎn)組織起來的結(jié)構(gòu)樹。結(jié)構(gòu)樹深度達(dá)到6級,包括了2662個(gè)基礎(chǔ)知識(shí)點(diǎn),學(xué)習(xí)者可以通過結(jié)構(gòu)樹在本課程所涵蓋的知識(shí)網(wǎng)絡(luò)中進(jìn)行快速漫游?;A(chǔ)知識(shí)點(diǎn)均為文本類型,絕大多數(shù)知識(shí)點(diǎn)字符數(shù)不超過300個(gè),遵循了文獻(xiàn)[2]對文本資源的體積大小要求。
2.2.4 電子課件
本課程包含15組教學(xué)PPT,為了減少資源體積,降低網(wǎng)絡(luò)傳輸時(shí)間,遵循了文獻(xiàn)[2]的資源處理要求,PPT按頁被轉(zhuǎn)換成934幅JPEG圖片,方便學(xué)習(xí)者查看與下載。
2.2.5 PBL案例
PBL (Problem-Based-Learning)即“以問題為導(dǎo)向的學(xué)習(xí)”,是以問題為基礎(chǔ),學(xué)生為中心,教師為引導(dǎo)的小組討論式教學(xué)。本課程收錄了包括“包蟲病-草原上游蕩的幽靈”等7個(gè)PBL案例。
2.2.6 評論/回復(fù)
該模塊主要為師生與生生互動(dòng)提供支持與保證。該模塊設(shè)計(jì)了文本與語音兩類交互方式,師生/生生之間不但可以通過文字形式進(jìn)行交互,還可以像“微信”一樣,直接錄入一段語音來尋求幫助。該模塊不是一個(gè)獨(dú)立的功能體,在知識(shí)倉庫模塊中,交互功能位于每一個(gè)基礎(chǔ)知識(shí)點(diǎn)內(nèi)部,用戶可以對每一個(gè)知識(shí)點(diǎn)展開咨詢;在每一個(gè)PBL案例教學(xué)中,用戶可以隨時(shí)對案例展示交互。
3 課程后端開發(fā)
課程后端是系統(tǒng)的支撐系統(tǒng),通過HTTP協(xié)議為前端提供各功能模塊的數(shù)據(jù)支持,同時(shí)也接收前端回傳的文字/語音評論,保存并向前端完成重放。課程后端保存了課程的所有資源,包括課程介紹、知識(shí)倉庫、電子課件、PBL案例等功能模塊的數(shù)據(jù)內(nèi)容。其中,課程介紹、知識(shí)倉庫、PBL案例以及文本格式的評論/回復(fù)采用JSON格式向客戶端返回,電子課件、評論/回復(fù)的語音內(nèi)容采用二進(jìn)制流格式向客戶端返回。
3.1 開發(fā)/運(yùn)行環(huán)境
Java EE(Java Platform,Enterprise Edition)是sun公司推出的企業(yè)級應(yīng)用程序版本,提供了Web 服務(wù)、組件模型、管理和通信 API,可以用來實(shí)現(xiàn)企業(yè)級的面向服務(wù)體系結(jié)構(gòu)(service-oriented architecture,SOA)和 Web 2.0應(yīng)用程序,本系統(tǒng)后端采用此技術(shù)架構(gòu)。開發(fā)工具采用Eclipse Java EE IDE for Web Developers 4.6.1 作為開發(fā)/編譯環(huán)境,JDK版本采用JAVA EE SDK 1.8,另外采用Tomcat 8.5.8作為web容器。
3.2 數(shù)據(jù)庫設(shè)計(jì)
數(shù)據(jù)庫系統(tǒng)采用MySql 5.1.30。數(shù)據(jù)庫由7張數(shù)據(jù)表組成:用戶信息表記錄了老師和學(xué)生的基本信息以及登陸憑證,用戶信息表由校內(nèi)的統(tǒng)一身份認(rèn)證系統(tǒng)定時(shí)同步,限定了訪客的來源;知識(shí)倉庫目錄表定義了知識(shí)倉庫的樹型結(jié)構(gòu),使用此表可以在前端迭代出樹狀網(wǎng)絡(luò);知識(shí)點(diǎn)內(nèi)容表定義了知識(shí)倉庫樹節(jié)點(diǎn)的具體內(nèi)容,為圖文混合排版HTML結(jié)構(gòu);電子課件表記錄了由PPT幻燈片生成的JPEG圖片的地址;門戶表定義了課程介紹的HTML圖文混排內(nèi)容,也可以為其它提示性內(nèi)容提供數(shù)據(jù);PBL表定義了PBL案例教學(xué)的問題、案例;評論表定義了交互的內(nèi)容,對于文本評論和回復(fù),直接記錄在數(shù)據(jù)庫中,對于語音評論及回復(fù),記錄的是語音文件地址。endprint
3.3 開發(fā)框架選用
JAVA EE開發(fā)框架(Framework)指的是實(shí)現(xiàn)了某個(gè)應(yīng)用領(lǐng)域通用完備功能(除去特殊應(yīng)用的部分)的底層服務(wù),使用框架的編程人員可以在一個(gè)通用功能已經(jīng)實(shí)現(xiàn)的基礎(chǔ)上開始具體的系統(tǒng)開發(fā),可以加快應(yīng)用系統(tǒng)的開發(fā)速度。本次系統(tǒng)開發(fā)主要使用到了:C3P0 JDBC連接池,用于數(shù)據(jù)連接的自動(dòng)管理;BeanUtils,用于將數(shù)據(jù)封閉到Java Bean中;DbUtils,用于簡化SQL查詢與結(jié)果集處理;FastJSON,用于后端向前端生成JSON格式的響應(yīng)數(shù)據(jù);FileUpload,用于處理前端向后端提交的語音評論文件。
3.4 核心服務(wù)實(shí)現(xiàn)
前端與后端程序之間通過服務(wù)接口實(shí)現(xiàn)交互。服務(wù)接口采用標(biāo)準(zhǔn)HTTP協(xié)議方式調(diào)用,前端通過POST或GET方式向后端傳遞查詢參數(shù),后端生成JSON格式數(shù)據(jù)或二進(jìn)制流后,向前端返回。下文描述了本次開發(fā)的主要服務(wù)接口。
User類:用戶登陸管理類。主要用來完成用戶登陸,使用JSON格式返回登陸用戶的基礎(chǔ)信息。
Common類:通用信息管理類。本類用來向客戶端輸出通用信息,現(xiàn)階段主要用來輸出課程介紹信息,可在后期擴(kuò)展至其它通用信息調(diào)用處理。
ZTree類:知識(shí)倉庫樹管理類。本類處理樹型結(jié)構(gòu)節(jié)點(diǎn)的增加、插入、編輯與刪除;輸出JSON格式數(shù)組的全部或者部份樹結(jié)構(gòu),前端可以根據(jù)數(shù)組的自迭代結(jié)構(gòu),生成樹型知識(shí)倉庫。本類還用來錄入與輸出各基礎(chǔ)知識(shí)點(diǎn)的HTML內(nèi)容,輸出采用UTF-8純文本編碼格式,多媒體內(nèi)容采用地址引用,多媒體文件存放于應(yīng)用服務(wù)器空間。
PPT類:電子課件管理類。本類接受對電子課件的目錄結(jié)構(gòu)的請求,返回JSON格式數(shù)組。本類還對電子課件的內(nèi)容進(jìn)行管理,電子課件被轉(zhuǎn)換成JPEG圖片組,每張JPEG圖片不超過200kb,前端通過此類獲取特定JPEG圖片組的文件系統(tǒng)位置以及圖片索引范圍。
PBL類:PBL教學(xué)案例管理類。本類接受對PBL教學(xué)案例的目錄結(jié)構(gòu)的請求,返回JSON格式數(shù)組。本類還用來響應(yīng)對特定PBL案例的內(nèi)容請求,返回HTML格式內(nèi)容。
Commnet類:評論/回復(fù)管理類。此類接收前端上傳的文本/語音評論;接受前端請求,返回特定基礎(chǔ)知識(shí)點(diǎn)下的文本內(nèi)容或語音評論地址。
4 課程前端開發(fā)
前端開發(fā)有Android原生開發(fā),混合開發(fā)兩種常見形式。原生開發(fā)可以訪問手機(jī)的全部功能,運(yùn)行速度快,性能高,能夠提供最佳的用戶體驗(yàn),但原生開發(fā)也具有開發(fā)成本高,版本控制能力差等顯著不足?;旌祥_發(fā)是同時(shí)采用Android原生技術(shù)與HTML5技術(shù)的一種開發(fā)方式。混合開發(fā)的本質(zhì)是運(yùn)行在手機(jī)瀏覽器上的HTML頁面,具有機(jī)型適配良好,系統(tǒng)升級快等優(yōu)點(diǎn)。本系統(tǒng)前端采用混合開發(fā)的方式。
4.1 開發(fā)環(huán)境
本次前端開發(fā)環(huán)境采用Android studio 1.2。 Android Studio 是一個(gè)Android集成開發(fā)工具,基于IntelliJ IDEA. 類似 EclipseADT,Android Studio 提供了集成的 Android 開發(fā)工具用于開發(fā)和調(diào)試。為了對較舊的手機(jī)提供訪問支持,使用的Minimum SDK為Android 4.0(API 14)。
4.2 核心功能實(shí)現(xiàn)
用戶登陸與注銷:在項(xiàng)目assest目錄下建立login.html,要求用戶輸入用戶名及密碼,并通JavaScript異步服務(wù)接口,在服務(wù)器上校驗(yàn)。服務(wù)器返回JSON格式登陸結(jié)果后,如果登陸成功,則在HTML5頁面上調(diào)用Android定義的方法,將用戶重新引導(dǎo)至首頁,如果校驗(yàn)失敗,則提示用戶,要求重新登陸。注銷方法類似。
課程介紹/PBL展示:在MainActivity類中通過WebView控件調(diào)用本地main.html頁面,該頁面引用后端定義的課程介紹以及PBL服務(wù)接口,使用JavaScript異步獲取相關(guān)HTML信息,并返回給用戶。
知識(shí)結(jié)構(gòu)樹:用戶點(diǎn)擊菜單中的知識(shí)倉庫后,WebView控件通過服務(wù)接口,異步獲取第0級樹節(jié)點(diǎn),用戶可以按需完成展開,樹的深度最大為6級。知識(shí)結(jié)構(gòu)樹分為導(dǎo)航節(jié)點(diǎn),帶內(nèi)容的導(dǎo)航節(jié)點(diǎn)以及葉子節(jié)點(diǎn)。導(dǎo)航節(jié)點(diǎn)沒有內(nèi)容,只下子結(jié)點(diǎn),帶內(nèi)容的導(dǎo)航節(jié)點(diǎn)不僅有子節(jié)點(diǎn),還帶有知識(shí)內(nèi)容,葉子節(jié)點(diǎn)只有知識(shí)點(diǎn)內(nèi)容。
電子課件:每個(gè)電子課件被轉(zhuǎn)換為JPEG圖片組。用戶點(diǎn)擊菜單中的電子課件后,WebView控件通過服務(wù)接口,首先獲取電子課件目錄結(jié)構(gòu),并向用戶展示。用戶點(diǎn)擊具體電子課件后,服務(wù)接口向前端返回相關(guān)圖片索引范圍以及圖片物理地址,WebView控件迭代圖片組,向用戶展示。
評論與回復(fù):在知識(shí)結(jié)構(gòu)樹的每一個(gè)基礎(chǔ)知識(shí)點(diǎn)以及每一個(gè)PBL教學(xué)案例的內(nèi)容以下,通過服務(wù)接口,異步獲取該知識(shí)點(diǎn)或PBL案例的評論/回復(fù)JSON數(shù)組,并展示給用戶。在評論/回復(fù)以下,建立multipart/form-data類型的Form表單,提供文字/語音評論功能。用戶點(diǎn)擊評論/回復(fù)后,向服務(wù)接口發(fā)出異步上傳請求,后端服務(wù)執(zhí)行請求,并將評論/回復(fù)重放給用戶。
5 結(jié)束語
本文分析了數(shù)字化學(xué)習(xí)與移動(dòng)學(xué)習(xí)的聯(lián)系與區(qū)別,以《病原生物與免疫學(xué)》醫(yī)學(xué)課程為例,確立了整個(gè)系統(tǒng)的功能設(shè)計(jì)與數(shù)據(jù)庫設(shè)計(jì),并通過Java EE以及Android技術(shù)架構(gòu),分別建立了系統(tǒng)后端支撐平臺(tái)以及前端展示平臺(tái),演示了移動(dòng)手機(jī)課程的完整建設(shè)流程。
參考文獻(xiàn)
[1]郭紹青,黃建軍,袁慶飛.國外移動(dòng)學(xué)習(xí)應(yīng)用發(fā)展綜述[J].電化教育研究,2011(05):105-109.
[2]蘇仰娜,李靜,黃丹.移動(dòng)學(xué)習(xí)資源開發(fā)現(xiàn)狀及其設(shè)計(jì)原則探究[J].中國信息技術(shù)教育,2015(12):81-84.
[3]汪雪蘭,朱小南,伍宇平等.中國式課堂PBL的實(shí)踐與探索[J].中山大學(xué)學(xué)報(bào)論叢,27(03):13-16.
[4]百度百科.JAVA EE[EB/OL].https://baike.baidu.com/item/Java%20EE/2180381?fr=aladdin,2016-02-06.
[5]黃琰.基于智能手機(jī)的移動(dòng)學(xué)習(xí)資源設(shè)計(jì)與開發(fā)[J].軟件導(dǎo)刊,2016(08):99-101.
[6]李青.多終端自適應(yīng)移動(dòng)課程管理系統(tǒng)的設(shè)計(jì)與開發(fā)[J].現(xiàn)代教育技術(shù),2011(10):14-19.
[7]王海峰,項(xiàng)冬冬,吳鵬.基于Android技術(shù)《Java程序設(shè)計(jì)》課程教學(xué)資源建設(shè)的研究與實(shí)踐[J].福建電腦,2017(04):69-70+91.
作者單位
成都醫(yī)學(xué)院現(xiàn)代教育技術(shù)中 四川省成都市 610500endprint