基于Android的智慧教学APP设计

2019-09-28 02:27冼远清匡珍春初庆柱
实验技术与管理 2019年9期
关键词:服务器端数据表数据库

冼远清,匡珍春,初庆柱

基于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,将多门课程信息集成,利用智能搜索、智能推荐技术,集成了个性化知识推送、课堂教学、课堂考勤、随机提问、平时成绩管理、学生问答等功能,有利于提高学生的学习效率和教学水平。

1 关键技术

开发智慧教学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]数据处理技术,实现软件的优化设计和快速开发。

2 需求分析与功能设计

课堂教学是高等教育的主要教学方式[16]。智慧教学APP既要帮助教师在有限的课堂时间内完成教学计划,又要帮助学生提高学习效率。

智慧教学APP将教育信息技术应用到教师教学和学生学习的过程中,突出学生学习的主动性特点,强调学生是教学过程中的关键参与者,是主体。智慧教学APP软件需要面向学生和教师两类用户,目标是将教学过程从课堂内延伸到课堂外,更好地改善教与学的过程。在课内,教师可以利用该软件随机提问,将学生回答情况记录到平时成绩中,提升学生的积极性和参与度;在课外,学生可以在任意时间下载教学资源,向教师或同学提问交流,可以在平台上发布学习日志,提升学习的自主性与创造性。

基于上述的需求分析,智慧教学APP软件将用于课内和课外两种实际教学环境,实现将多门课程信息集成于一个APP中。该APP分教师端、学生端、公用模块等3个模块,系统结构和功能如图1所示。

图1 系统的结构与功能

3 设计与实现

3.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所示。

3.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 关键模块实现

3.3.1 数据库连接实现

系统使用Spring框架管理Entity层、Dao层、Service层、Controller层等,降低项目总体的耦合度。在Dao层,使用JPA持久化规范,JPA底层通过Hibernate实现。在数据库配置方面,使用SpringBoot简化了Spring配置过程。学生文章数据操作接口类核心代码为:

public interface StudentArticleRepository extends JpaRepository, JpaSpecification­Executor {……};

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()方法将网络信息返回给用客户端。

3.4 界面设计与实现

界面设计中使用到的每一个UI界面都对应一个XML的布局文件。在Android程序设计中要用到一些基本的Android元素,通过使用Views、ViewGroups和Layouts为每个活动页面创建美观、功能性强、操作性强的用户界面。

教师端功能模块是管理APP资源的核心。教师注册和登录APP后,主页面底部有5个功能标签,分别为:“首页”“资料”“问答”“班级”和“我的”标签,实现了教学资料发布、班级管理、平时成绩管理、学生答疑等日常教学功能。

学生使用学号登录后,可以通过APP完成教学资料学习、教学视频的观看、查看个人作业、设置悬赏问题、发布个人学习日志等功能,实现学习碎片化,有效地利用学习的时间,提高学习的效率。

4 结语

移动教育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

猜你喜欢
服务器端数据表数据库
Linux环境下基于Socket的数据传输软件设计
湖北省新冠肺炎疫情数据表(2.26-3.25)
湖北省新冠肺炎疫情数据表
基于列控工程数据表建立线路拓扑关系的研究
数据库
基于Qt的安全即时通讯软件服务器端设计
基于Qt的网络聊天软件服务器端设计
数据库
数据库
数据库