首页 > 范文大全 > 正文

基于Android平台的移动学习系统的设计与实现

开篇:润墨网以专业的文秘视角,为您筛选了一篇基于Android平台的移动学习系统的设计与实现范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘 要: 在移动互联网时代,为满足随时随地进行学习的需求,设计了一种基于android平台移动学习系统,该系统可以运行在基于Android系统的手机和平板电脑等终端上,能够进行学生课程学习,学生与教师进行在线交流等教学活动。系统采用J2ME技术进行开发,能够跨平台运行,客户端用户登录使用OAUTH认证;用户可以通过RSS订阅学习课程,简便及时;系统的XML数据采用SAX解析,使得读取和操作XML数据的更快速。系统使用流量小,经济投入少。

关键词: Android平台; 移动学习系统; OAUTH认证; RSS订阅; SAX解析

中图分类号:TP311 文献标志码:A 文章编号:1006-8228(2014)04-24-03

Abstract: In the mobile Internet era, in order to learn whenever and wherever possible, a mobile learning system based on Android platform is designed. The system can operate on phones and tablet PCs based on Android. Students can learn and communicate online with teachers. J2ME technology is utilized to develop this system, which can run across platforms. The client user can login by OAUTH authentication and learn the course through the RSS subscription convenient and timely. XML data is analyzed by SAX, which makes reading and manipulating XML data be more quickly. The system requires smaller flow and less investment.

Key words: Android; mobile learning system; OAUTH certification; RSS curriculum subscription; SAX analysis

0 引言

移动终端和移动互联网近几年发展迅猛,基于Android移动终端价格低,WIFI无线网和移动网络资费便宜,这使移动互联网4G已经开始进入人们的生活,人们已经不满足于PC上的数字化学习(E-learning)了,逐渐迁移到使用手机等移动终端的移动学习(Mobile Learning)上。移动学习是一种借助移动终端不受时间、空间的限制发生的学习,可以为人们提供随时随地的学习体验[1],打破了传统教育在地域和时间上的限制,这是一种未来的不可缺少的学习模式,也对实现终身化学习理念有着极其重要的意义。

1 移动学习系统需求分析

1.1 功能需求

教师可以通过PC的浏览器对移动学习系统进行管理,例如添加通知、管理课程学习材料、师生进行在线交流等,学生可以使用手机客户端通过无线网络查看通知、进行课程的订阅、浏览文本/课件/教学视频等学习资料、与教师进行在线交流等。

1.2 经济需求

移动学习要能满足大多数人的需求,经济投入少。而采用基于Android平台进行开发经济实惠,Android平台的移动终端品牌多,市场占有率高,可选择余地大,价格便宜[2]。

1.3 技术需求

采用JAVA技术进行开发,并与Android平台结合,非常便捷,软件跨平台,方便移植。

2 移动学习系统开发的关键技术

2.1 J2ME技术

系统采用J2ME(Java 2 Micro Edition)开发,J2ME是把Java应用于移动通讯设备、嵌入式设备或消费性电器而推出的一项技术。由于技术开放、源代码开源,使得系统能够跨平台运行实现[3],基于Android平台移动学习系统采用J2ME技术开发比较合适,也能够方便地迁移到Windows Phone等其他平台,还可以迅速通过本地协议将存储在客户端信息调出来供用户浏览,在系统需要时才从互联网下载信息,节省流量,减少带宽的占用。

2.2 OAUTH技术

OAUTH是一种安全的、开放而又简易的用户资源的授权协议,各大互联网公司都提供了OAUTH认证服务,移动学习系统采用OAUTH认证,可以有权访问用户授权的资源,比较简捷,同时用户信息不会泄露,安全性高[4]。

2.3 Android后台Service技术

Service是运行在后台,不和用户交互应用的服务。Service自己不能运行,需要通过Activity或者其他Context对象来调用,在移动学习系统客户端使用Context.startService()方式启动Service[5]。后台服务运行的学生Android客户端能够快速启动,并且保证及时接收到推送信息。

2.4 RSS及SAX技术

RSS(Really Simple Syndication)是一种用于共享新闻和其他Web内容的数据交换规范,起源于网景通讯公司的推"Push"技术,通过RSS技术将客户订阅的内容传送给移动学习系统客户端。对于RSS中传递的XML使用SAX来解析,这是读取和操作XML数据的更快速、更轻量的方法[6]。

3 Android移动学习系统总体架构

图1是移动学习系统的总体架构,系统采用三层的C/S+B/S模式架构,学生使用Android客户端通过WIFI/3G/4G无线网络,采用OAUTH认证登录,进行RSS订阅、课程资源访问;教师使用PC中的WWW浏览器进行移动学习系统的管理。

移动学习系统采用三层结构开发,如表1所示,第一层为用户层,分为PC客户端和Android客户端,负责用户界面的设计;第二层为业务逻辑层,包括应用服务器,如采用Tomcat搭建Web服务器层;第三层为数据操作层负责数据的存取,服务器数据库采用MYSQL搭建,Android手机客户端采用轻量级的sqllte3,符合客户端存储数据量少的特点。

4 系统流程设计

