论文部分内容阅读
摘 要:随着移动互联网、云计算、智能设备和移动设备的普及,移动学习受到广泛关注。本文以《数据库原理与设计》课程为例,设计并实现了基于云存储的移动自主学习平台。该平台不但解决了大量音视频文件的安全、高效和低价存储问题,而且可以使学习者随时随地获取自己想要的知识信息,从而实现真正意义上的自主学习。该平台已经成为传统课堂教学的重要辅助工具。
关键词:云存储;互联网 ;移动互联网;自主学习
中图分类号:TP393 文献标志码:B 文章编号:1673-8454(2017)13-0094-04
一、引言
《国家中长期教育改革和发展规划纲要(2010-2020年)》[1]指出,要“加快解决经济社会发展对高质量多样化人才需要与教育培养能力不足的矛盾、人民群众期盼良好教育与资源相对短缺的矛盾”。因此,各高校需要紧跟当前科技发展的步伐,依据当前学生学习的特点,不断变革教学手段与加强教学资源平台建设。
移动互联网,就是将移动通信和互联网二者结合起来,成为一体。伴随着移动终端价格的下降、WIFI的广泛铺设以及4G时代的开启,移动网民呈现爆发式增长趋势。当前很多企业正在对大数据如何在各个行业应用积极探索,这些都使得通过移动教育为用户提供学习方案成为可能,即移动学习应运而生。移动学习[2]不受时间和空间限制,可以随时随地进行学习,有着传统教学无法比拟的优点,必将在高校教学教改中发挥巨大作用。
本文结合近年来稳居市场占有率第一的Android平台,基于百度云存储BOS服务,以《数据库原理与设计》课程为例,设计并实现了一个自主学习平台。该平台不仅有效解决了大量音频、视频等教学资源的海量存储问题,还可以方便学生随时随地学习。该平台可以有效提高学生自主学习的积极性与效果,成为提高教学质量和教学效果的重要手段之一。
二、移动自主学习平台的分析与设计
1.移动操作系统Android
Android是Google推出的基于Linux的开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑。根据市场研究公司Strategy Analytics公布的2016年第三季度全球手机市场的操作系统份额占比情况,在这一统计周期中(6至9月),全球Android手机的市场份额上升至87.5%,而苹果的iOS系统则跌至12.1%。Android平台目前拥有众多硬件产品,随着Google对于Android的不断优化完善和这些硬件企业强大的创新能力,Android平台正生机勃勃的成长着。
Android 系统以其平台的开放性、终端的高性价比吸引着越来越多的开发者和用户,因此,本文将在Android環境下开发移动自主学习平台。
2.数据库原理与设计课程分析
数据库原理与设计的课程内容较为抽象和晦涩,学生理解和掌握有一定的难度。因此,为数据库原理与设计课程专门开发移动自主学习平台来辅助学生学习,可以高效的利用学生的碎片化时间,有效提高学生学习的积极性和效率。
3.平台架构设计
由于本平台涉及到大量供学生访问学习的音频、视频文件,为保证其存储的安全性及访问性能,我们借助云端服务整合资源,实现视频资源的云存储。
经过对用户及其功能和性能的需求分析,基于云存储的移动自主学习平台,主要有三种类型的用户角色,分别是管理员、教师和学生。平台总体架构如图1 所示。
在本平台中,由云存储负责存储音频、视频等大型文件,由普通数据库服务器负责存储文本文件。学生使用Android客户端通过无线网络进行课程资源的访问与使用,教师使用PC中的浏览器进行移动自主学习平台的课程资源管理与建设,管理员使用PC中的浏览器管理教师和学生。
4.功能模块设计
在设计了上述的平台架构之后,就可以根据平台架构设计移动自主学习平台的功能模块。总体来说,平台分为管理员模块、教师模块和学生模块,这三个模块的具体功能如图2所示。
三、移动自主学习平台的实现
本平台在开发过程中,主要用到以下开发工具和关键技术。
1.开发工具
(1)Eclipse
本平台采用Eclipse开发服务端网站,供管理员和教师访问。Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。
(2)MySQL
考虑到运营成本,本平台只用云存储来进行音频、视频等大型文件的管理,一般的文本文档采用MySQL数据库进行存储。MySQL体积小、速度快,其开放源码的特点可以大大降低总体拥有成本,一般中小型网站的开发都选择 MySQL 作为网站数据库。
(3)Tomcat
我们采用Tomcat作为基于云存储的移动自主学习平台服务端网站的服务器。因为Tomcat 技术先进、性能稳定,而且免费,因而深受开发者的喜爱并得到了部分软件开发商的认可,目前已成为比较流行的Web 应用服务器之一。
(4)Android Studio
本平台采用Android Studio[3]进行移动客户端的开发,供学生通过此App随时随地进行课程资源的访问。Android Studio是一款简单直观、功能丰富且极具包容性的集成开发环境,在开发Android App方面比Eclipse更加高效易用。Google在2015年底已经停止对Eclipse的ADT更新支持,推荐开发者使用Android官方集成开发环境Android Studio。Android Studio有基于Gradle的构建支持,有功能更强大的布局编辑器。
(5)Git
本平台开发过程中,采用Git[4]进行版本管理。Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。 2.关键技术
(1)BOS
本平台开发过程中,采用百度云存储BOS进行音频、视频等大型文件的存储。百度对象存储BOS(Baidu Object Storage),提供稳定、安全、高效、高可扩展的云存储服务,支持最大5TB多媒体、文本、二进制等任意类型数据的存储。BOS连续2年通过可信云认证,可以让我们更放心地存储关键数据。
BOS使用中涉及的核心概念有:
① Object:在BOS中,用户操作的基本数据单元是Object。
② Bucket:Bucket可以理解为命名空间,一个存储桶,所有Object都必需存储在Bucket中。每个Bucket的名称在BOS的一个Region内具有唯一性。一个用户最多可创建100个Bucket,但每个Bucket中存放的Object的数量和大小总和没有限制,用户不需要考虑数据的可扩展性。
③ Referer白名单:Referer白名单即准入列表,基于HTTP header referer字段的防盗链方法,目的是防止用户存储在BOS上的数据被其他人盗链。用户可以通过BOS控制台设置Referer字段的白名单。设置白名单后,只有Referer字段在白名单内的用户才可以访问Bucket中存储的数据,不在白名单内的请求会被拒绝。但如果用户的Referer为空,默认可以访问,不受白名单限制。
④ CDN加速:CDN不仅能为包括地图、图片、文档在内的静态网页加载进行加速,也可为音频、下载、游戏等业务提供加速服务,使网站可被高速访问,有效提升网站的用户体验。
(2)HttpURLConnection
本平台开发的Andriod客户端应用,需要与服务器进行数据交互。本平台采用使用最广泛的 HTTP协议进行网络访问。Android开发中使用HTTP协议访问网络,最常用的两种方式是HttpURLConnection和HttpClient。
在Android 6.0(API 23)版本的SDK中,已将Apache HttpClient相关类移除,推荐使用HttpURLConnection。HttpURLConnection对大部分工作进行了包装,屏蔽了不需要的细节,体积较小,因而非常适用于Android项目。并且HttpURLConnection直接在系统层面做了缓存策略处理,可以加快重复请求的速度。由于其压缩(GZip)和缓存机制可以有效地减少网络访问的流量,在提升速度和省电方面也起到了较大的作用。所以本平台使用HttpURLConnection进行网络访问。
为了访问网络,需要在AndroidManifest.xml中添加如下权限:
在使用过程中,为了实现回调,我们定义了接口HttpCallbackListener作为网络请求返回监听器,该接口包含成功和失败两个回调方法。具体定义如下:
public interface HttpCallbackListener {
void onFinish(String response);
void onError(Exception e);
}
(3)GridView
在本平臺的客户端主界面中,为了使界面友好,操作方便,我们设计了带有分割线的GridView九宫格界面。我们把GridView嵌套到ScrollView中,定义了一个带分割线的选择器,具体代码如下:
<?xml version="1.0" encoding="utf-8"?>
四、移动自主学习平台的功能展示
为了便于在移动端部署应用,我们将基于云存储的移动自主学习平台的Android客户端命名为“口袋课堂”。“口袋课堂”的登录界面和主要功能模块界面,如图3、图4所示。
五、结束语
本文从设计开发的角度详细阐述了基于云存储的移动自主学习平台的设计与实现策略,从而实现一个在移动终端上,能让学生充分利用零碎时间自主学习的平台。本文对如何通过信息技术构建移动自主学习平台,从而推动学习的终身化,改革教学手段,有一定的实用和参考价值。
参考文献:
[1]中华人民共和国教育部.国家中长期教育改革和发展规划纲要(2010-2020年)[DB/OL].http://www.moe.edu.cn/publicfiles/business/htmlfiles/moe/moe_838/201008/93704.html.
[2]胡通海.移动学习的定义、特征和结构[J].软件导刊,2010,9(7):178-180.
[3]陈承欢.Android移动应用开发任务驱动教程Android Studio Genymot [M].北京:电子工业出版社,2016.
[4]罗力格,麦克库罗著.Git版本控制(影印版)(第2版)[M].南京:东南大学出版社,2013.
(编辑:王晓明)
关键词:云存储;互联网 ;移动互联网;自主学习
中图分类号:TP393 文献标志码:B 文章编号:1673-8454(2017)13-0094-04
一、引言
《国家中长期教育改革和发展规划纲要(2010-2020年)》[1]指出,要“加快解决经济社会发展对高质量多样化人才需要与教育培养能力不足的矛盾、人民群众期盼良好教育与资源相对短缺的矛盾”。因此,各高校需要紧跟当前科技发展的步伐,依据当前学生学习的特点,不断变革教学手段与加强教学资源平台建设。
移动互联网,就是将移动通信和互联网二者结合起来,成为一体。伴随着移动终端价格的下降、WIFI的广泛铺设以及4G时代的开启,移动网民呈现爆发式增长趋势。当前很多企业正在对大数据如何在各个行业应用积极探索,这些都使得通过移动教育为用户提供学习方案成为可能,即移动学习应运而生。移动学习[2]不受时间和空间限制,可以随时随地进行学习,有着传统教学无法比拟的优点,必将在高校教学教改中发挥巨大作用。
本文结合近年来稳居市场占有率第一的Android平台,基于百度云存储BOS服务,以《数据库原理与设计》课程为例,设计并实现了一个自主学习平台。该平台不仅有效解决了大量音频、视频等教学资源的海量存储问题,还可以方便学生随时随地学习。该平台可以有效提高学生自主学习的积极性与效果,成为提高教学质量和教学效果的重要手段之一。
二、移动自主学习平台的分析与设计
1.移动操作系统Android
Android是Google推出的基于Linux的开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑。根据市场研究公司Strategy Analytics公布的2016年第三季度全球手机市场的操作系统份额占比情况,在这一统计周期中(6至9月),全球Android手机的市场份额上升至87.5%,而苹果的iOS系统则跌至12.1%。Android平台目前拥有众多硬件产品,随着Google对于Android的不断优化完善和这些硬件企业强大的创新能力,Android平台正生机勃勃的成长着。
Android 系统以其平台的开放性、终端的高性价比吸引着越来越多的开发者和用户,因此,本文将在Android環境下开发移动自主学习平台。
2.数据库原理与设计课程分析
数据库原理与设计的课程内容较为抽象和晦涩,学生理解和掌握有一定的难度。因此,为数据库原理与设计课程专门开发移动自主学习平台来辅助学生学习,可以高效的利用学生的碎片化时间,有效提高学生学习的积极性和效率。
3.平台架构设计
由于本平台涉及到大量供学生访问学习的音频、视频文件,为保证其存储的安全性及访问性能,我们借助云端服务整合资源,实现视频资源的云存储。
经过对用户及其功能和性能的需求分析,基于云存储的移动自主学习平台,主要有三种类型的用户角色,分别是管理员、教师和学生。平台总体架构如图1 所示。
在本平台中,由云存储负责存储音频、视频等大型文件,由普通数据库服务器负责存储文本文件。学生使用Android客户端通过无线网络进行课程资源的访问与使用,教师使用PC中的浏览器进行移动自主学习平台的课程资源管理与建设,管理员使用PC中的浏览器管理教师和学生。
4.功能模块设计
在设计了上述的平台架构之后,就可以根据平台架构设计移动自主学习平台的功能模块。总体来说,平台分为管理员模块、教师模块和学生模块,这三个模块的具体功能如图2所示。
三、移动自主学习平台的实现
本平台在开发过程中,主要用到以下开发工具和关键技术。
1.开发工具
(1)Eclipse
本平台采用Eclipse开发服务端网站,供管理员和教师访问。Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。
(2)MySQL
考虑到运营成本,本平台只用云存储来进行音频、视频等大型文件的管理,一般的文本文档采用MySQL数据库进行存储。MySQL体积小、速度快,其开放源码的特点可以大大降低总体拥有成本,一般中小型网站的开发都选择 MySQL 作为网站数据库。
(3)Tomcat
我们采用Tomcat作为基于云存储的移动自主学习平台服务端网站的服务器。因为Tomcat 技术先进、性能稳定,而且免费,因而深受开发者的喜爱并得到了部分软件开发商的认可,目前已成为比较流行的Web 应用服务器之一。
(4)Android Studio
本平台采用Android Studio[3]进行移动客户端的开发,供学生通过此App随时随地进行课程资源的访问。Android Studio是一款简单直观、功能丰富且极具包容性的集成开发环境,在开发Android App方面比Eclipse更加高效易用。Google在2015年底已经停止对Eclipse的ADT更新支持,推荐开发者使用Android官方集成开发环境Android Studio。Android Studio有基于Gradle的构建支持,有功能更强大的布局编辑器。
(5)Git
本平台开发过程中,采用Git[4]进行版本管理。Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。 2.关键技术
(1)BOS
本平台开发过程中,采用百度云存储BOS进行音频、视频等大型文件的存储。百度对象存储BOS(Baidu Object Storage),提供稳定、安全、高效、高可扩展的云存储服务,支持最大5TB多媒体、文本、二进制等任意类型数据的存储。BOS连续2年通过可信云认证,可以让我们更放心地存储关键数据。
BOS使用中涉及的核心概念有:
① Object:在BOS中,用户操作的基本数据单元是Object。
② Bucket:Bucket可以理解为命名空间,一个存储桶,所有Object都必需存储在Bucket中。每个Bucket的名称在BOS的一个Region内具有唯一性。一个用户最多可创建100个Bucket,但每个Bucket中存放的Object的数量和大小总和没有限制,用户不需要考虑数据的可扩展性。
③ Referer白名单:Referer白名单即准入列表,基于HTTP header referer字段的防盗链方法,目的是防止用户存储在BOS上的数据被其他人盗链。用户可以通过BOS控制台设置Referer字段的白名单。设置白名单后,只有Referer字段在白名单内的用户才可以访问Bucket中存储的数据,不在白名单内的请求会被拒绝。但如果用户的Referer为空,默认可以访问,不受白名单限制。
④ CDN加速:CDN不仅能为包括地图、图片、文档在内的静态网页加载进行加速,也可为音频、下载、游戏等业务提供加速服务,使网站可被高速访问,有效提升网站的用户体验。
(2)HttpURLConnection
本平台开发的Andriod客户端应用,需要与服务器进行数据交互。本平台采用使用最广泛的 HTTP协议进行网络访问。Android开发中使用HTTP协议访问网络,最常用的两种方式是HttpURLConnection和HttpClient。
在Android 6.0(API 23)版本的SDK中,已将Apache HttpClient相关类移除,推荐使用HttpURLConnection。HttpURLConnection对大部分工作进行了包装,屏蔽了不需要的细节,体积较小,因而非常适用于Android项目。并且HttpURLConnection直接在系统层面做了缓存策略处理,可以加快重复请求的速度。由于其压缩(GZip)和缓存机制可以有效地减少网络访问的流量,在提升速度和省电方面也起到了较大的作用。所以本平台使用HttpURLConnection进行网络访问。
为了访问网络,需要在AndroidManifest.xml中添加如下权限:
在使用过程中,为了实现回调,我们定义了接口HttpCallbackListener作为网络请求返回监听器,该接口包含成功和失败两个回调方法。具体定义如下:
public interface HttpCallbackListener {
void onFinish(String response);
void onError(Exception e);
}
(3)GridView
在本平臺的客户端主界面中,为了使界面友好,操作方便,我们设计了带有分割线的GridView九宫格界面。我们把GridView嵌套到ScrollView中,定义了一个带分割线的选择器,具体代码如下:
<?xml version="1.0" encoding="utf-8"?>
四、移动自主学习平台的功能展示
为了便于在移动端部署应用,我们将基于云存储的移动自主学习平台的Android客户端命名为“口袋课堂”。“口袋课堂”的登录界面和主要功能模块界面,如图3、图4所示。
五、结束语
本文从设计开发的角度详细阐述了基于云存储的移动自主学习平台的设计与实现策略,从而实现一个在移动终端上,能让学生充分利用零碎时间自主学习的平台。本文对如何通过信息技术构建移动自主学习平台,从而推动学习的终身化,改革教学手段,有一定的实用和参考价值。
参考文献:
[1]中华人民共和国教育部.国家中长期教育改革和发展规划纲要(2010-2020年)[DB/OL].http://www.moe.edu.cn/publicfiles/business/htmlfiles/moe/moe_838/201008/93704.html.
[2]胡通海.移动学习的定义、特征和结构[J].软件导刊,2010,9(7):178-180.
[3]陈承欢.Android移动应用开发任务驱动教程Android Studio Genymot [M].北京:电子工业出版社,2016.
[4]罗力格,麦克库罗著.Git版本控制(影印版)(第2版)[M].南京:东南大学出版社,2013.
(编辑:王晓明)