您的当前位置:首页正文

基于Android的视听课堂的设计与实现

2020-02-18 来源:好走旅游网
2018年1月总第281期

ISSN1672-1438CN11-4994/T

基于Android的视听课堂的设计与实现

程会敏 金 蕾 曹 茜 徐世东 李小勇

北京工业大学信息化建设与管理中心 北京 100124

摘 要:移动学习作为一种利用移动计算设备随时、随地、随心学习的新型学习方式,受到广泛关注。北京工业大学“视听课堂”是集视频点播与直播为一体的视频播放平台,包括精品课程全程录像、教学、实验、活动、报告、讲座等多种视频类型,深受师生欢迎。为更好地满足师生移动学习的需求,结合视听课堂现状,介绍了Android系统及关键技术、视听课堂APP设计及核心实现过程,实现了基于Android的视听课堂,为我校师生提供了灵活多样的个性化学习方式,可促进教学资源的使用以及提升教学服务水平。关键词:移动学习;视听课堂;Android

近年来,移动计算技术得到迅猛发展,移动设备更是运用广泛,满足学习者可以、随时、随地随心地获取自己想要知识的移动学习被广泛应用。移动学习是一种新型学习方式[1],学习者能够充分利用碎片时间进行学习。美国新媒体联盟和高校教育信息化协会地平线报告高教版自2011~2017年每年均将移动学习作为影响高等教育发展的6项关键技术之一[2]。移动学习的研究绝大部分以综述、理论、设计、支持环境等研究为主,视听课堂App设计与实现是结合我校的实际需求进行移动学习实践的重要尝试和探索,具有一定的示范意义。

我校的“视听课堂”视频直播点播平台充分体现现代信息技术与视频资源技术的结合,是我校重要的教学资源平台之一,适于学生基于资源课外自主学习。视频类型包括精品课程全程录像、教学、实验、活动、报告、讲座等多种,另外也包括直播模块,便于学生观看学术报告、学生活动等直播。视听课堂深受广大师生欢迎,每天点播近千人次,但目前只有通过PC端才能正常观看,且需要安装特定版本的Adobe Media Player,所以手机端浏览器观看时,大部分浏览器不支持播放,如UC浏览器、QQ浏览器;部分浏览器支持播放,但页面体验效果较差。

目前移动终端操作系统主要有Android,IOS,Windows Phone等,根据ASO100大数据研究中心发布的《2016移动互联网发展白皮书》(《2016移动互联网发展白皮书》可通过ASO100官网:www.aso100.com的专栏栏目检索查阅),安卓系统占有率进一步扩大,2016年第三季度已达到87.5%,因此基于Android的视听课堂具有广泛的应用性,同时该实现架构可适用于其他系统,如我校的教育在线平台等,不失一般性。

设计与实现基于Android的视听课堂App,发挥移动技术“便携、廉价、通信、交互”的优势,促进知识传递,实现移动端实时异时异地学习,营造学习者的学习体验、社会交流和互动的学习环境,促进学习者为中心的知识建构。

1 Android系统及关键技术

Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。开发Android移动应用的核心是组件,利用组件可以像搭建积木一样快速构建移动应用[3]。Android应用通常由一个或多个基本组件组成,Android的基本组件总共包括五大类[4]。

(1)Activity组件:应用表示层,一个Activity就是一个单独的屏幕。

(2)Service组件:没有可视界面,运行与应用程序进程的主线程中,可长时间运行于后台。一般用户不可见,不需要与用户交互,因此可以把Servic组件视为没有图形的用户界面。

(3)Broadcast Receiver组件:用于接收广播通知的组件,应用程序可注册不同Broadcast Receiver来响应不同的事件通知。

(4)Content Provider组件:解决应用程序之间数据共享与通信问题。

(5)Intent组件:Intent组件用来实现不同组件之间消息的传递,将一个组件的请求意图传递给另一个组件,实现Activity与Activity之间的切换。

Android提供了5种方式让用户保存持久化应用程

作者简介:程会敏,硕士,实验师;金蕾,硕士,工程师;曹茜,硕士,副研究员;徐世东,硕士,高级实验师;李小勇,硕士,实验师。

基金项目:北京工业大学教育教研项目“基于Android应用的‘视听课堂’APP开发研究”(编号:ER2015C040803)。

