冼遠清,匡珍春,初慶柱
基于Android的智慧教學APP設計
冼遠清1,匡珍春1,初慶柱2
(1. 廣東海洋大學 數學與計算機學院,廣東 湛江 524088; 2. 廣東海洋大學 水生生物博物館,廣東 湛江 524088)
針對高等學校課堂教學的特點,采用基于Android的移動開發技術,開發了一款用于課堂輔助教學APP軟件。該軟件采用MVP設計模式,使用JSON作為數據傳輸格式,利用MUI、Okhttp3、GreenDao等技術將多門課程集成,把課堂教學、知識推送、智能考勤、智慧提問、學生問答等功能集于一體,提供了一個提升課堂教學質量和學習效率的移動平臺,滿足學生個性化、碎片化學習的需求。
智慧教學;移動學習;教學APP;Android;MVP
移動互聯網是互聯網的重要組成部分,移動教育APP是一種新的數字化學習方式[1-2]和新型學習資 源[3-4],它幫助學習者擴展知識獲取的途徑,使學習者的學習不受固定時空的約束,實現即時搜索、發送與分享各種學習信息,實現碎片化學習。據統計,在蘋果APP Store中的移動教育APP數量已達20萬個[5]。教育APP已成為人們獲取知識的重要手段,受到在校學生的普遍歡迎。
目前,移動教育APP大多是為滿足特定的用戶需求,如百詞斬[6]、知乎APP[7]、有道詞典[8]等都是很有特色的教育APP,但是面向高校學生、與課堂教學聯系密切的APP尚不多見。本文利用Android及其相關技術開發了一個適合于課內和課外實際教學環境的智慧教學APP,將多門課程信息集成,利用智能搜索、智能推薦技術,集成了個性化知識推送、課堂教學、課堂考勤、隨機提問、平時成績管理、學生問答等功能,有利于提高學生的學習效率和教學水平。
開發智慧教學APP的關鍵技術包括Android系統、MVP模式和JSON數據交換。
(1)Android系統。Android系統[9]是谷歌公司開發的開源移動OS之一,該OS基于Linux內核設計,系統架構分為4層,分別是應用程序層、應用程序框架層、系統運行庫層和Linux核心層[10]。Android平臺具有硬件選擇豐富、完全開源、多平臺可用等特點,使安卓系統的使用范圍非常廣闊。
(2)MVP模式。MVP(model-view-presenter)是一種應用程序的設計模式[11]。在MVP模式中,視圖層(view)和模型層(model)被巧妙地分離。視圖層提供一個給表示層(presenter)調用的接口,通過該接口,表示層能夠與依賴系統的其他部分視圖元素進行交互。MVP模式可以實現數據的解耦,幫助開發者更專注業務邏輯的實現。
(3)JSON數據交換格式。JSON(JavaScript object notation)是一種輕量級的數據交換格式[12]。由于XML數據交換格式在解析時比較復雜,而且需要編寫大量代碼,所以客戶端和服務器的數據交換往往采用JSON格式,以減輕編碼的工作量和提升工作效率。
除上述技術之外,APP軟件還采用了MUI[13]前端框架技術、OkHttp3[14]網絡請求技術、GreenDao[15]數據處理技術,實現軟件的優化設計和快速開發。
課堂教學是高等教育的主要教學方式[16]。智慧教學APP既要幫助教師在有限的課堂時間內完成教學計劃,又要幫助學生提高學習效率。
智慧教學APP將教育信息技術應用到教師教學和學生學習的過程中,突出學生學習的主動性特點,強調學生是教學過程中的關鍵參與者,是主體。智慧教學APP軟件需要面向學生和教師兩類用戶,目標是將教學過程從課堂內延伸到課堂外,更好地改善教與學的過程。在課內,教師可以利用該軟件隨機提問,將學生回答情況記錄到平時成績中,提升學生的積極性和參與度;在課外,學生可以在任意時間下載教學資源,向教師或同學提問交流,可以在平臺上發布學習日志,提升學習的自主性與創造性。
基于上述的需求分析,智慧教學APP軟件將用于課內和課外兩種實際教學環境,實現將多門課程信息集成于一個APP中。該APP分教師端、學生端、公用模塊等3個模塊,系統結構和功能如圖1所示。

