基于Android的高校课程学习系统设计与实现
作者:亓祥元 严冬梅
来源:《计算机时代》2016年第06
        要: 设计和实现了基于Android平台的课程学习系统;采用软件工程的方法,在需求分析的基础上设计了系统总体架构及功能,并使用Eclipse+ADT开发客户端应用程序、MySQL进行数据库管理、Spring+Hibernate+Apache等提供后台服务和管理。该系统的设计与实现对移动学习的研究与应用具有参考价值。
        关键词: 移动学习; SPOC Android 移动应用程序
        中图分类号:TP319 文献标志码:A 文章编号:1006-8228201606-48-04
        Abstract A curriculum learning system for Android is designed and implemented. Using the method of software engineering on the basis of the requirement analysis the overall structure and functions of the system are designed. Eclipse+ADT are used to develop the client application MySQL to manage the database and Spring+Hibernate+Apache to
provide background service and management. The design and implementation of the system has a reference value for the research and application of mobile learning.
        Key words mobile learning SPOC Android mobile application
        0 引言
安卓课程设计总结        移动学习(Mobile Learning,简称M-Leaning)是指利用无线移动通信网络技术,以无线移动通信设备(如PAD、智能手机等)获取教育信息、教育资源、教育服务的一种新型数字化学习形式[1]
        移动学习具有便携性、碎片式、交互性、及时性、个性化学习的特点,可以做到anyoneanytimeanywhere地进行自由式学习,可以有效缓解传统教育的课堂教学压力。在高校的大学生中,几乎每人都拥有一台智能手机,使利用手机进行移动学习成为可能。
        慕课(Massive Open Online Course,大型开放在线课程,简称MOOC)在我国的迅速推广和成长,带来了学习理念、学习方式的变革,但是,也存在着学分认证难、课程流失率高、学生管理欠缺等问题[2]。目前虽出现了各种在线学习平台,如爱课程、网易等慕课平台,
但其发挥的作用有限,只是少数学生课余学习的平台,不能为高校课程教学提供更有效的帮助。与幕课相比,SPOCSmall Private Online Courses,小型私密在线课程)更具吸引力,它既具有大规模在线开放课程的优点,又能弥补传统课堂教学的不足,充分利用先进的计算机技术,帮助教师完成课程教学管理。
        适用于高校课程教学的SPOC系统,应包括教师使用的管理平台和学生使用的学习平台,其中的学习平台又可以分为适用于PC网络学习系统和适用于移动设备的移动学习系统。在众多的移动平台中,基于Linux的自由、开放源代码的Android操作系统得到众多运营商和设备商的全面支持。本文研究的高校课程移动学习系统正是基于Android平台的SPOC移动客户端应用系统,其具有较高的应用价值。
        1 需求分析
        1.1 系统目标
        基于Android平台的高校移动学习系统的目标就是使学生可以利用Android手机随时随地地进行课程学习,并在学习过程中实现交流互动与知识分享。使用该移动学习系统,学生可
