APP下载

移动互联网+师生互动的课程表设计与应用

2018-03-19陈少镇王培彬蓝汝琪曾梓鑫杨森

电脑知识与技术 2018年4期
关键词:移动应用教学互动课程表

陈少镇 王培彬 蓝汝琪 曾梓鑫 杨森

摘要:鉴于市场上相关课程表APP暂不能实现教师与学生之间的教学互动,从而达到教与学更加完善化,方便教师与学生的学习和生活,一款基于移动端的APP——《Xone课程表》以及对应可关联的基于Java web的服务器管理应运而生。这是一个基于课程表,集结作业、记事本、教学互动、行走计划、相应功能提醒技术、学习计划设置于一体的新型移动应用软件,其功能更加符合当代教师与学生,特别是大学生对于课程表的实际使用需求以及教与学之间的紧密联系。因此从教师结合学生双重角度出发,采用Shiro企业级安全权限架构实现更加全面、合理、简便、快捷的思维化定位。

关键词:教学互动;课程表;移动应用;新型;Shiro

中图分类号:TP311.52 文献标识码:A 文章编号:1009-3044(2018)04-0076-04

Mobile Internet + Teacher-student Interaction Curriculum Designs and Application

CHEN Shao-zhen, WANG Pei-bin, LAN Ru-qi, ZENG Zi-xin, YANG Sen

(Xinhua College of Sun Yat Sen University, Dongguan 523133, China)

Abstract: In view of the fact that App on the market is not yet able to achieve the teaching interaction between teachers and students so as to improve the teaching and learning and facilitate the learning and living of teachers and students , a mobile-based App - " Xone Curriculum Form " As well as the corresponding associated Java web-based server management came into being. This is a new type of mobile application software Based on the curriculum , assembly , notepad , teaching interaction , walking to plan , corresponding function reminding technology and learning plan sett , which is more in line with the functions of contemporary teachers and students , especially college students for the curriculum The actual use of the demand and the close connection between teaching and learning. Therefore , from the dual perspective of teachers and students , using Shiro enterprise-level security authority framework to achieve a more comprehensive , reasonable , simple and quick thinking orientation.

Key words: teaching interaction; curriculum; mobile applications; new type; shiro

1 背景

隨着移动互联网技术的发展,国内APP市场呈现爆炸式增长,各行各业的相关服务都能通过随身性,便捷性的移动手机来实现,而中国移动互联网用户不断上升,手机网民占80%。大学生作为网络的主要对象,也是使用APP的主力军。APP在大学生的生活中越来越重要,APP很大程度上影响着大学生的娱乐、生活、学生、甚至工作方式。鉴于市场上的相关课程表APP暂不能实现教学互动,达到教与学更加完善化,并从学生角度出发,更加全面、合理、简便、快捷的思维化定位,新型的教学互动课程表意义及作用巨大。

2 Xone课程表应用设计

2.1 Xone课程表总体设计

Xone课程表紧密的将移动端APP与Java web技术关联运用服务器管理来最大程度实现课程表功能的可操作性、可执行性。当学生与教师使用该应用时,可以感受到其中的利用价值,并能从中获取更多能便捷化学习与生活的功能,比如人性化的闹钟提醒功能和行走记录排名功能都是从学生自主性的角度出发,让学生提高自我学习效率和学习兴趣;教师与学生课程资料互动的技术也能在效率方面提高教育的效率与质量。软件集成多项技术,采用先进的软件体系结构设计,技术先进、扩充性好;系统在软件上通过验证用户登陆权限、操作权限等,保证系统具有良好的安全性。

根据功能需求,我们搭建一个Android开发平台、Java web平台和Ubuntu服务器,Ubuntu服务器运行着MySQL数据库,将Android用户的数据和Java web的数据结合在一起,达到数据共享。Android模拟器配合真机,使用Android Studio开发Android客户端,使用IntelliJ idea和Myeclipse开发Java web。

2.2 Xone课程表功能介绍

该应用中导航栏包含课程表、课程、笔记、行走计划四部分,个人信息区域有个人中心、作业及翻译功能等。

