《电子技术应用》
您所在的位置:首页 > 嵌入式技术 > 设计应用 > 微型课件在iOS移动学习平台上的设计与实现
微型课件在iOS移动学习平台上的设计与实现
郑世珏,陶立秋,鲁 岳,杨 坤,陈相如
华中师范大学 计算机学院,湖北 武汉 430079
摘要: 为了满足学习者随时随地学习的要求,设计了基于iOS移动学习平台的微型课件。该设计以微型学习理论为基础,以Xcode为开发平台,object-c为开发语言,采用C/S架构和MySQL数据库,实现了客户端、服务器、数据库之间的通信调用,同时完成了在手机端对微型课件的展示。主要实现的微型课件模式分为:文本﹑图片和视频。经测试,文本﹑图片和视频的响应时间均达到了设计要求,实现了在iOS平台上学习的目的。
Abstract:
Key words :

  摘  要: 为了满足学习者随时随地学习的要求,设计了基于iOS移动学习平台的微型课件。该设计以微型学习理论为基础,以Xcode为开发平台,object-c为开发语言,采用C/S架构和MySQL数据库,实现了客户端、服务器、数据库之间的通信调用,同时完成了在手机端对微型课件的展示。主要实现的微型课件模式分为:文本﹑图片和视频。经测试,文本﹑图片和视频的响应时间均达到了设计要求,实现了在iOS平台上学习的目的。

  关键词iOS操作系统;微型课件;移动学习

0 引言

  一种全新的学习方式——移动学习(Mobile Learning),作为一种潜在的新型学习方式,可以满足学习者在任何时间、任何地点获得任何知识的学习愿望。移动学习需要以微型的媒体来呈现微型的内容,它是指在终身学习的思想指导下,利用现代通信终端,如手机、PDA等设备进行远程学习。

  随着智能手机用户总数的大幅提升,手机已成为人们学习的一种工具。iOS作为一款成功的手机系统[1],具有极为人性化的页面和极为强大性能,因此深受用户的喜爱。由于iOS采用封闭源码,因此开发过程较开源系统更为复杂。在这样的背景下,本文提出的微型课件在iOS平台上的设计与实现,采用Xcode开发平台和object-c开发语言,目的在于满足学习者在iOS平台上移动学习的需要,同时通过C/S模式,解决手机、PDA等设备无法满足传统较大容量课件的存储需求的问题。

1 iOS技术平台介绍

  1.1 平台架构

  iOS是苹果公司iPhone、iPod Touch和iPad设备的核心操作系统。与Mac OS X操作系统一样,iOS也是以Darwin2为基础,属于类Unix的商业操作系统。

  iOS系统结构分为4层,如图1所示。

001.jpg

  (1)Cocoa Touch层:是Objective-C的API,其中最核心的部分是UIKit.Framework。除UIKit之外,Cocoa Touch包含创建iOS应用程序所需的所有框架。

  (2)Media层:提供了图片、音乐、影片等多媒体功能。图像分为2D图像和3D图像,前者由Quartz2D支持,后者由OpenglES支持。

  (3)Core Services层:为所有的应用程序提供基础系统服务,它包含了Foundation.Framework和Core Foundation.Framework,它在Core OS层基础上提供了更为丰富的功能,如:处理字串、排列、组合、日历等。

  (4)Core OS层:是在FreeBSD4和Mach5基础上所改写的Darwin,是开源、符合POSIX标准的一个Unix核心。

  1.2 基本的iOS开发工具

  目前常用的iOS开发工具和开发包有:Xcode、iOS模拟器、页面创建器(Interface Builder)、微技(Widget)等。本设计采用的开发工具为Xcode,开发包为Interface Builder和Widget。

  (1)Xcode

  Xcode是苹果公司向开发人员提供的集成开发环境(非开源),用于开发Mac OS X和iOS的应用程序,运行于苹果公司的Mac操作系统下。Xcode贯穿整个开发应用过程,同时,Xcode为整个过程提供所需的各种工具。

  (2)Interface Builder

  Interface Builder以所见即所得方式组装用户界面。通过Interface Builder可以组装出应用程序的用户界面。当用户界面达到要求后,将其保存为.nib格式。

  (3)Widget

  在互联网领域,Widget是一种基于Web技术的小应用,采用HTML/XHTML、CSS、JavaScript等传统的开发技术[2]。将Widget技术搬到手机上,从而诞生了移动Widget(Mobile Widget)。移动Widget的主要特点有:一次开发、跨平台运行;在有限的手机屏幕范围内,用户可以对界面进行个性化定制。

2 微型课件的设计方法

  微型课件的开发主要基于微型学习理论。其设计与实现主要基于iOS平台,同时采用了C/S架构模式。

  2.1 客户端和服务器端架构

  客户端用于接收用户请求和显示返回结果。学习者通过iOS客户端访问移动学习资源的入口,调用封装好的应用程序接口来使用客户端的各项功能。客户端主要包括界面呈现、多媒体处理和数据通信等模块。

  本平台的服务器端采用的是开源TOMCAT。TOMCAT处理客户端的各种Http请求,并把请求的信息发送给Servlet,Servlet根据请求信息进行处理,并通过数据库驱动JDBC,访问MySQL数据库。Servlet把访问数据库得到的数据和最后处理好的结果封装到相应对象中,发送给TOMCAT,TOMCAT把得到的结果回传给客户端。整个架构如图2所示。