以浏览教师发布的公告、观看课程视频、下载课件等,可以在线完成教师布置的作业、在线进行测试,还可以针对自己的学习情况进行大量的在线练习,最终达到课程学习标准。
        高校课程移动学习系统是高校课程教学的有效补充,有助于教与学并重。一方面,教师对课程的要求体现在课程作业、习题与教学进度的把握上,教师可以及时了解学生的学习状况,并在课堂上进行针对性地讲解辅导;另一方面,学生根据需要观看视频、课件,并通过习题测试及时掌握自身学习状况,有的放矢地学习。
        1.2 系统功能
        该课程学习系统的主要功能包括:登录管理、用户管理、课程管理、课程学习、课程练习、成绩查询和课程论坛等功能。
        ⑴ 登录管理主要包括学生登录和忘记密码处理,学生登录之后才能使用该系统。
        ⑵ 用户管理,主要指学生个人基本信息的维护,特别是学生要绑定手机或邮箱,以便将来可以回密码和接收系统的重要通知。
        ⑶ 课程管理,主要指查询课程、申请课程、浏览已注册课程(包括即将开始的、正在进行的和已经完成的)、注销尚未开课的课程。
        ⑷ 课程学习,是学习系统的核心,学生进行学习的方式包括观看视频、下载学习资料、完成作业、单元测试。整个课程的学习是在授课教师规定的章节和进度下进行的,充分体现出教师的教学思路和教学要求,同时,学习是在学生喜欢的时间、地点、方式下进行,又体现出自主学习的特点。
        ⑸ 课程练习,学生可以根据自身掌握知识的情况,有选择性地进行大量的在线练习。因为可以实时得到反馈,所以可以帮助学生更好地到薄弱环节,更有针对性地学习。
        ⑹ 查询成绩,学生可以及时了解自己的学习进度和成绩情况,对大局了如指掌。
        ⑺ 课程论坛,学生可以针对各章节的学习内容、作业等提出问题,与教师和其他学生进行互动,回答他人的问题,分享自己的经验。
        2 系统设计
        2.1 基本架构
        基于Android平台的移动学习系统包括服务器应用程序和客户端应用程序两部分。系统采用Client/Cloud总体架构,其拓扑结构如图1所示,该系统将支持基于Android的移动设备通过Wi-Fi3G/4G无线网络连接云服务器进行在线学习。
        移动学习系统的客户端主要包括Android智能手机以及Android平板电脑等基于Android操作系统的便携式设备,用户通过便携的移动终端设备进行课程访问和学习等。
        移动学习系统的服务器主要由资源服务器和数据库服务器两部分组成。资源服务器用于存储和管理课程学习资源以及处理在线的交互信息包括学生提问、老师答疑等。数据库服务器的主要功能是存储学生、课程、习题等信息。
        系统采用HTTP协议进行通信,利用JSON格式传输数据,客户端利用HttpURLConnection或者HttpClient建立与服务器的连接,服务端通过Struts栏截客户端URL请求,通过Http Post获取参数、查询数据库,进而生成XMLJSON格式的数据,通过Http Response返回给客户端[3]
        2.2 系统逻辑结构
        本系统采用MVC框架(Model-View-Controller,即模型-视图-控制器[4]
        模型层主要负责业务流程的处理,包括基于HTTP的客户端-服务器端的数据通信、JSONXML的解析及与模型对象的转换、资源缓存、本地数据的持久化等业务。
        视图层是平台和用户的交互界面,负责接收用户输入的请求,并显示请求的响应结果。
        控制层调度和控制模型层和表示层,实现业务流程的控制,主要业务功能模块有:课程学习、视频资源学习、资讯内容、用户信息和学习工具与支持等。
        2.3 数据库设计
        该系统使用关系型数据库MySQL,系统的主要ER2所示。数据库的实际应用情况较复杂,例如习题按照类型分为单选题、多选题、判断题、填空题等,篇幅所限,我们不全部呈现所有实体联系,这里只呈现和移动客户端关系比较密切的一部分。
        2.4 界面流程设计
        移动学习系统的界面流程设计如图3所示。
        3 系统实现
        移动学习系统采用C/S架构,由客户端和服务器端两部分组成。
        3.1 客户端Android应用程序
        Android程序中Activity作为其最基本的组成部分,几乎每一个界面窗口都是一个Activity,在每个Activity中做好相应界面的布局,例如TextViewButtonListView等基本控件在布局文件中的使用,同时用到布局的嵌套。例如在相对布局中可以嵌套线性布局,结合Weight等属性,便可以控制各个控件的相对位置以及摆放位置,以保证用户良好的视觉感受和体验。
        由于Activity的启动需要一定的响应时间,所以在一个Android程序中使用过多的Activity势必会影响其运行速度。为改善这一问题,可以结合Fragment来实现界面的分栏效果,即一个Activity对应几个Fragment,每一个Fragment对应一个界面的布局以及不同数据的显示。例如:在主页和一些页面中,界面底部对应主页、我的课程、用户管理这三个状态,如图4a)所示,当分别点击时会出现该状态下对应的数据查询结果,同时用户点击过程中会出现颜的改变和所在状态的位置凸显,表明用户当前的状态。
        当进入一个课程的学习,利用SlideMenu来实现窗口的隐藏和显现。该效果的实现是将SlideMenu作为一个自定义控件放入一个界面布局文件中,同时通过左上角图片的点击事件或左右手势滑动控制该布局的显示与隐藏。同理,在视频播放列表和资料下载界面用两个Fragment共用一个Activity。系统中的一些主要界面如图4所示。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。