55

ISSN1672-1438CN11-4994/T序数据:共享首选项、内部存储、外部存储、SQLite数据库和网络连接,各存储方式的适用情况及使用说明如表1所示。用户可根据自己的需求选择哪种方式,如数据是否是应用程序私有的,是否能被其他程序访问,需要多少数据存储空间等。该APP需要访问数据库服务器中的数据,采用网络连接方式实现。

表1 Android数据存储方式[5]

存储方式使用说明

共享首选项

在键值对中存储私有原始数据

在设备内存中存储私有数据;可以直接在设备的内部存储中保存文件;在默认情况下,保存到内内部存储

部存储的文件是应用的私有文件,其他应用和用户不能访问这些文件;当用户卸载应用时,这些文件也会被移除

在共享的外部存储中存储公共数据;该存储可能是可移除的存储介质(如 SD 卡)或内部存储;保外部存储

存到外部存储的文件是全局可读取文件,而且在计算机上启用 USB大容量存储传输文件后,可由用户修改这些文件

SQLite数据库在私有数据库中存储结构化数据网络连接

在网络中使用用户自己的网络服务器存储数据

2 系统设计

2.1 框架设计

视听课堂平台将用户分为管理员和一般用户两类角色,具有不同的功能权限。平台总体功能分为音视频资源管理、音视频信息、评论、标签与评分、用户空间5个模块[6]。管理员主要对系统进行基本设置,发布直播、点播资源。一般用户主要是对视频进行检索、观看、评论等。平台自2003年至今已运行多年,较好满足学校的网络教学需求,该APP将在视听课堂平台的基础上进行研究与实现。

视听课堂平台采用EJB3+Struts1.3技术方案,数据库采用Oracle10g,没有提供开放的访问数据库接口,因此,我们需要通过基于SOAP(Simple Object Access Protocol,简单对象存取协议)协议的方法获取数据[7]。该方法通过调用WebService获取服务器数据,需要服务端首先发布WebService,Android客户端调用WebService,获取到数据并解析。WebService是一种跨编程语言和跨操作系统平台的远程调用技术,是通过SOAP协议在Web上提供的软件服务,使用WSDL(Web Services Description Language,网络服务描述语言)文件进行说明,并通过UDDI(Universal Description, Discovery and Integration,通用描述、发现与集成服务)进行注册。Web服务有两层含义,一是指封装成单个实体并发布到网络上的功能集合体;二是指功能集合体被调用后所提供的服务。简单地讲,Web服务是一个URL资源,客户端可以通过编程方式

56

2018年1月总第281期

请求得到它的服务,不需要知道所请求的服务是怎样实现的。

所以,基于Android的视听课堂需要进行客户端App和服务端的设计与实现,总体架构如图1所示。服务端使用Ibatis框架、Spring框架、Apache CXF开源项目完成Web Services的发布和实现。视频服务器存放我校视频教学资源,目前视频均已转码为H.264编码的MP4封装格式,Android客户端不需要转码可直接访问视频资源。客户端借助于Ksoap2开源项目调用服务端提供的WebService服务。请求响应的过程为:客户端调用WebService服务提交请求;服务端对请求进行处理获取数据,并将数据返回给客户端;客户端根据获取到的数据进行解析,并展示到相应的用户界面上。

图1 基于Android的视听课堂总体架构

2.2 功能模块设计

基于Android的视听课堂客户端不区分用户角色,在一般用户功能权限的基础上,增加分享、缓存等功能,以实现实时异时异地学习,营造学习者学习体验、社会交流和互动学习环境和活动,促进学习者为中心的知识建构,功能模块如图2所示。该APP包括视频检索、用户空间、视频评论、视频分享与评分功能。

图2 视听课堂客户端功能模块图

用户未登录时只允许对视频资源进行检索、观看以及缓存,检索时可使用关键词检索,也可按学院检索和学科分类检索。

用户登录时,可对视频进行评论、分享、收藏和评分。评论即对视频进行点评,回复和支持其他用户发表的评论以及删除自己已发表评论;分享即可将视

2018年1月总第281期

频分享到社会化软件QQ、微信等;收藏视频时,可根据标签进行分类收藏;评分即为视频进行打分,评分标准采用百分制。用户进入用户空间,可对个人信息进行修改,如密码、邮箱信息;可添加、删除、修改和查询自己的标签;可查看、检索当前收藏的视频和对视频取消收藏。