002.jpg

  2.2 学习资源数据库的设计

  MySQL是完全网络化的跨平台关系型数据库系统,具有功能强、使用简便、管理方便、运行速度快、安全可靠性强等优点[3],因此本平台采用了该数据库系统。

  本着冗余小和扩展性强的原则,设计了如下几张表:tb_book、tb_chapter、tb_mchip、tb_problem和tb_video。

  本数据库在充分考虑参照完整性的前提下,通过各表之间的关系将多个表结合在一起。根据各个关系之间的联系,设计出的该数据库系统实现了数据冗余小且易于功能的扩展。

  2.3 微型课件的展示

  温伯格把微内容定义为“小组快、松散连接、一直处于动态重组中的信息单元”[4]。基于这些特征的限定,微型课件的内容可以是小文本、图片图像、视频小片段或小动画等。本文对微型课件内容的开发以小文本、小图片、微视频为主。

  2.3.1 文本模式

  移动学习是一种非稳定的学习方式,随时可能因外界的环境变换,使学习处于一种分散、只能接受小容量知识的状态。而文本的展示优点在于简洁、说明性强,所以本文以文本的方式将学习的知识点微型模块化,一个模块对应一个章节的微型知识点,以此将《多媒体技术与应用教程》的知识点挖掘出来,分解成很多微小的适合于零碎时间学习的知识点。展示图如图3所示。

003.jpg

  文本模块的部分代码如下:

  -(UITableViewCell*)tableView:(UITableView*)tableViewcellForRowAtIndexPath:(NSIndexPath*)indexPath

  {static NSString*simpleTableIdentifier=@"CcnuTabCell";

  UITableViewCell*cell=[tableView dequeueReusableCellWithIdentifier:simpleTableIdentifier];

  if(cell==nil)

  {cell=[[UITableViewCell alloc]initWithStyle:

  UITableViewCellStyleDefaultreuseIdentifier:

  simpleTableIdentifier];}

  }

  2.3.2 图片模式

  图片模式下展示知识点,具有具体、直观、形象、生动的特点,而且可以实现连贯性。因此针对《多媒体技术与应用教程》中软件工具的使用操作,以微型为主题,采用范围确定、内容连贯的学习组织方式,设计并实现了图片学习模式。以清晰易懂为特点,图片模式的学习将更受欢迎。展示图如图4所示。

004.jpg

  图片模块的部分代码如下:

  serverDic=[[NSJSONSerialization JSONObjectWithData:response options:NSJSONReadingMutableLeaves error:&error]retain];

  if(!error)

  {bookName=[[NSArray arrayWithObjects:[[serverDic objectAtIndex:0]objectForKey:@"bookName"],

  [[serverDic objectAtIndex:1]objectForKey:@"bookName"],nil]retain];

  }

  2.3.3 视频模式

  将普通长视频分割成若干个微视频,每个微视频中以突出一至两个中心知识点的形式,不仅缓解了学习者视觉与听觉疲劳,同时也提高了学习效率。图5(a)所示为以微知识点为主的教师课堂授课视频在智能手机中的效果。

005.jpg

  播放界面(见图5(b))下方有一个提问栏,学习者可以随时提问,服务器根据数据库中的数据匹配来给予答复,如果问题库中没有相应的答案,服务器会记录下该问题并提交给教师,教师解答问题并更新数据库。这样逐步建立起一个针对本书的答疑库。

  视频模块的部分代码如下:

  [path appendString:videoPath];

  NSURL*url=[NSURL URLWithString:path];

  mpcontroller=[[MPMoviePlayerController alloc] initWithContentURL:url];

  [self.view addSubview:mpcontroller.view];

  mpcontroller.view.frame=CGRectMake(0,0,320,200);

  [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(callbackFunction:);

3 平台测试

  运行结果测试如表1所示。

006.jpg

  系统正确实现了各个模块之间的通信功能和通过数据库管理基础数据的功能,同时实现了数据内容的多样化和中英文界面。

4 结论

  本文在iOS平台上完成了通过智能手机对微型课件的展示,实现了客户端、服务器、数据库之间的通信调用。但是,整个系统仍然存在一些不足:可靠性控制不够严密,很多控制是通过页面控制实现的,如果页面控制失效,一旦向数据库插入数据,将引发错误,这是需要进一步改进的地方。

  iOS开发在国内已经开始流行,其越来越广泛的应用势必使iOS开发成为热点。在今后的学习和研究中,将进一步完成和优化本设计。

参考文献

  [1] KWAK D H, RAMAMURTHY K. iOS resources,electronic cooperation and performance: a conceptual model[C]. The 44th Hawaii International Conference on System Science,Hawaii, 2011:1-10.

  [2] 潘标.移动Widget引擎在iOS平台上的研究与实现[D].成都:电子科技大学,2012.

  [3] 李会贤.基于MYSQL/LINUX的LAMOST数据库设计与实现[J].天文研究与技术,2006,3(1).56-63.

  [4]  张浩.微内容环境中的学习者体验设计初探[J].远程教育杂志,2009(6):67-70.


此内容为AET网站原创,未经授权禁止转载。