英语原文共 10 页,剩余内容已隐藏,支付完成后下载完整资料
开发适用于iOS的手机学习中的应用
Paul POCATILU
布加勒斯特大学经济研究经济信息部与控制论,Romania ppaul@ase.ro
移动市场的发展对包括教育在内的所有领域有很大影响。智能移动设备开始要实惠和教育过程中的大量使用似乎并不太远。移动学习应用有针对性地进行所有主要的移动操作系统的本地应用程序或基于Web的。本文的目的是提出评价模块的实现为iOS设备开发的移动学习应用。学习应用程序是针对高等教育机构。应用程序使用的Web服务,以获得内容和对用户进行认证。
关键词:移动学习,移动应用程序开发,iOS设备,模型视图控制器,Web服务,评估
- 介绍
移动学习代表了许多学者和从业者一个研究课题。在世界各地有几个项目正在进行或完成,旨在为不同的移动平台或为移动设备优化的基于Web应用程序的移动学习应用程序的开发。
移动学习应用可能包括模块:
内容呈现(教训); 内容包括文本,视频,音频,图形;它可以作为只显示文本或装载PDF或其它文件或非常复杂,使用的多媒体组件的简单;
短期评估(测验);这些都提供给学生,以测试他们的知识;每当他们想,他们是不受时间限制的用户可以利用这些测试;
最终评估(测试);这些试验是在一个特定日期和时间给予,它们具有有限的持续时间;
教练与学生沟通;涉及使用通过使用基于特定协议的专用部件的公知的组分(e-mail或社交网络)。
内容共享(电子邮件,社交网络,云计算等);这将允许用户共享的内容或结果与其他注册用户或者任何人(如果应用程序允许)。
家庭作业和任务;学生可以加载一个文件或按要求填写了一些数据字段。
每个开发人员选择,以包括在他们的应用程序的一个或多个模块。应用程序可被开发为独立的应用程序(全部内容存储在设备上),分布式应用程序(本地客户端和提供的学习内容的服务器)和基于网络的应用(客户机是一个简单的移动网络浏览器) 。它设计应用考虑到基于用户要求和行为几个质量特性是很重要的。
对于连接的移动学习应用客户端通过标准化协议(如HTTP)的专用协议的服务器或通信。另外,所连接的应用程序可以与服务器同步的移动设备。
在这个领域,是在一个研究项目的框架开发的移动学习应用几个原型。在这方面,有人开发了一个基于SOAP的Web服务,它为学生提供了“评估方法。最近的工作包括为Android设备的移动应用程序学习的实施。结果在中提出。
作为以前的项目,主要目的是保持用户接口尽可能简单和集中的基本功能。进一步的版本需要更多的焦点图形界面和用户交互(比如通过手势等)上。
使用Web服务具有的优点在于:
客户端应用程序可以是任何类型的(手机,台式机)。
客户端应用程序可以用几乎任何现有的语言或技术开发。
客户端应用程序可以定向在几乎任何现有的平台或操作系统。
Web服务包括对学生的考核方法。每个学生可以登录并选择一个测试为一个主题。该主题相关的移动应用程序的开发。图1描述了移动设备和网络服务之间的交互,突出一些的Web服务的方法。
Web服务可以很容易地扩展通过实施新的方法来支持其他功能。
本文介绍了适用于iOS设备的移动学习应用的实施过程中取得的主要成果,使用相同的Web服务。该应用程序实现了多项选择题。
本文结构如下:
本节标题为iOS应用程序开发提出了iOS操作系统的主要特点和iOS应用程序开发的特殊性。
Web服务访问处理与使用从iOS应用程序使用Web服务的主要框架。
移动学习中的应用部分提出针对iOS开发的移动学习应用。
本文结论以未来的工作结束。
- iOS应用开发
iOS是由苹果为他们的移动设备开发中的操作系统2007的核心操作系统类似于基于Unix的OS X上。操作系统支持采用ARM架构处理器。目前的iOS的是Android之后的第二个最流行的平台,在2013年第三季度的统计超过12%。
图2描述了iOS平台的主要层次:核心操作系统,核心服务,媒体和可可触摸。
核心操作系统包括内核(基于UNIX内核马赫),驱动器,库和系统实用程序。
核心服务层提供文件管理,线程,网络,内存管理和其他基本服务的支持。
媒体层包括印刷和图形(OpenGL的,QuickTime的等)的支持。
可可触摸是用可可API为Mac OS X的子集,它处理用户交互和GUI。可可触摸包括UIKit框架,基础架构和系统资源提供访问像通讯录,GPS,相机等其他框架。在顶部是用户和系统/预装的应用程序。
iOS原生应用开发涉及到使用的Xcode IDE和目标C作为主要编程语言。目标C是C编程语言,允许使用类和对象的扩展。
目标C类的@interface块中声明。消息(方法)的实施是@implementation部内。对于类向前声明@class关键字使用。
作为惯例,类声明将存储在头文件(.H)和源文件类实现(.M)。
实例变量在@interface部分声明,在花括号之间。
方法(也称为消息)的名称包括用冒号分隔的参数“标签。方法调用从C / C 或Java方法调用不同。例如,Test类声明的方法:
setRaspunsuriPentruIntrebare:cuVarianta
通过这种方式:
@interface Test : NSObject //... -(void) setRaspunsPentruIntrebare: (int)idIntrebare cuVarianta : (int)varianta;
@end
减号( - )中的方法的前面表明是一个实例方法。在一个方法前的加号( )被用于类方法(静态方法)。
该方法是用方括号就像这个例子叫:
[self.testCurent setRaspunsPentruIntrebare: idIntrebare cuVarianta: idVarianta];
方法不能重载和参数标签区分。
所有类类型的对象必须被动态分配。对象创建涉及使用两种方法:的alloc(用于存储器分配及默认实例构件初始化)和init(具体成员初始化,即使对于超类成员)。
为了访问数据成员,属性可以被添加到类。属性被宣布与@property关键字,以在内部生成getter和setter方法,@synthesize关键字执行块中使用的属性和相应的数据成员之间的关联。
可可类是从NSObject类的。
iOS应用程序是基于模型的视图 - 控制器设计模式,图3。
该模型是指数据和数据管理。这里是应用程序的业务逻辑。对于移动学习应用的代表类模型是测试类。它管理当前测试,知道目前的问题,并控制当前测试的问题之间的导航。
视图与用户界面和用户交互涉及。移动学习应用包括三个观点:一种与所有可用的测试(TestViewController类)一种为当前问题和可能的答案(IntrebareViewController类)和最后一个显示器的用户的响应(RaspunsuriViewController类)的列表。
控制器保证了视图和模型之间的联系。它处理用户的操作的接口上,改变模型的状态,并显示所请求的意见。通常为每个视图有一个控制器。移动学习应用的控制器:
处理用户的选择(测试及答案);
填充列表和用户控制数据(问题,测试的回答等);
示出了当由用户的行为或通过其它正常或特殊情况(如显示错误消息)所需的其它视图。
用户界面是用故事板和Interface Builder实现。故事板是场景(视图)的集合。该场景被塞格斯连接。图4描述了在Xcode专为移动学习应用场景。
为了测试和实际设备上的iOS应用程序开发人员必须注册苹果的iOS开发者计划。定期注册需要的年费。
移动学习应用程序是使用Xcode5与OS X Mavericks 的iOS7 SDK开发的。
该应用程序是使用了iOS模拟器为iPhone的Retina(4英寸)的测试。当前版本不使用传感器或照相机的和,对于该阶段,模拟器是足够的。
- Web服务访问
Web服务可以用SOAP和WSDL协议或使用REST架构风格来实现。 REST服务需要使用的URL,如果使用HTTP,HTTP命令(GET,POST,DELETE等)。
对于当前的应用中,Web服务是基于SOAP和WSDL和它使用.NET技术实现的。 Web服务包括用于获得测试次数,用于获得用于测试的问题的数量和用于获得根据它的编号的特定问题和测试号等等Web服务设置有登录的可能性为其用户的方法。
对于iOS有几种方法来使用Web服务:
第三方,开源实现对消费像RESTKit和意大利面条或先进的网络框架,如AFNetworking Web服务;
开发自己的实现使用标准的网络类,如的NSURLRequest和NSURLConnection的库,类或Web服务的通信方式;
第三方工具来使用代理代Web服务的URL,基于WSDL,像wsdl2objc和SudzC。
所提出的解决方案使用基于SOAP的Web服务,并为当前实现使用了wsdl2objc。基于Web服务地址,使用WSDL,该工具生成访问Web服务所需的所有客户端文件。 Web服务的名称是服务1,工具会生成多个文件:
所需的网络访问和结果处理一些文件
关联到Web服务两个文件:一个头文件(Service1.h)和一个实现文件(Service1.m)。
表1列出了从Web服务和他们的作用wsdl2objc工具生成一些类。
Class |
Role |
Service1SoapBinding |
定义为绑定Web服务 |
Service1SoapBindingResponse |
管理响应 |
Service1_GetNumarTeste |
启动相应的Web服务的方法 GetNumarTeste |
Service1_GetNumarTesteResponse |
关联到GetNumarTeste方法的结果 |
如可以看到的那样,为Web服务的每个方法产生两个类:一个用于方法调用和一个用于方法的结果。
类用于初始化的连接,调用Web服务的方法,并且获得的结果。
列表1表示用于调用Web服务的方法的功能。该功能是在一类级(静态)实现,并且调用由Web服务所提供的方法GetNumarTeste,获得的评估平台上可用的测试的次数。
(int) getNumarTeste :(int)idUser
{
Service1SoapBinding* binding = [Service1 Service1SoapBinding];
Service1SoapBindingResponse* response;
//request initialization
Service1_GetNumarTeste* request = [[Service1_GetNumarTeste alloc]init];
//pass the parameter
request.idUser = [NSNumber numberWithInt:-1];
response = [binding GetNumarTesteUsingParameters:request];
NSArray *responseBodyParts = response.bodyParts;
id raspuns;
@try {
raspuns = [responseBodyParts objectAtIndex:0];
}
@catch (NSException* exception)
{
NSLog(@'getNumarTeste Exce
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[29060],资料为PDF文档或Word文档,PDF文档可免费转换为Word
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。