整个移动学习系统设计了三种角色:Android客户端的学生用户、PC浏览器端的教师和系统管理员。系统的流程图如图2所示。Android客户端可以通过OAUTH技术授权认证。学生可以进行课程的通知订阅,在课程学习资料中浏览课程的课件和视频等学习资料,和教师进行在线的交流,对教师的课程练习题进行操练。教师通过PC浏览器端进行课程的管理,包括:课件、视频的、修改、删除,最新的课程通知,和学生进行在线的学习交流等等。管理员用户可以对系统进行配置、管理各功能模块、用户权限的设置等等。

5 系统功能模块设计

5.1 用户登录模块设计

学生Android客户端采用OAUTH认证登录,OAUTH认证服务作为一个开放的服务和服务标准,任何第三方软件都可以使用,任何系统都可以实现自身的OAUTH认证服务,移动学习系统使用OAUTH认证服务提供的JAVA语言开发包进行开发,从而大大节约了程序员的时间,开发也非常简易。包括Google,Yahoo,Microsoft在内的很多互联网大公司都提供OAUTH认证服务,移动学习系统采用新浪微博、腾讯QQ和人人网的认证服务,系统允许采用这些平台的账号直接登录,方便了用户的操作。移动学习系统向这些OAUTH认证服务提供商请求未授权的Request Token。向RequestTokenURL发起请求,然后获取用户授权的Request Token,最后用授权的Request Token换取Access Token,当系统拿到Access Token后,就可以有权访问用户授权的资源了。系统中新浪微博的OAUTH认证具体的流程如图3所示。

5.2 课程通知订阅模块

课程通知模块采用RSS内容聚合模式技术开发,使用RSS,服务器可以统一为学生Android客户端推送订阅信息,可以快速地了解课程最新信息,获取系统内容更新,具有较高的时效性。通过RSS订阅,服务器给客户端传送统一格式的XML文件,客户端使用SAX技术对XML文件进行解析,当SAX解析引擎在RSS源中完成了XML数据解析后,将创建一个RSSFeed类的实例,使它包含了需要处理RSS数据所需的所有内容。RSSFeed类包含三个重要元素,其中元素来定义课程的标题,元素定义打开课程内容的超链接(如视频),元素描述此课程的简单介绍,还包含用于数据处理的Set-ers和Get-ers。采用SAX解析课程信息的XML步骤如下:

⑴ 创建XML解析处理器;

⑵ 创建SAX解析器;

⑶ 将XML解析处理器分配给解析器;

⑷ 对文档进行解析,将每个事件发送给处理器。

最后,客户端可以获取服务器传递的相关课程信息摘要,学生用户通过简单的课程信息来决定是否通过地址请求来获取相关的课程资源,不必时常打开课程信息进行刷新,一旦有新的通知内容,就会及时地推送给客户端,为用户节省移动数据流量和时间。用户通过对课程订阅的设置,还可以对订阅信息进行筛选,只订阅自己感兴趣的信息源,并且,课程通知订阅模块提供下载功能,课程课件、视频等信息可以直接下载到Android客户端,方便学习。

5.3 课程学习模块

课程的学习资料通过服务器中的统一XML文件模板生成,发送到客户端,同样也由SAX来进行解析,解析后XML文件中课程标题、内容等通过列表控件进行布局显示,当学生用户通过列表的URL进行学习内容的选择,并进入详细的课程学习,由于考虑到学习终端的屏幕大小,采用相对的布局结构,定义了两个xml文件texttitle_layout.xml和textbody_layout.xml实现界面的标题和正文布局。

当打开某一门课程进行视频学习时,移动学习系统通过URL下载视频并缓存到系统中的方式,采用调用Android系统的VideoView和系统中已经安装的其他视频播放器来播放视频,支持的格式有mp4、3gp、mov和wmv等等,对于播放一次后的视频,已经下载到系统缓存内,下次播放就不需要再重新下载,节省流量。

6 系统运行与测试

系统开发完成后采用HTC公司的Android手机G11型号进行各项功能的测试,G11的硬件基本参数如表2所示。安装APK文件后,在移动3G的网络环境下进入移动学习系统,如图4所示,进行用户的登录,并且可以进行OAUTH授权,进入系统后,可以接收到RSS订阅,如图5所示,用户可选择感兴趣的课程进入学习。如图6所示为正进行课程教学的视频,视频播放流畅,各个模块都通过了运行和测试。

7 结束语

在当今高速发展的移动互联网时代,手机、平板电脑逐渐普及,移动学习系统可以借助WIFI和3G/4G移动网络使人们随时随地都能进行学习活动。本系统基于Android运行,使用范围广,可选择的终端多。在技术上采用流行的J2ME开发,使得系统可以跨平台运行。结合OAUTH认证技术、RSS技术和SAX技术,完成了本学习系统的各项功能,保证用户能够流畅地进行课程学习和在线交流,并且能够基于移动终端和移动互联网的特点,在UI设计、流量控制中保证了良好的用户体验。

参考文献:

[1] 赵垂兵.基于Android平台的移动学习系统设计与实现[D]. 北京邮电大学,2012.

[2] 熊水柔.基于Android系统的移动学习平台的设计与实现[D].北京邮电大学,2012.

[3] 郭晶晶.基于J2ME的移动学习系统的研究与实现[D].武汉理工大学,2012.

[4] 周辉.基于Android移动学习平台研究与实现[D].电子科技大学,2012.

[5] 郭宏志.Android应用开发详解[M].电子工业出版社,2010.

[6] 李小康.基于Android的手持终端学习系统[D].西安电子科技大学,2012.