3 核心实现过程

基于Android的视听课堂需要对客户端App和服务端进行编码实现。本文以视频播放界面的功能为例,详细介绍实现方式。视频播放界面如图3所示。用户登录成功,点击某一视频标题进入视频播放界面,该界面中给用户提供了评论、分享、缓存、评分、收藏功能。

图3 视频播放界面

3.1 服务端实现

服务端需要创建并发布Web Service服务,视频播放界面的Web Service服务需提供即将观看的视频的详细信息,以及与该视频相关的其他视频资源信息。相关推荐中的视频根据当前要观看视频的关键词信息检索视频资源库,将关键词相近、相同的数据读取出来,作为相关推荐。同时,也需要提供该视频的评论信息。

首先,创建Web Service项目Vod Web Service,实现过程中选用MyEclipse 8.5作为开发环境创建WebService项目。

其次,导入相关jar包,创建访问数据库接口。由于视听课堂平台选用的是Oracle10g数据库,故需要导入oracle数据库驱动包。程序开发过程中使用了ibatis持久层框架,也需要导入相应jar包。Web Services的发布和实现使用的是CXF,故需提供cxf相关jar包。

再次,创建Web Service接口并发布。发布Web Service之后,运行wsdl文件,视频播放界面的wsdl文件的URL为:http://172.25.25.69:8088/vodService/

ISSN1672-1438CN11-4994/T

webservice/audioVideoResource?wsdl,该文件给客户端提供了namespace,methodName,serviceURL和soapAction参数。

服务端其他WebService服务,只需在该项目下用Java语言实现并发布即可。

3.2 Android客户端实现

客户端使用Android Studio作为开发环境,调用WebService服务时需要借助于第三方类库Ksoap2-android。

第一,在Android Studio中创建Vod项目,将Ksoap2-android依赖包手动添加到App下的libs目录中。

第二,设计客户端的视频播放界面,采用线性布局,第一行放置视频播放窗口,使用VideoView控件。第二行放置对该视频的相应操作,包括评论、分享、缓存和评分。用户未登录的情况下,仅显示缓存操作。第三行放置推荐视频列表,使用ListView组件,以实现上下滑动屏幕查看相关视频的目的。最后一行放置评论列表,同样使用ListView组件。

第三,创建工具类,用来调用服务端提供的Web Service服务,并对返回的XML数据进行解析显示到用户界面上。XML数据格式需要客户端提供工具类进行解析[8]。相关推荐视频列表根据当前播放视频的关键词检索数据库中关键词相近、相同的视频资源,根据评分结果值的降序方式显示。视频播放页面的评论列表数据是根据当前视频的ID进行查询,然后以发表时间倒序的方式进行显示。当点击视频播放窗口下的评论时,就会跳到评论列表部分,该视频播放界面截图中未体现。评论、分享、缓存和评分均已添加事件监听,点击时触发相应的处理。调用Web Service的具体过程如下。

(1)指定Web Service服务的命名空间、调用方法、服务URL,并设置调用方法的参数。视频播放界面服务端提供的服务的参数为Map类型,需要将视频的ID信息封装到map中。

(2)生成调用Web Service方法的SOAP请求信息。创建SoapSerilizationEnvelope对象,并声明使用的soap协议版本

SoapSerializationEnvelope envelope=new SoapSerializationEnvelope(SoapEnvelope.VER11);

envelope.bodyOut=request;envelope.dotNet=false;

envelope.setOutputSoapObject(request);// 设置请求参数

(3)创建HttpTransportSE对象,调用Web Service方法。

(下转62页)

57

ISSN1672-1438CN11-4994/T

优点,在现代加工技术中,占有越来越重要的地位。特种加工实习教学改革的顺利进行,使学生的工程素质得到了较大的提高,同时我校工程训练中心引进了3D打印技术,使学生能及时了解先进的技术、工艺、材料和设备,开阔了学生的视野,提高了学生的学习积极性。将有助于推进独立本科院校向应用型高校的转型发展。

参考文献

[1] [2] [3]

2018年1月总第281期

[4]

