APP下载

基于Android的移动学习平台开发与实现

2015-08-02吴元君

滁州学院学报 2015年2期
关键词:客户端架构用户

吴元君

伴随着嵌入式技术和开源手机操作系统Android的发展和推广,3G、4G制式智能手机的应用普及,目前主流的网络继续教育平台及基于SMS(Short Messaging Service)手机短消息服务的移动应用平台,都不能满足当代人群快速且无间碎片化阅读节奏。于是,一种基于智能操作系统的新型移动学习平台,成为了移动学习研究的热点。

信息技术的变革正逐渐改变学生的学习方式,高校学生是接收新知识新技术最活跃的群体,几乎“人手一机”,于是学生的移动学习平台的终端条件初步具备。为了更好的辅助课堂教学,提高学生学习的积极性,将学习与生活融合为一体,使学生更好地获得知识,开发一套移动学习系统势在必行。目前Android版智能手机在大学生人群中基数较大且价格合理,因此Android技术是研发移动学习平台的首选。

本文通过对单机模式、胖客户端(C/S模式)和瘦客户端 (B/S模式)三种软件架构方式的对比研究,实现了一个基于Android技术的移动学习平台,并根据各功能模块的不同特性混合应用B/S或 C/S结构方式[1]。

1 android与移动学习

1.1 Android技术的优势

Android系统能快速发展和扩张并迅速占领移动设备市场,多源于以下特色和优势:

(1)开放性

Android平台天然具有开源和免费的优势,三星、HTC、华为等国内外众多移动设备厂商加入到Android移动联盟中,且联盟的追随者不断扩大。Android的免费和开放性帮助厂商可以最大限度降低生产成本同时又能融入企业文化对系统各自优化,用“私人定制机”来满足不同的消费群体。

(2)私人定制机

在手机的2G时代,手机的网络制式、定制软件及个性功能拓展均由国内三大运营商(中国移动、中国联通、中国电信)控制,用户基本没有话语权和参与权。但在智能操作系统时代,用户可以随意访问和安装第三方软件,手机厂商和软件开发者也乐于摆脱运营商的束缚,开发出用户喜闻乐见的APP。

(3)开发端百花齐放

Android是一个开放广阔的生态空间,基于Android的应用软件开发无需Google公司的审核,无数快速且稳定的app开发促进了Android帝国的扩张。

(4)来自Google的天然支持

作为互联网界的巨人,Google公司人性化的开发产品和服务深得移动互联网设备使用者的欢心。目前,Google的产品早已由搜索多层次渗透其产品用户,不断增加用户粘性,自动化住宅、谷歌眼镜、谷歌医药、Android游戏主机等优秀应用均出身于谷歌的神秘部门Google X。

1.2 移动学习势在必行

中国作为全球最大的移动互联网市场,截至2014年6月底,中国网民中30岁以下各年龄段人群占比59%,且高中和大学及以上学历人群中互联网普及率已达到较高水平。同时,至2014年底全国手机联网人群数字达5.14亿,同比增长约6379万人,而手机上网比例也由78.5%增加到81.5%[2]。随着国内三大运营商3G、4G 通信技术不断成熟,智能终端设备价格降低和数据通信套餐不断人性化,大力发展移动教育,开展移动学习,设计开发优秀的移动学习平台已势在必行。

移动学习概念的爆发在于其“如影随形”的学习方式和较高的用户体验。首先手机、平板电脑等智能设备作为现代通讯工具已广泛普及,并成功地将多数用户的阅读方式由书本引领到了电子屏幕上;其次,移动学习借助无线互联技术,包括移动网络、wifi无线网络等,已基本解决了用户随时随地联网的通信需求。另外,智能移动终端的移动通信、人机交互、GPS定位服务、摄影摄像等功能,可以方便开展互动学习、协作学习,甚至现实增强技术的应用。

对于普通高校学生,尤其是低收入家庭子女如农民工子女,性价比极高的Android智能手机因其价格低廉、移动性好、集成度高、使用方便等优势已逐渐取代传统PC快速占领学生市场,学生们也乐于接受通过移动学习这种“碎片化学习”的方式完成对新知识的传递和吸取[3]。

2 移动应用架构模式设计

移动终端的应用模式开发主要有三种架构,分别是单机模式、胖客户端软件设计架构方式(C/S模式)和瘦客户端架构方式(B/S模式)。对于智能移动学习平台的终端来说,单机客户端模式必然放弃;当今多数软件系统都是C/S两层架构模式,其优点是客户机响应迅速,运行负荷小,缺点是运行环境不够开放且维护成本较高;B/S三层网络架构模式优化和统一了客户端,核心功能集成在服务器端,客户机通过浏览器与服务器端数据库实现交互,但在用户体验方面,B/S模式的软件还不够优秀。

在该移动应用系统架构的设计实现过程中,兼顾到移动应用系统本身,我们需要在不同模块部分按功能性差异做分别的优化处理。随着移动分布式概念的普及,对应用平台的扩展性、开放性、标准化要求越来越强烈,这也是目前主流网络应用平台的发展方向,如新浪微博、淘宝、大众点评网、手机QQ、谷歌地图等[4]。本文所研究的移动学习平台,将以分模块融合B/S或C/S结构的理念开发设计。

3 移动学习平台的总体设计

本系统遵循了高校学生对移动设备的使用习惯并围绕学习的网络化和智能化设计思路展开,这里以安徽财贸职业学院为系统开发、测试平台,通过对该学院教务处教学管理人员、一线教师、在校学生等范本的调研,并结合多位一线教师教学实践经验,依据软件工程思想,采用面向对象的系统需求分析,设计开发了基于移动Android技术帮助高校学生碎片化学习的移动学习平台。

3.1 总体设计理念