圖1 系統的結構與功能
本系統由Android客戶端和服務器端組成,使用gradle構建工具和Spring-Android框架開發Android客戶端程序,使用Tomcat+Spring+SpringBoot+ SpringData+ Maven+Hibernate架構開發服務器端程序。
服務器端使用Tomcat作為Web服務器接收Android客戶端的HTTP請求,Spring、SpringBoot、SprintData作為底層框架構建技術,分層管理服務器端各個模塊之間的依賴關系,以及各個模塊的解耦實現。Hibernate框架技術作為系統的最底層,為上層各模塊提供標準統一的數據操作接口以及數據庫方面的事務管理。
服務器端還使用了Java Persistence API、Swagger、POI等技術。
系統采用標準的JSON格式作為Android客戶端和服務器端之間的數據交換方式。基于Android的智慧教學APP系統架構如圖2所示。
采用關系型數據庫MySQL作為APP的后臺數據庫,并利用關系規范化理論對數據庫中的數據表進行優化設計,使數據庫達到3NF標準,消除了插入異常、刪除異常、更新異常、數據冗余等數據操作中的問題。

圖2 系統架構圖
3.2.1 數據表設計
數據表中字段設計以精簡、合理為原則。數據庫中的核心數據表有學生隨機提問成績表、學生日志表、學生個人信息表、教師個人信息表、教師文章表等。此外,系統中還包括班級信息、學生答案、教師個人評論、教師課程安排、資源下載等數據。
以學生課堂隨機提問成績表為例(見表1),該表是學生平時考核成績的重要組成部分。表中包括學生的平時成績ID、學號、成績等級、教工號、班級等字段。其中Score_level為隨機提問成績記錄字段,采用整數型的值記錄學生回答問題的表現情況,等級分4級:0表示缺課,1表示一般,2表示好,3表示非常好。

表1 學生隨機提問成績表
3.2.2 數據表依賴關系
數據庫中數據表的依賴關系由主鍵和外鍵進行控制,確保數據庫中數據的一致性和完整性。以學生問答關系模型為例,如student_answer表和student_ question表的student_id字段作為外鍵,受student_info表中的id字段的約束,確保學生學號數據的一致性。本系統中的數據庫部分數據表的依賴關系如圖3所示,其中表間連線處“1”端表示主鍵,另一端表示外鍵。

