基于Android的微课程平台客户端设计与实现
2015-11-21吕爱萍
吕爱萍
1.西北师范大学 计算机科学与工程学院 甘肃兰州 730070 2.国家开放大学华亭学习中心 甘肃华亭 744100
基于Android的微课程平台客户端设计与实现
吕爱萍1,2
1.西北师范大学 计算机科学与工程学院 甘肃兰州 730070 2.国家开放大学华亭学习中心 甘肃华亭 744100
微课程作为一种新兴的教学资源已经应用广泛,微课程平台技术也趋于成熟。我国微课程平台虽已建设应用,但资源没有充分的使用,互动学习效果较差。对微课程及其平台等概念进行梳理,研究分析国外微课程平台特点,依托国内视频网站优酷开放平台,结合Anth2.0授权机制、JSON数据交换以及基于Android的手机客户端开发技术,实现了基于Android的微课程平台客户端。
微课程;微课程平台;Android手机客户端;优酷开放平台
近年来,移动计算技术得到迅猛发展,移动设备更是运用广泛,满足学习者可以随时随地地获取自己想要的知识信息的移动学习(m-Leaming)结合以开放、共享为理念的开放教育资源运动的蓬勃发展,促使“微”教学模式逐渐在全球范围内兴起;基于“微学习”而建设的“微内容”的微课程在国内外网络课程中更是声名鹊起。
国外,可汗学院(http://www.khanacademy. org /)和TED-Ed (http:// ed.ted.com/)依托全球著名的YouTube视频网站搭建起各具特色的微课程平台,向世界各地的人们提供免费的高品质教育,课程平台与手机客户端也已达到无缝对接。
国内,根据中国互联网络信息中心(CNNIC)发布的《第34次中国互联网络发展状况统计报告》[1]:截至2014年6月,手机网民规模5.27亿,网民上网设备中,手机使用率达83.4%。我国移动设备的拥有量已处于世界前列,移动学习也逐渐引起了人们关注;微课程平台建设方面,国家开放大学5分钟课程网、佛山微课、微课网等各种微课程平台也被大众所认知,但国内课程平台建设多采用自建的资源服务器,建设成本高,资源更新迟缓,交互性不强,对移动设备应用支持不得力,尤其对于资金薄弱地区和学校,建立微课程平台,无论硬件建设、维护还是技术支持,都存在很大的困难,本文依托国内最大视频网站优酷及其免费的开放平台,设计微课程平台系统,实现基于Android平台的微课程平台手机客户端,试图为微课程平台建设及对应手机客户端开发带来启发。
1 微课程、微课程平台、Android手机客户端
1.1 微课程
微课程最早由美国戴维·彭罗斯于2008年秋首创;他把微课程称为“知识脉冲”,就是片段化的学习内容,这种片段化的学习内容可以按照学生的个性化学习需求组织,成为聚焦于单一知识点的微课程[2]。国内率先提出微课程概念的是广东佛山教育局胡铁生,他认为微课程是指按照新课程标准及教学实践要求,以教学视频为主要载体,反映教师在课堂教学过程中针对某个知识点或教学环节而开展教与学活动的各种教学资源有机组合。
1.2 微课程平台
微课程是以微视频为主要呈现方式的,同时还包括与学习活动相关的微电子辅助支持资源,如微教案、微课件、微练习、微反馈、微评价及微反思等,它们共同构建成一种半结构化、主题突出的新型资源单元应用“生态环境”,微课程平台是这一“生态系统”的具体实现[3]。
可汗学院依托YouTube视频网站,以由易到难的进阶方式将相应的微视频课程衔接起来,并设计和配置了相应的练习微课程平台,其在线图书馆已收藏了3 500多部可汗教师的教学视频[4];TED-Ed是 TED在YouTube上推出教育频道,它将课程与视频、字幕、交互式问答系统等融合为一体,其微视频已经吸引了8亿多人次的播放次数。Udemy是于2010年成立的在线教育平台,至今发布了13 000多个课程,包含2亿多名学生;其平台除了提供微大纲、微视频和微教案,依据微课程设计是以学习者为中心的自主学习这一出发点,设计了形成性评价与总结性评价等作为检验学习成效的方式。
1.3 基于Android平台的手机客户端
Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。2013年的第四季度,Android平台手机的全球市场份额已经达到78.1%。Android应用通常由一个或多个基本组件组成,Android的基本组件总共包括五大类。
(1)Activity——应用表示层(基类Activity)。
(2)Service——无可示界面,可长时间运行于后台。Service 与 Activity的地位是相同,区别在于:Service组件运行于程序后台,一般用户不可见,不需要与用户交互,因此可以把Servic组件视为没有图形的用户界面。
(3)Broadcast Receiver——用户接收广播通知的组件。
(4)Content Provider——处理各应用程序之间数据的共享与通信问题。
(5)Intent——连接组件的纽带。
通常将手机应用大体上分为两类,即单机应用和交互应用,单机应用指的是仅需要手机终端的支持就可使用的应用,如移动办公应用等。交互应用指的是除了手机终端外还需要其他终端或服务端支持的软件;微课程平台客户端择属于交互应用[5]。
2 系统的设计
2.1 系统框架的设计
微课程平台总体架构如图1所示。
图1 微课程平台架构图
微课程平台网站服务端由Apache Web服务器、数据库服务器和优酷开放平台组成,Web服务器和数据库服务器重点实现课程的组织架构,同时实现微课程生态系统中微教案、微评价等资源存储访问,微视频交由优酷开放平台实现专业管理,以提高平台应用效率和运行稳定性。
Android智能终端用户通过手机客户端软件访问微课程平台,选用JSON作为数据交换格式;PC浏览器用户及管理员通过PC端浏览器访问管理微课程平台,通过HTTP POST方式与服务器交换数据。
2.2 功能模块的设计
Android手机客户端功能模块如图2所示。
图2 移动平台手机客户端功能模块图
由用户授权登陆、微课程集、课程搜索,学习工具和帮助系统组成。核心微课程集中微课程由课程简介、学习模块和互动模块构成。课程简介由课程名称、主讲教师信息、 课程介绍、课程设置通知、课程分享和课程评价等部分组成。学习模块顶端学习进度时间轴给学习者直观的进度显示;下方为学习内容部分,它是整个界面的核心,也是呈现篇幅最大的区域,包含课程章节、每节课的主题、时长学习内容呈现形式。互动模块由讨论、公告、学习成员三部分组成。课程讨论区域是用于学习者提问,师生答疑,师生间、学习者间交流的区域。课程公告区域是主讲教师用来发布课程的相关通知。学习成员可显示所修该课程的所有成员姓名,点击进入成员列表,可对学生姓名加以搜索,还可对他们加以关注或发送消息。
3 视频开放平台、Anth2.0授权机制和JSON数据解析技术
3.1 优酷视频开放平台
所谓开放服务,指把网络上的服务能力封装成一系列计算机易识别的数据接口开放出去,供第三方开发者使用,即 Open API(open application programming interface),这样可提供多种多元化的应用服务来快速满足用户的各种需求,进而提高用户黏性。优酷开放平台是基于优酷海量视频库的开发的发现、订阅、分享与交流平台。优酷开放平台提供几乎无限的存储空间以及随时在增长的服务带宽,实现视频从上传、传播、播放到分享、聚合、交流的全部需求[6]。
优酷视频开放平台通过开放接口(Open API),实现对用户、评论、视频、节目、专辑、搜索、人物和数据约束类数据的访问或控制;通过授权,开发者可以无缝的将视频平台与自己的网站或手机客户端融合,实现第三方开发应用。
3.2 Anth2.0授权机制
图3 Anth2.0授权机制
图3 中步骤:A客户端发起授权请求,B授权页面等待用户授权,如果授权成功,则携带用户授权码跳转到指定的URL,C应用的服务器端获取用户授权码,并向授权服务器申请令牌,D应用服务器获得令牌,保存下来,以便下次使用[6]。
Anth2.0授权验证流程简单更安全,是未来最主要的用户身份验证和授权方式。如图3所示,通过授权机制,可获取用户信息、用户上传和分享的视频,帮助用户实现上传视频、关注他人、评论视频等用户动作;是是否能对优酷开放平台进行访问的充要条件,只有授权用户才有对视频平台使用权[7]。
3.3 Android JSON数据解析
调用优酷开放平台所提供的公共接口,返回为JSON格式的数据,必须对其解析,才能获得符合android视图使用的数据。JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。JSON建构有两种结构:对象和数组。对象:在js中表示为“{}”扩起来的内容,数据结构为 {key:value,key:value,...}的键值对的结构,在面向对象的语言中,key为对象的属性,value为对应值。数组在js中是中括号“[]”扩起来的内容,数据结构为["java","javascript",...]。Android的JSON解析部分都在包org.JSON下,主要类JSONObject:是JSON对象,是基本单元,其包含一对儿(Key/Value)数值Value的类型包括:Boolean、JSONArray、JSONObject、Number、String等。其数值添加需先初始化一个JSONObject实例,引用内部的put()方法添加数值如,new JSONObject().put(“JSON”, “Hello, World!”);其取值方法为 对象.key 获取属性值。
4 系统主要模块的实现
4.1 功能实现
在手机客户端编程实现时,首先需在优酷开放平台申请应用的Appkey和Appsecret(应用在优酷平台的ID和密钥);主程序实现用户授权登录、视频播放、上传和评论等功能;视频播放、上传为程序的主核心,其实现如下文。
4.1.1 视频播放的实现
优酷开放平台提供的SDK 以 libiary 包的形式供第三方接入和使用优酷播放器,设备中需要预先安装 YoukuPlayer 应用,在主程序的onCreate函数中对 YoukuPlayerView 实例进行初始化,在onInitialization()函数中获取 YoukuPlayer,通过传入视频id 进行播放。
视频播放器实例化代码1如下:
代码1:视频播放器实例化public void onCreate(Bundle savedInstanceState){Super.onCreate(savedInstanceState);setContentView(R.layout.second);mYoukuPlayerView=(YoukuPlayerView) this.findViewById(R. id.full_holder);//绑定播放器显示视图mYoukuPlayerView.initialize(this)//初始化播放器}
主程序初始化成功后播放视频代码2如下:
代码2:播放视频代码Public void onInitializationSuccess(YoukuPlayer player){addPlugins();player.playVideo(“XNTcNDEzZk2”)//参数为视频ID;}
4.1.2 视频上传的实现
视频上传主要实现第三方Android 应用程序上传视频文件到优酷。上传请求均位于非UI线程、不会阻塞UI操作,可通过匿名内部类处理回调结果,响应结果均返回JSONObject。上传实例化时,调用参数client_id指手机客户端在优酷开放平台申请appkey,参数client_secre指appsecret具体实现代码3如下:
代码3:视频上传YoukuUploader uploader = YoukuUploader.getInstance(client_ id, client_secret, getApplicationContext());uploader.upload(params, uploadInfo, new IUploadResponseHandler() {public void onStart() { … } // 上传相关 UI初始化public onProgressUpdate(int counter) { … } // 上传进度百分比public onSuccess(JSONObject response) { …}// 上传成功返回{“video_id”, “XMjq1MTcyNDQ0”}public onFailure(JSONObject errorResponse) {…}// 上传相关错误,详看相关错误码public onFinished() {… } // 不管成功失败都会调用
4.2 客户端UI设计
作为手机应用或客户端,友好美观的用户界面是手机操作系统和软件开发商角逐的热点,微课程平台客户端参考目前市场主流的UI设计,采取九宫格的主页面,以ListView实现次页面,主色调简洁淡雅,力求在页面上吸引用户注意力,其主页面和次页面如图4。
图4 微课程平台主页面
5 结束语
本文通过对微课程平台可汗学院、TED-Ed和Udemy的研究分析,依托国内最大优酷视频网站开放平台,设计了集微视频、微教案和微评论等为一体的微课程平台系统,实现了基于Android的手机客户端。通过平台与手机等智能终端紧密结合 ,将使微课程学习更为便捷,更适合移动学习。
[1] 中国互联网信息中心 (CNNIC).第34次《中国互联网络发展状况统计报告》[R].http://www.cnnic.net.cn/hlwfzyj/ hlwxzbg/hlwtjbg/201407/t20140721_47437.htm.
[2] 梁乐明,曹俏俏,张宝辉.微课程设计模式研究_基于国内外微课程的对比分析[J].开放教育研究.2013
[3] 胡铁生.“微课”:区域教育信息资源发展的新趋势[J].电化教育研究,2011(10):62.
[4] 百度百科.可汗学院[DB/OL] http://baike.baidu.com/ view/5913590.htm?fr=aladdin.
[5] 肖红,王辉,赵娅.基于“微课程”的移动学习平台构建[J].教育教学论坛,2014(40):142-143.
[6] Lee J K. Web 2.0 and OpenAPI. NHN, KRNet 2006
[7] 优酷开放平台.用户授权说明及流程[DB/OL].http://open. youku.com/docs/OAuth2.html.
The Design and Implementation of Micro Course Platform Based on Android
Lv Aiping1,2
1. Computer Science And Engineering Northwest Normal University, Lanzhou, 730070, China;
2. National Open University Huating Study Centre, Huating, 744100, China
Micro courses as a new kind of teaching resources has been widely used, micro course platform technology also tends to be mature;China's Micro course platform although construction application, but resources are not fully used, interactive learning effect is poor; this paper sorts out the concept of micro course and its platform, researches on foreign micro course platform characteristics, relying on domestic video site Youku open platform, in combination Anth2.0 authorization mechanism, the JSON data interchange and based on the Android mobile phone client development technology, based on Android micro courses platform client.
micro course; micro course platform; Android mobile client; Youku platform
2015-07-02
吕爱萍,硕士,讲师。
国家开放大学“十二五”规划2014-2015年度委托课题《现代远程开放教育环境下的移动学习模式研究》(编号:G14A4005W)。