李凡
摘? 要: “微課”作為一種新興的教學(xué)模式,較傳統(tǒng)教學(xué)具有更高的便利性、應(yīng)用性和針對(duì)性。文章圍繞教學(xué)領(lǐng)域闡述移動(dòng)學(xué)習(xí)的背景和意義,提出了微課學(xué)習(xí)平臺(tái)的開(kāi)發(fā)設(shè)計(jì)思路、總體架構(gòu)和系統(tǒng)功能模塊,設(shè)計(jì)并實(shí)現(xiàn)了微課學(xué)習(xí)平臺(tái)。測(cè)試結(jié)果表明,該平臺(tái)滿(mǎn)足了微課移動(dòng)學(xué)習(xí)應(yīng)具備的基本功能。
關(guān)鍵詞: Android; 微課; 移動(dòng)學(xué)習(xí); 教學(xué)
中圖分類(lèi)號(hào):TP399? ? ? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A? ? ?文章編號(hào):1006-8228(2022)01-110-03
Design and implementation of an Android micro course platform
Li Fan
(Armed Police Command College, Tianjin 300000, China)
Abstract: As a new teaching mode, "micro course" has higher convenience, application and pertinence than traditional teaching. This paper expounds the background and significance of mobile learning around the teaching field, puts forward the development and design idea, overall architecture and system function modules of micro course learning platform, and designs and implements the platform. The test results show that the platform meets the basic functions of micro course mobile learning.
Key words: Android; micro course; mobile learning; teaching
0 引言
《2020-2026年中國(guó)在線教育行業(yè)市場(chǎng)分析預(yù)測(cè)及發(fā)展趨勢(shì)研究報(bào)告》顯示,在“互聯(lián)網(wǎng)+教育”政策的推動(dòng)下,在線教育將持續(xù)發(fā)展,并逐漸朝移動(dòng)端發(fā)展[1]。2021年中國(guó)互聯(lián)網(wǎng)信息中心(CNNIC)發(fā)布的第47次《中國(guó)互聯(lián)網(wǎng)絡(luò)發(fā)展?fàn)顩r統(tǒng)計(jì)報(bào)告》統(tǒng)計(jì)我國(guó)使用手機(jī)網(wǎng)民達(dá)9.86億,互聯(lián)網(wǎng)普及率達(dá)70.4%,其中使用移動(dòng)教育人數(shù)將近3億,移動(dòng)端學(xué)習(xí)的使用率超過(guò)80%[2]。本文基于Android環(huán)境設(shè)計(jì)開(kāi)發(fā)教學(xué)平臺(tái),試圖為微課平臺(tái)建設(shè)帶來(lái)啟發(fā)。
1 關(guān)鍵技術(shù)
1.1 流媒體技術(shù)
流媒體技術(shù)也稱(chēng)流式媒體技術(shù),是指將視頻、音頻等媒體文件經(jīng)過(guò)相應(yīng)格式壓縮處理,存放在存儲(chǔ)器中,根據(jù)用戶(hù)需要隨時(shí)請(qǐng)求下載使用。在Android系統(tǒng)中應(yīng)用流媒體文件只需要在幀布局控件FrameLayout中嵌套視頻播放控件VideoView即可實(shí)現(xiàn)[3]。
1.2 數(shù)據(jù)緩存技術(shù)
數(shù)據(jù)緩存是指從網(wǎng)絡(luò)接收的數(shù)據(jù)下載到本地存儲(chǔ)。Android數(shù)據(jù)緩存主流方式,一是以數(shù)據(jù)庫(kù)的形式進(jìn)行保存,二是以文件的形式進(jìn)行緩存[4]。數(shù)據(jù)庫(kù)的緩存方式具有完整的數(shù)據(jù)結(jié)構(gòu),管理便捷,但緩存數(shù)據(jù)長(zhǎng)期在移動(dòng)終端設(shè)備上占用內(nèi)存嚴(yán)重,需要及時(shí)清理;文件形式緩存可以將大量數(shù)據(jù)進(jìn)行緩存管理,對(duì)系統(tǒng)運(yùn)行影響較小,相比較而言,實(shí)現(xiàn)簡(jiǎn)單快捷,時(shí)效性強(qiáng)。因此本文是在文件緩存技術(shù)基礎(chǔ)上進(jìn)行的數(shù)據(jù)緩存。
2 總體設(shè)計(jì)
運(yùn)用網(wǎng)絡(luò)編程和數(shù)據(jù)庫(kù)技術(shù)來(lái)實(shí)現(xiàn)基于C/S結(jié)構(gòu)(客戶(hù)端/服務(wù)器)的移動(dòng)學(xué)習(xí)平臺(tái)。系統(tǒng)開(kāi)發(fā)遵守軟件工程的設(shè)計(jì)方式,采用Java作為開(kāi)發(fā)語(yǔ)言,使用SQLite數(shù)據(jù)庫(kù)存儲(chǔ)本地的信息。
2.1 總體設(shè)計(jì)指導(dǎo)思想和原則
2.1.1 總體設(shè)計(jì)指導(dǎo)思想
總體設(shè)計(jì)的指導(dǎo)思想是:利用結(jié)構(gòu)化方法,實(shí)現(xiàn)系統(tǒng)的各項(xiàng)指標(biāo),即主要性、可靠性、工作效率、工作質(zhì)量和經(jīng)濟(jì)性等。系統(tǒng)設(shè)計(jì)的指標(biāo)是衡量系統(tǒng)設(shè)計(jì)好壞的標(biāo)準(zhǔn)。
2.1.2 總體設(shè)計(jì)原則
利用系統(tǒng)工程的方法設(shè)計(jì)和建立目標(biāo)系統(tǒng),使整個(gè)系統(tǒng)構(gòu)建統(tǒng)一的數(shù)據(jù)代碼和組織方法;采用模塊化結(jié)構(gòu),對(duì)系統(tǒng)進(jìn)行設(shè)計(jì)、調(diào)試和維護(hù),增強(qiáng)系統(tǒng)適應(yīng)性、靈活性和實(shí)用性[5]。
2.2 開(kāi)發(fā)設(shè)計(jì)思路
⑴ 盡量的使用現(xiàn)有軟硬件環(huán)境,以及先進(jìn)的開(kāi)發(fā)方案,從而達(dá)到充分利用已有的資源,提高系統(tǒng)的開(kāi)發(fā)水平和應(yīng)用效果的目的。
⑵ 系統(tǒng)應(yīng)符合相關(guān)規(guī)定,滿(mǎn)足運(yùn)行需要,并要達(dá)到操作過(guò)程中直觀、方便、實(shí)用、安全等要求。
⑶ 系統(tǒng)采用C/S架構(gòu)的三層體系結(jié)構(gòu),即客戶(hù)端和服務(wù)器結(jié)構(gòu)。
⑷ 系統(tǒng)采用模塊化程序設(shè)計(jì)的方法,既便于系統(tǒng)功能的各種組合和修改,又便于未參與開(kāi)發(fā)的技術(shù)的人員對(duì)于系統(tǒng)的維護(hù)補(bǔ)充和維護(hù)。
⑸ 系統(tǒng)應(yīng)具備數(shù)據(jù)庫(kù)維護(hù)的功能,及時(shí)根據(jù)需求對(duì)數(shù)據(jù)進(jìn)行的添加、刪除、修改等操作。
2.3 總體架構(gòu)設(shè)計(jì)
結(jié)合結(jié)構(gòu)化系統(tǒng)設(shè)計(jì)技術(shù),運(yùn)用一套標(biāo)準(zhǔn)的設(shè)計(jì)準(zhǔn)則和工具,采用模塊的方法,進(jìn)行新系統(tǒng)控制層次關(guān)系和模塊化分解設(shè)計(jì),把數(shù)據(jù)流程圖表示的系統(tǒng)邏輯模型轉(zhuǎn)變?yōu)镠IPO圖和控制結(jié)構(gòu)圖,以及用流程圖或偽碼表示程序模塊結(jié)構(gòu)。本系統(tǒng)應(yīng)用一套標(biāo)準(zhǔn)設(shè)計(jì)準(zhǔn)則和工具,把系統(tǒng)分析階段得出的系統(tǒng)邏輯模型擴(kuò)展并優(yōu)化處理,在數(shù)據(jù)流程圖的基礎(chǔ)上構(gòu)成系統(tǒng)的模塊結(jié)構(gòu)。這一階段通常采用結(jié)構(gòu)化程序設(shè)計(jì)方法,即SD(Structured Design)方法。采用模塊化自頂向下設(shè)計(jì)方法,進(jìn)行新系統(tǒng)控制層次關(guān)系和模塊分解設(shè)計(jì),顯著提高了系統(tǒng)的可維護(hù)性和可修改性,同時(shí)為系統(tǒng)設(shè)計(jì)提供了方便。
2.4 系統(tǒng)功能模塊
根據(jù)需求階段調(diào)研所得結(jié)論,對(duì)微課移動(dòng)學(xué)習(xí)平臺(tái)的業(yè)務(wù)流程進(jìn)行了分析和整合后,將系統(tǒng)對(duì)數(shù)據(jù)的處理以數(shù)據(jù)流程圖的形式體現(xiàn)出來(lái),之后,針對(duì)用戶(hù)所提供的原始功能需求,結(jié)合系統(tǒng)的特點(diǎn)以及開(kāi)發(fā)任務(wù)分配方式,現(xiàn)將基于Android的微課平臺(tái)的入口,設(shè)計(jì)為用戶(hù)登陸的方式。系統(tǒng)的主要功能模塊如圖1所示。
3 系統(tǒng)實(shí)現(xiàn)及測(cè)試
3.1 開(kāi)發(fā)工具簡(jiǎn)介
系統(tǒng)采用Eclipse開(kāi)發(fā)平臺(tái),使用MVC架構(gòu),運(yùn)用SQLite、JSON解析、Fragment+ViewPager等技術(shù)完成了基于C/S模型的微課移動(dòng)學(xué)習(xí)平臺(tái)。下面主要技術(shù)進(jìn)行簡(jiǎn)要介紹。
3.1.1 SQLite簡(jiǎn)介
SQLite是輕小型數(shù)據(jù)庫(kù),它的第一個(gè)Alpha版本于2000年5月誕生。SQLite占用的資源非常低,在嵌入式設(shè)備中,僅僅只需要幾百字節(jié)的內(nèi)存,它的處理速度比MySQL和PostgreSQL還要快。SQLite具有以下特點(diǎn)。
⑴ 零配置、無(wú)需安裝和管理配置。
⑵ 存儲(chǔ)在單一磁盤(pán)文件中的一個(gè)完整的數(shù)據(jù)庫(kù)。
⑶ 數(shù)據(jù)庫(kù)文件可以在不同字節(jié)順序的機(jī)器間自由的共享。
⑷ 比一些流行的數(shù)據(jù)庫(kù)在大部分普通數(shù)據(jù)庫(kù)操作要快。
⑸ 支持多種開(kāi)發(fā)語(yǔ)言C,C++,PHP,Java,C#,Python,Ruby等。
3.1.2 JSON解析簡(jiǎn)介
一種輕量級(jí)的數(shù)據(jù)交換格式,具有良好的可讀和便于快速編寫(xiě)的特性。在Android開(kāi)發(fā)接口的調(diào)用時(shí),常常使用JSON來(lái)解析數(shù)據(jù)。JSON采用兼容性很高的文本格式,同時(shí)也具備類(lèi)似于C語(yǔ)言體系的行為。在本次開(kāi)發(fā)中使用了JSONObject、JSONArray,下面對(duì)如何使用JSONObject和JSONArray進(jìn)行講解:
⑴ JSONObject的使用:在解析JSON串時(shí),如果要解析的內(nèi)容外層是“{}”,就使用JSONObject。
⑵ JSONArray的使用:在解析JSON串時(shí),如果要解析的內(nèi)容外層是“[]”,就使用JSONArray。
3.1.3 Fragment簡(jiǎn)介
Fragment是界面的一個(gè)片段,是Activity的一部分,它不能脫離Activity而存在。Fragment的使用方法有兩種:一是Fragment+Activity(API Level值在11以上),二是FragmentActivity+v4.Fragment。Fragment還有它特有的生命周期。
3.2 主要功能模塊實(shí)現(xiàn)
3.2.1 登錄注冊(cè)模塊
⑴ 用戶(hù)登錄流程:用戶(hù)登錄時(shí),需要輸入手機(jī)號(hào)和密碼,并且手機(jī)號(hào)和密碼相匹配。
⑵ 手機(jī)號(hào)快捷登錄:用戶(hù)登錄時(shí),需要輸入手機(jī)號(hào)(手機(jī)號(hào)格式必須正確),點(diǎn)擊獲取驗(yàn)證碼就會(huì)發(fā)送一個(gè)短信驗(yàn)證碼,輸入驗(yàn)證碼,如果驗(yàn)證碼輸入正確,則登錄成功。
3.2.2 微課學(xué)習(xí)模塊實(shí)現(xiàn)
微課學(xué)習(xí)流程:當(dāng)用戶(hù)登錄成功時(shí),首先進(jìn)入微課導(dǎo)航頁(yè)面,當(dāng)點(diǎn)擊某一類(lèi)微課時(shí),會(huì)彈出提示框,選擇其中一門(mén)課程進(jìn)入微課學(xué)習(xí)頁(yè)面,點(diǎn)擊開(kāi)始學(xué)習(xí)。微課導(dǎo)航頁(yè)面,如圖2所示。
3.3 系統(tǒng)測(cè)試
3.3.1 測(cè)試目標(biāo)
⑴ 測(cè)試的目的在于發(fā)現(xiàn)程序中的錯(cuò)誤而執(zhí)行程序的過(guò)程。
⑵ 好的測(cè)試方案是很可能發(fā)現(xiàn)到目前為止尚未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試方案。
⑶ 成功的測(cè)試是發(fā)現(xiàn)了到迄今為止還沒(méi)有發(fā)現(xiàn)的錯(cuò)誤的測(cè)試。
3.3.2 測(cè)試方案及結(jié)論
根據(jù)預(yù)定要測(cè)試的功能,利用黑盒測(cè)試和白盒測(cè)試原理對(duì)輸入的測(cè)試數(shù)據(jù)與預(yù)期的結(jié)果校對(duì)分析,分別使用模塊測(cè)試、集成測(cè)試、驗(yàn)收測(cè)試、平行運(yùn)行等多種測(cè)試方案和測(cè)試用例。經(jīng)測(cè)試,本系統(tǒng)滿(mǎn)足微課移動(dòng)學(xué)習(xí)平臺(tái)應(yīng)具備的基本功能。
4 結(jié)束語(yǔ)
本文根據(jù)高校教學(xué)的實(shí)際需要,利用移動(dòng)設(shè)備與先進(jìn)互聯(lián)網(wǎng)技術(shù),結(jié)合軟件工程思想設(shè)計(jì)開(kāi)發(fā)一款基于Android的微課移動(dòng)端學(xué)習(xí)平臺(tái),本平臺(tái)為學(xué)生提供了一個(gè)可以自由交互的課程學(xué)習(xí)、課程記錄和學(xué)習(xí)拓展的平臺(tái),使學(xué)習(xí)不再受時(shí)間和空間的限制。
系統(tǒng)使用Eclipse作為開(kāi)發(fā)平臺(tái),SQLite、JSON解析、Fragment+ViewPager等技術(shù),設(shè)計(jì)開(kāi)發(fā)了基于C/S模型的移動(dòng)學(xué)習(xí)平臺(tái)。在實(shí)驗(yàn)室環(huán)境下對(duì)系統(tǒng)功能進(jìn)行了測(cè)試,運(yùn)行穩(wěn)定順暢,但由于前期需求和時(shí)間問(wèn)題,系統(tǒng)仍然存在不足之處:①缺乏對(duì)美學(xué)的研究,以及專(zhuān)業(yè)的技術(shù),所以對(duì)界面的美化效果不夠好,界面看起來(lái)生硬不美觀。②系統(tǒng)暫未提供在線交流功能,有待今后完成。
參考文獻(xiàn)(References):
[1] 智研咨詢(xún).《2020-2026年中國(guó)在線教育行業(yè)市場(chǎng)分析預(yù)測(cè)及發(fā)展趨勢(shì)研究報(bào)告》[R]. https://www.chyxx.com/research/201806/652483.html.
[2] 中國(guó)互聯(lián)網(wǎng)信息中心.第47次《中國(guó)互聯(lián)網(wǎng)絡(luò)發(fā)展?fàn)顩r統(tǒng)計(jì)報(bào)告》[R].中國(guó)互聯(lián)網(wǎng)信息中心,2021
[3] 李德.基于Android客戶(hù)端的微課平臺(tái)設(shè)計(jì)與實(shí)現(xiàn)[D].湖南大學(xué),2019
[4] Android.developer.Application Fundame,2012
[5] 呂俊逸.基于Android的泛在學(xué)習(xí)平臺(tái)的研究[D].北京交通大學(xué),2015