圖3 數據庫設計局部邏輯結構關系
3.3.1 數據庫連接實現
系統使用Spring框架管理Entity層、Dao層、Service層、Controller層等,降低項目總體的耦合度。在Dao層,使用JPA持久化規范,JPA底層通過Hibernate實現。在數據庫配置方面,使用SpringBoot簡化了Spring配置過程。學生文章數據操作接口類核心代碼為:
public interface StudentArticleRepository extends JpaRepository
3.3.2 Presenter的實現
Presenter是Model層和View層交互的橋梁,在某些實現中,Presenter需要通過服務接口層(Service / Controller Layer)與Model進行交互。系統中其接口類為PresentControl,部分核心代碼為:
3.3.3 GreenDao數據管理的實現
GreenDao核心類有DaoMaster,DaoSession,GreenDaoUtils等。其中GreenDaoUtils是GreenDao框架的封裝類,方便于GreenDao框架的使用,用于實現數據管理,支持文件的增刪改查等操作。GreenDaoUtils核心代碼如下:
3.3.4 網絡狀況監測的實現
利用Android的廣播接收器實現網絡狀況的監測與反饋。網絡監測利用了繼承的設計思想,定義NetWorkReceiver類繼承基類BroadcastReceiver的方法,然后使用ConnectivityManager對象的方法獲得網絡參數并返回用戶,再使用Toast.makeText().show()方法將網絡信息返回給用客戶端。
界面設計中使用到的每一個UI界面都對應一個XML的布局文件。在Android程序設計中要用到一些基本的Android元素,通過使用Views、ViewGroups和Layouts為每個活動頁面創建美觀、功能性強、操作性強的用戶界面。
教師端功能模塊是管理APP資源的核心。教師注冊和登錄APP后,主頁面底部有5個功能標簽,分別為:“首頁”“資料”“問答”“班級”和“我的”標簽,實現了教學資料發布、班級管理、平時成績管理、學生答疑等日常教學功能。
學生使用學號登錄后,可以通過APP完成教學資料學習、教學視頻的觀看、查看個人作業、設置懸賞問題、發布個人學習日志等功能,實現學習碎片化,有效地利用學習的時間,提高學習的效率。
移動教育APP在移動教育發展中起到舉足輕重的作用,將更加深入到人們的終身學習之中。
基于Android的智慧教學APP軟件,適用于課內和課外實際教學環境,既可作為課內教學工具,也可作為課外學習工具。開發的智慧教學APP軟件是在Android 6.0版本上測試通過的,取得了較好的教學效果。在該APP的后期建設中,將進一步優化界面,解決界面布局、配色、按鈕形狀設計等方面的不足,同時增加數據壓縮功能,提高教學視頻數據的傳輸速度。
[1] 國務院. 國務院關于積極推進“互聯網+”行動的指導意見[J]. 中華人民共和國國務院公報,2015(20): 11–23.
[2] 劉丹,胡衛星,李玉斌,等. 移動教育APP的研發現狀與應用問題分析[J]. 電化教育研究,2016, 37(8): 47–52.
[3] 陳明選,劉萃. 基于智能手機的交互式學習環境設計[J]. 中國電化教育,2015(4): 68–73.
[4] 李昱煒. 基于情境學習理論的在線教育平臺設計與研究[D]. 杭州:浙江大學,2018.
[5] 佚名. 蘋果:App Store中教育類應用數量已達20萬個[EB/OL]. (2018-03-29)[2019-02-26]. http://www.sohu.com/a/ 226641887_465976.
[6] 白晶,汪春娟. 多模態視角下對單詞學習軟件百詞斬的分析[J]. 長春師范大學學報,2017, 36(9): 186–188.
[7] 杜青岳. 基于TAM模型的知乎用戶接受與使用行為研究[J]. 廣州大學學報(社會科學版),2018, 17(6): 38–43.
[8] 吳強. 移動學習APP存在的問題與對策:以“有道詞典”為例[J]. 教育信息技術,2017(7): 92–95.
[9] ROGERS R, LOMBARDO J, MEDNIEKS Z, et al. Android application development: Programming with the Google SDK[M]. O'Reilly Media Inc, 2009.
[10] 姚尚朗,靳巖. Android開發入門與實踐[M]. 2版. 北京:人民郵電出版社,2013.
[11] LOU T. A Comparison of Android Native App Architecture- MVC, MVP and MVVM[D]. Helsinki: Aalto University, 2016.
[12] 來天平,歐陽榮彬,王素美,等. 一種輕量級企業應用Web2.0開發框架: Beehive+ExtJs+Json[J]. 實驗技術與管理,2011, 28(4): 296–298, 310.
[13] 嚴春燕,戴仕明. 基于框架的web前端(Bootstrap和MUI)之比較[J]. 網絡安全技術與應用,2017(4): 83–84.
[14] 李瑞奇. Android開發實戰:從學習到產品[M]. 北京:清華大學出版社,2018.
[15] MACLEAN D, KOMATINENI S, ALLEN G. Exploring Android Persistence and Content Providers[M]. CA: Berkeley, Apress, 2015: 559–605.
[16] 何朝陽,歐玉芳,曹祁. 美國大學翻轉課堂教學模式的啟示[J]. 高等工程教育研究,2014(2): 148–151, 161.
Design of for intelligent teaching APP based on Android
XIAN Yuanqing1, KUANG Zhenchun1, CHU Qingzhu2
(1. School of Mathematics and Computer Science, Guangdong Ocean University, Zhanjiang 524088, China; 2. Aquatic Organisms Museum, Guangdong Ocean University, Zhanjiang 524088, China)
In view of the characteristics of classroom teaching in colleges and universities, the APP software for classroom assisted teaching is developed by using Android-based mobile development technology. This software uses the technologies such as MVP design mode, JSON as data transmission format, MUI, Okhttp3, GreenDao, etc., to realize the integration of multiple courses. The functions of classroom teaching, knowledge push, intelligent attendance, intelligent question-asking and student question-answering are integrated into one, which provides a mobile platform for improving the quality of classroom teaching and learning efficiency and meets the needs of students’ individualized and fragmented learning.
intelligent teaching; mobile learning; teaching APP; Android; MVP
TP311.56
A
1002-4956(2019)09-0128-04
2019-03-07
廣東省科技計劃項目(2015A070706010);廣東省教育廳教學研究和改革項目(2015327)
冼遠清(1981—),男,廣東惠州,博士生,講師,主要研究方向為智能信息處理、機器學習、深度學習。
E-mail: xianyuanqing@163.com
匡珍春(1975—),女,江西吉安,碩士,副教授,研究方向為計算機應用、數據庫及算法設計與分析。
E-mail: gdoukuangzc@126.com
10.16791/j.cnki.sjg.2019.09.032