1) 课程表模块。学生可以自主编辑课程以及设置提醒,导入其他同学分享的课程,学生还可以通过课程号查询到相应老师的课程,教师用户可以在其Web端创建与提供课程号,其中还可以自行设置每个课程的上课提醒时间来提醒对应学生,及时获取上课信息,避免其他事情的影响而忘记上课时间;

2) 课程模块。学生可以查询自己的课程信息,关聯教师与个人课程的相关信息,学生可以进行对课程评价和留言等;教师用户在这个功能对应的是开设课程功能,通过唯一识别的课程编号与教务系统达成一致,来实现课程开设,同样存在课程评价和留言操作。

3) 作业模块。其功能可以由教师上传和发表课程作业信息,学生可以进行关联教师课程以及相应课程发表出来的作业、课件、文档等,教师可以给相应的文件设置截止时间功能,学生可以自行设置个人作业提醒,还可以添加、自动导入教师课程作业等;

4) 行走计划模块。学生可以通过设置行走计划,实现运动轨迹,便可在该功能上获得对应的行走步数,同时支持排行榜功能。其目的是让用户拥有更好、更有趣的体验,也是促进大学生进行有计划的学习生活,在一定程度上促使用户时常开启应用及时获取提醒。

5) 记事本模块。为方便学生记录与课后的回顾,提高课程效率与课后复习,记事本功能实现了迅速起到唤起课上的相关记忆,节省大量时间,同时提供用户个人时间表的安排。

6) 翻译模块。学生在课堂上、学习上面对需要翻译的字句时,随时可以进行快速翻译的辅助工具,省去学生再次打开其他英语软件进行翻译的繁杂操作过程。

7) 辅助功能。学习计划功能可以让学生在有自我学习安排的情况下,制定自我的学习计划,同时拥有闹钟或震动提醒功能,辅助学生进行四六级学习计划、考研计划等日常学习安排,让学生可以在众多学习准备中有条不紊的形成各自的时间表,从而提高学生的自主性,让教与学实现真正的互动。

3 Xone课程表应用实现

应用的前端由安卓APP和后台管理系统组成,前端技术使用到了Html、Javascript、CSS、jQuery、Android、Glide图片加载框架和Litepal数据库操作框架;后端技术运用到了Spring、SpringMVP、Mybatis、Mysql、Shiro框架、RBAC模型以及Swagger框架等。

3.1 前端技术应用实现

在APP的整个开发中,一直以最新的技术为标准,打造以用户体验为核心的移动APP,在Android端的应用中,我们也会应用到较新的技术,比如使用ActivityGroup来实现导航栏设计可以方便添加Activity,直接添加一个tabHost即可,但由于其扩展性非常的差,在需求新增的情况下,不能随意地定制Tab项显示的内容,也难以实现显示页面的未读信息等,更重要的是Activity是重量级的组件,当全部加载到同一个ActivityGroup中时,大大影响到APP的性能,非常不利于用户的体验。

相比之下,该项目使用的Fragment可以优化这种情况,比如加载一个页面时只需要new一个Fragment就可以了,代码如下:

FragmentTransaction transaction = fragmentManager.beginTransaction();

TimetableFragment timetableFragment = new TimetableFragment();

transaction.add(R.id.main_fragment_lagout,timetableFragment);

从整体效果来衡量,增加了用户的体验效果,而且Tab制作非常方便,使用单选按钮就能做切换页面了。

采用前沿技术与框架可以使开发更加规范化,大大减少代码量,使代码更加清晰明了,增强代码可阅读性,也减少了出错的频率。在本项目中使用了LitePal数据库操作框架,这是一个开源的Android库,是关系映射(ORM)模式。在本项目中的配置文件如下:

形成配置文件就实现了数据库功能封装,mapping中的class对于的就是Java的一个实体类,这个实体类就是一张表的结构,属性的名称就是表的字段名,属性的类型就是字段的类型,在操作数据库时,对实体类的get和set方法进行操作便可完成封装。

项目使用了TimetableBean这个类继承DataSupport类,为我们提供数据库的最后一步操作,比如我们要插入一些数据时,在使用子类的set方法后,使用父类的save方法就可以把数据插入到表中,完成整个数据的插入操作,代码如下:

TimetableBean timetable = new TimetableBean();

timetable.setMyId(id);

timetable.setClasName(className);

timetable.setWeek(week);

timetable.setStartClass(startClass);

timetable.setClassSum(classSum);

timetable.setClassroom(classroom);

timetable.setCosid(itime);

timetable.setLineClassNum(lineClassNum);

timetable.save();

设置adapter就可以使用ListView,但是ListView存在运行效率的问题,因为每显示一个item都要执行getView()方法,然后重新加载布局,当ListView有很多数据时,快速滚动ListView就会出现性能问题,相比之下RecyclerView可以单独点击列表中的一个控件,赋予每个控件单独的点击事件,解决了课程表列表下载课件和作业等需求,代码实现如下:

final ClassFileAdapter.ViewHolder holder =

new ClassFileAdapter.ViewHolder(view);

holder.download.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

int position = holder.getAdapterPosition();

ClassFileBean classFileBean = classFileBeanList.get(position);

holder.downloadProgress.setVisibility(View.VISIBLE);

download(URLConstant.SERVER_URL + classFileBean.getFileUrl(),holder.downloadProgress);}

});return holder;

3.2 后端技术应用实现

本项目的后台服务器逻辑结构采用SpringMVC和Spring,使用mybatis操作数据库。SpringMVC是拥有Spring的全部MVC功能模块,MVC代表着三个部分,分别是:Model(模型)、View(视本项目操作数据库是采用了MyBatis数据库操作框架,相对Hibernate框架来说,MyBatis可以直接运行编写SQL语句,数据库操作方便化。MyBatis也是一种ORM数据库框架,ORM框架的全称是Object/Relation Mapping,中文是对象/关系数据库映射。ORM的工作流程是就是把持久化對象增删查改的操作转成数据库的实际操作,工作如图4。

运用这些框架不仅方便了开发者进行开发,还提高开发效率。在处理课程表接口的问题上,Swagger框架实现了前后端对接开发,自动生成文档和提供数据测试,比如在Controller的方法中加上注释即可。

表单数据通过Java实体类注释便可完成。在项目中因为使用到两个角色:老师和学生,为了保证权限之间的安全,我们引用Shiro权限控制框架,Shiro是企业级的角色权限管理框架,采用RBAC设计模式实现角色管理控制。

4 结束语

软件的设计更是从教师与学生之间的教学互动出发,让学生能够及时获取课程相关信息,可以下载、查看教师上传的课件和通知,教师也可以非常方便的通过一个软件直接关联学生,一站式完成教学工作的辅助内容,能够在最大限度地降低教师冗杂的教学工作压力,有利于保证提高学生自主性学习的同时,提供更好的教学服务,真正形成“教学互动”,为中国教育的发展提供科技推动。

参考文献:

[1] 郭霖. 第一行代码Android [M]. 2版.北京: 人民邮电出版社.

[2] 齐治昌, 谭庆平, 宁洪. 软件工程[M]. 3版.北京: 高等教育出版社,2012.

[3] 苏博妮, 邓哲武, 化希耀. 基于Android系统的移动校园APP的研究与设计[J]. 电脑编程技巧与维护, 2016(11).

[4] 赵朋飞. 智能手机操作系统Google Android分析[J]. 科技视界, 2001(8).

[5] CSDN博客. 中国软件开发者网络[EB/OL].(2013-11-21)http://blog.csdn.net/guolin_blog/article/details/13171191.

[6] GitHub.开源中国社区 [EB/OL].(2017)https://github.com/LitePalFramework/LitePal.

[7] 疯狂软件. Spring+MyBatis企业应用实战[M]. 北京: 电子工业出版社,2017.

[8] 疯狂软件. 应用文献:Spring+MyBatis企业应用实战[M]. 北京: 电子工业出版社,2012.

猜你喜欢

移动应用教学互动课程表
课程表
超萌小鹿课程表
T学校公共设施便捷报修平台的移动应用研究
教学互动与人的社会化训练
“九步五必做”教学法研究
青年课程表
黑马学院2015年下半年超级课程表