基于Android系统的移动学习平台的设计与实现
2016-01-14王新宇
王新宇
摘要:该文根据移动学习理论,设计和实现了一个基于安卓系统的移动学习平台,并且已经应用于实际教学,师生反馈良好。
关键词:移动学习;Android系统;云推送
中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2015)19-0070-04
移动学习,即M-learning,是一种全新的学习理论和学习方式,对于移动学习的概念,目前还没有一个全面和公认的定义。一般认为国外学者Alexzander Dye等对移动学习的定义较为具体,即:移动学习是一种借助移动计算设备(如:智能手机、平板电脑等)的帮助,能够在任何时间、任何地点发生的学习。移动学习所使用的移动计算设备应该可以较好地展现学习内容并且提供教师与学生之间的双向交流互动。
对于如何移动教学理论应用于实践,设计和实现相关的移动学习平台,近年来不少专家和工程师进行了研究,总体来说,商业化的移动平台设计和制作较好,一般采用java作为开发语言,但需要有专业的程序员参加研发,所以开发门槛和开发成本较高;学校自行开发的移动学习平台,多数是任课教师自行设计,在中间件(如:Rexsee)的架构下,使用HTMLS+CSS3+Ja-vaScript的形式进行开发并实现。目前各种移动学习系统各有特色,但大多数都缺乏学生和学生、学生和教师之间的实时交流和沟通。本文设计和实现一个包含:学习内容、学习自测、课堂交流等模块的移动学习系统,其中,课堂交流应用了百度公司提供的云推送技术,使用百度公司免费提供的云服务,实现课堂的实时交流和讨论,无需自行架设服务器,节省了人力和经费。
1关键技术
1.1Android系统
本移动学习平台是针对Android系统开发的,课题组之所以选择Android系统的原因主要是:
1)Android是一款基于Linux修订版本的移动操作系统,根据2014年销售数据,采用Android系统的智能手机共销售了10.59亿部,同比增长32%,占智能手机市场份额的81.5%,可见,在我国,采用Android系统的智能手机的销量要远远高于苹果iOS的市场份额,绝大多数学生使用的也是Android系统的智能手机。
2)Android系统是开放和免费的,这就是说,任何想使用Android的人都可以下载Android的全部源代码,这使得Android非常有吸引力,并因此引起了许多软硬件供应商的兴趣,这样一来,许多移动设备上都安装了Android系统。另外,谷歌公司提供的免费开发环境,也为Android系统的应用软件开发降低了开发成本。
3)使用Android的主要优势是它提供了统一的应用程序开发方法。开发人员只需要为Android进行开发,开发出的应用程序可以运行在许多不同的安装了Android系统设备上。
1.2Android SDK及ADT
本次课题组选择的开发语言是JAVA,开发工具是Eclipse,另外还使用了Android SDK和ADT。Android SDK是Google公司提供的Android开发工具包,通过引入该工具包,可以方便的调用Android相关的API。ADT全称是Android DevelopmentTools,是Google提供的一个Eclipse插件,用于在Eclipse中提供一个强大的,高度集成的Android开发环境。Eclipse中安装了该插件后,不仅可以联机调试,还可以用模拟器模拟各种手机的事件、分析程序的性能等。
1.3百度云推送技术
移动学习平台的课堂交互功能使用了百度云推送技术。百度云推送,是百度公司提供的一站式APP信息推送平台,为企业和开发者提供免费的消息推送服务,开发者可以通过云推送向用户精准推送通知和自定义消息。百度云推送的消息下发速度很快,高达每秒数十万次,可以保证消息在秒级时间内到达,很少出现滞后现象。移动学习平台利用百度云推送提供的免费服务,可以减少硬件设备投入,降低软件开发难度,使移动设备减少能耗,消息推送速度更快,同时客户端连接更稳定。
2系统设计
2.1主界面
主界面的功能是让用户点击选择“学习资料”、“课堂讨论”、“课堂练习”三个功能模块,或者选择退出应用,设计如图1所示,主要使用了imagebutton控件。布局的xml文件如下:
2.2学习内容
“学习内容”这个模块主要是一些让学生阅读的学习资料,由目录和学习资料组成,界面设计如图2、图3所示。顶部为快捷导航,可以快速切换到主界面、课堂讨论、课堂作业模块,点击相应的学习目录,就可以进入详细的学习内容,进入学习内容,可以用上下滑动的方式阅读。
供阅读的学习内容一般较多,并且要以图文并茂的方式显示,由于手机屏幕空间有限,不可能一次性在屏幕上显示所有的学习内容,所以该模块主要使用了Android中最常用的控件ListView,该控件允许用户通过手指上下滑动的方式将屏幕外的数据滚动进屏幕内,同时原来屏幕上的内容将滚动出屏幕。
以目录生成为例,简单介绍一下实现方法。
1)准备好相关菜系的图片,分别对应的八大菜系。
2)定义一个实体类,作为listview适配器的适配类型。
通过以上4个步骤,就可以实现如图2所示的图文并茂的目录,同理,对代码进行简单的修改,就可以实现图3所示的学习内容的效果。
2.3课堂讨论
移动学习软件一般均要求有较好的人机交互功能,有教师和学生、学生和学生的交互、讨论,所以有必要在移动学习平台中增加交互功能,一般为实现课堂的交流讨论,都是使用通用的聊天软件,如:微信、QQ等,但是用这种方法进行课堂讨论时,学生会和在线的好友聊天,做一些与课堂教学无关的事情,学习效率较低。为解决这一问题,需要设计一个专用的课堂讨论模块,该课堂讨论模块其实就是实现内嵌的聊天功能,和普通的聊天软件不同的是,该内嵌的聊天功能,只能是选修同一门课的同学之间讨论,不能和其他网友聊天,这样做,可以避免学生在课堂上用通用的聊天软件和网友聊天,做与课堂无关的操作。内嵌聊天软件的使用方法和通用聊天软件保持一致,可以发普通文字,也可以用常用的表情符,效果如图4所示。
一般情况下,聊天软件至少需要有一台服务器支撑,同时还需要开发相关的软件,并要进行必要的维护,当在线讨论的人数较多时,可能因为硬件配置较低和软件的原因,造成聊天信息严重滞后,不能进行实时聊天;如果提高配置,又将增加学校的教学成本。现在有了一种好的选择,就是采用百度的“云推送”,直接使用百度提供的免费服务器,经测试,可以做到实时讨论。
课题组实现的课堂讨论这一模块,就是利用“云推送”提供的RESTAPI,通过百度服务器中转,以发送Http请求的形式,为指定用户推送消息,如果打开精确LBS推送,还可以向指定地理位置的学生发送信息。
2.4课堂练习
通常,任何一款计算机辅助教学软件,均需要有一定量的练习题作为对学生的学习效果的检测,并且要有对习题的评判或对学生自主学习效果的评价。课堂练习这一模块就是为这个要求设计的。如图5所示,通过顶部工具条,可以快速进入第一题、最后一题及上一题、下一题。该模块可以对作业进行简单的批改,如图6所示,当作业完成后,学生可以点击提交按钮,查看自己完成作业的情况。
3进一步研究与展望
目前,本移动学习平台已经进行了试用,老师和学生反馈良好,但也提出了一些改进意见和建议。
1)该平台目前还不能通过网络直接下载和更新学习资料;
2)当手机安装360安全卫士时,课堂讨论不能正常进行,聊天内容消息会被360安全卫士拦截;
3)课堂练习目前只有单项选择题一种题型,需要增加一些题型;
4)学习资料还需要增加一些更丰富的形式,如:视频、音频等。
依据试用的反馈意见,课题组将对平台进行进一步的改进,解决试用中发现的问题,增加新功能,为教学更好的服务。