本系统在Web 2.0模式下,以其强大的去中心化、开放的平台、用户分享、信息聚合、强调用户交互为特征,辅以B/S架构模式的便利性,以及高速信息网络时代智能手机的高效性,全面对接智能机时代各种流行应用,如微博、播客、GPS服务等,增强用户粘性[5]。

在移动学习平台的总体设计中,将整个移动学习平台分为三大模块,第一是移动终端和终端设备接入移动网络方式的选择;第二是移动学习客户端与移动学习资源对接;第三是移动学习内容选取和移动平台系统支持环境设计。三大模块互相关联相辅相成构造了平台的整体结构,如图1所示。

图1 平台整体架构图

3.2 平台技术框架

在本系统中,资源中心、在线考试系统与互动交流平台三个功能模块尤为重要,实现方法如图2所示。互动交流平台的实现理念是通过在终端构建微博平台来完成,基于微博的互动交流平台采用了C/S两层架构,用户的在线交互通过目前主流微博WEB版即可完成;

图2 三大模块的技术实现框架

在线考试系统(B/S结构)是基于Browser的,以Web Server同数据库进行数据交互,同时以AJAX技术为核心,最大程度降低了服务器端的负荷,并增加了交互性,支持局部实时刷新[6],该模式下系统升级和维护相对容易且成本较低,实现了理想的“瘦”客户机,“胖”服务器;而资源中心功能模块主要采用了单机客户端的方式实现,使用本地文件系统,可独立运行,功能是实现用户能够通过知识点访问数据库资源。

4 移动学习平台关键功能实现

4.1 在线考试系统关键功能设计

在移动学习平台的在线考试系统模块设计中,AJAX核心XmlHttpRequest可以快速创建更好交互性的动态网页,通过减少与服务器端的数据交换,实现 Web端的异步更新,从而帮助我们的应用端App更加小巧和友好。图3列出了试题显示与答题处理模块流程。

图3 试题显示与答题处理模块流程

其实传统网络平台的试题自动生成以及在线考试功能大都是基于AJAX的,相关研究资料很多,在此不再列举方法和代码。而基于移动平台设计的在线考试功能,自然是基于用户端Browser实现的。目前Android系统在智能移动设备端拥有最大的用户群体,对网络的支持功能也非常强大,先后在布局和Activity中声明和实例化Android内置 WebView组件后,通过调用LoadUrl()并配制组件完成后,就可以直接使用 WebView进行内容显示了[7]。

4.2 互动交流平台关键功能设计

微博是一种利用用户间单向或双向关注机制实现信息即时共享及广播的社交网络平台。利用现有的网络微博平台,我们可以通过编程开发微博App,移动平台用户(学生、老师、其他访客)在注册了相同的微博App用户端后通过关注即可相互交流和信息分享。

微博端基于用户关系分享,各用户通过关注机制实现信息即时的分享和广播。在用户界面设计中,利用LinearLayout线性布局控件,嵌入一个ListView控件。ListView在Android软件开发中是非常常见且重要的组件,它基本上会出现在所有Android软件中用于做出好看流畅的列表,并且按数据量自适应显示。之后在UI中利用RelativeLayout组件,以控件之间相对位置或相对父容器位置进行排列。同时,Android中的每个Activity都看成是一个页面,所有activity总要有一个xml的布局文件相对应,我们建立一个homeActivity.xml来实现布局。

ListView负责把系统数据或图片填入布局并处理用户的选择等,它是.net3.5中新出现的控件,完美取代了其他展示控件,并且和DATAPAGER配合使用可以做出漂亮的列表和分页。在使用ListView时经常还需要加入按钮等以实现单独操作,因为ListView的职责除了填入数据和处理操作还需要按钮获得用户焦点。

适配器本质是一个中介,用来把数据映射到ListView中。由于网络限制问题或者显示项目时同步在网络上获取的一些Icon等数据,不采取异步加载listview图片将很难做到流畅,所以这里我们需要利用多线程实现异步加载AsyncImage-Loader图片缓存,以异步读取实现较好的View显示用户体验[8]。

5 结束语

本文最终设计完成了一个基于Android技术的移动学习平台,但该平台的完善在架构和功能上仍需要较大的改进,比如在线考试功能在较低版本的Android用户端运行时,可能会出现AjAX多浏览器兼容性问题。

[1] 鲁学亮,陈金焘,孙秋瑞;刘臻.移动校园转型实践—基于Web App的移动应用客户端设计与实现[J].中国教育信息化,2012(11):10.

[2] 谢朝栋.旅游景区新媒体营销策略研究[D].南京:南京师范大学,2014.

[3] 傅健,杨雪.国内移动学习理论研究与实践十年瞰览[J].中国电化教育,2009(07):10.

[4] 梁国胜,李睿.移动学习在远程教育中的应用—以兰州大学网络教育学院为例[J].远程教育,2012,13(3):57-60.

[5] 李晓丽,王晓军.移动学习模式探讨及系统架构设计[J].北京邮电大学学报,2007,9(5):17-23.

[6] 任海峰,赵君.移动学习国内外研究现状分析[J].成人教育,2010,276(1):59-60.

[7] Martin LaMonica.AJAX gives software a fresh look[EB/OL]. http://news.com.com/Ajax/gives /softwareafreshlook/2100-1007_3-5886709.html.2005

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

猜你喜欢

客户端架构用户
基于FPGA的RNN硬件加速架构
功能架构在电子电气架构开发中的应用和实践
基于云服务的图书馆IT架构
如何看待传统媒体新闻客户端的“断舍离”?
县级台在突发事件报道中如何应用手机客户端
孵化垂直频道:新闻客户端新策略
大枢纽 云平台 客户端——中央人民广播电台的探索之路
WebGIS架构下的地理信息系统构建研究
关注用户
关注用户