曾庆生,杨毅,李恒,麻胜荣.在金工实习中进行创新教育的初探[J].机械管理开发,2008(1):185-186,188.

傅水根,李生录.对我国工程实践教学的弊利分析与发展方向探讨[J].常州信息职业技术学院学报,2005(3):1-5.

刘晓微,梁建新,邢军.用交叉学科知识来充实工程实习教学:金工实习中线切割实习教学[J].河北工业大学成人教育学院学报,2003(3):58-60.

杨毅,曾庆生,李恒.论金工实习的改革与创新能力的培养[J].装备制造技术,2007(7):146-148.

Reformation and Investigate of Non-traditional Machining Practice Teaching

Li Junxia ,Yao Yunfeng, Li Zhiyong

Abstract: The problems of non-traditional machining practice in our university are analyzed, the corresponding reform and practice are implemented, and the good teaching effects are obtained. The advanced technique for an example the 3-D printing technology, is adopt in the engineering training center of Hebei University of Science and Technology. The students’ perspective are opened and the learning initiative are improved.

Key words: metal working practice; non-traditional machining; teaching reform

School of Material Science and Engineering, Hebei University of Science and Technology, Shijiazhuang, 050018, China

(上接57页)

HttpTransportSE ht=new HttpTransportSE(serviceURl);ht.call(null,envelope);

(4)在返回结果不为空的情况进行解析,并显示到用户界面。

的使用性能。为提高性能,下一步将其修改为JSON格式,同时收集和整理用户反馈,对App进行修改,以完善用户体验和功能。参考文献

[1]

汤跃明,付晓丽,卜彩丽.近十年移动学习研究现状评述[J]. 中国远程教育,2016(7):36-43.

[2] 金慧,刘迪,高玲慧.新媒体联盟《地平线报告》(2016高等教育

版)解读与启示[J]. 远程教育杂志,2016,35(2):3-10.

[3] 王鹰. 基于 Android 应用的移动学习资源设计与开发

研究:以“中南大学视频公开课”为例[J].现代教育技术,2014,24(3):50-56.

[4] 吕爱萍.基于Android的微课程平台客户端设计与实现[J]. 中国

现代教育装备,2015(23):19-22.

[5] 王冉.基于Android的多媒体及相关技术的研究和应用[D].北

京:北京邮电大学,2014.

[6] 裘爽.在网络教学辅助平台研发中对基于Java的企业级应用的

探索[D].北京:北京工业大学,2011.

[7] Arroqui M, Mateos C, Machado C, et al. RESTful Web Services

improve the efficiency of data transfer of a whole-farm simulator accessed by Android smartphones[J]. Computers and Electronics in Agriculture, 2012(87): 14-18.

[8] Rodrigues C, Afonso J, Tomé P. Mobile application webservice

performance analysis: Restful services with json and xml[J]. ENTERprise information systems, 2011: 162-169.

4 结语

本文通过对移动学习的研究和我校视听课堂现状的分析,结合Android手机客户端开发技术,实现了基于Android的视听课堂,方便了师生手机移动端的访问。同时,对我校学生课外基于资源的移动学习、碎片化学习起到有效帮助,对课内、课外教与学的融合起到积极作用。该App作为移动学习实践的尝试,在资源学科融合方面有所欠缺,下一步将资源固有学科界限打破,以学习主题为中心构建资源,使资源内容在学科之间相互渗透和交叉。基于Android的视听课堂服务端返回客户端的数据方式为XML字符串形式,该形式需要在客户端创建额外的类型解析,会影响App

Design and Implementation of VOD Platform Based on Android

Cheng Huimin, Jin Lei, Cao Qian, Xu Shidong, Li Xiaoyong

Information Technology Support Center, Beijing University of Technology, Beijing, 100124, China

Abstract: Mobile learning as a new way of learning to learn whenever and wherever by your mobile computing device, is attracted widespread attention.The VOD platform of BJUT is a video on demand and live platform, including full course video, teaching video, activities video, report video, lectures video and so on. To better meet the needs of the mobile learning , the paper introduces android system and key technology, VOD App design and core implementation process combination of VOD.The VOD platform provides a flexible and personalized learning,which can promote the use of teaching resources and improve the level of teaching services.Key words: mobile learning; VOD; Android

62

因篇幅问题不能全部显示,请点此查看更多更全内容