英语原文共 8 页,剩余内容已隐藏,支付完成后下载完整资料
2019第三届教育技术与经济管理国际会议(ICETEM 2019)
基于Android的高职院校的英语移动学习系统设计
关键字:Android;高职院校;英语;移动学习;系统设计;技术框架;系统功能
摘要:移动学习是一种新型的学习模式,具有移动性,交互性,共享性和个性化学习的特点。本文根据软件工程的思想和最新的移动开发技术,为高职院校的英语移动学习系统的发展提供解决方案。该研究主要包括四个方面的内容:首先,设计了一个开源集成技术框架--Struts2 Spring Hibernate框架;其次,设计了一个由学习中心、资源中心、考试中心、沟通中心、通知论坛和系统管理等模块组成的功能框架;第三,设计了基于HttpClient的C/S(客户-服务器)通信流程,并指出设计类的方法;第四,设计了手机客户端的工作过程和基于SQLite的客户端数据存储方法。根据本文的研究结果,可以产生一个具有更好的用户体验和先进技术的移动学习系统。
- 引言
随着移动通信技术和计算机技术的不断集成,以及移动通信终端和无线网络的日益普及,移动学习已经在全世界的教育领域吸引了越来越多的关注,并已成为现代教育技术研究中的一个热点。作为远程教育发展的第三阶段,移动学习是继数字学习之后的另一种新的学习方式。 移动学习是一种接近学习本质的新模式,它真正实现了“任何人,任何地方,任何时间,学习任何内容”的学习理念,是构建终身教育体系、创建学习型社会的学习形式。
移动学习是一种具有流动性,交互性,共享性和个性化学习特点的新型学习模式,它体现了英语教学的实用性,知识性和趣味性相结合的原则,满足了学生对移动学习、个性化学习和终身学习的需求,并逐渐成为一种流行的学习方式[1]。 高职院校的英语教学主要针对普通高等教育,高等教育和成人高等教育中的非英语专业,课程的统一规划并具有强烈的现代感,注重学生的“听,说,读,写”和翻译能力的培养,对提高学生的综合能力具有积极作用。
Android是基于Linux的移动终端操作系统,使用集成的战略思想,免费并开放,它不仅可以促进技术创新,而且可以降低开发成本,成为全球最受欢迎的智能手机平台之一,并且在高校师生中得到了广泛的应用[2]。鉴于当前移动学习进展缓慢、移动学习资源相对匮乏、移动学习平台功能单一以及移动平台开发周期长的问题,本文根据充分的系统研究和需求分析,也根据软件工程构想和最新技术移动开发,为发展专业英语移动学习系统提供了解决方案,进一步促进了学生开展英语移动学习,提高了高职院校英语教学的质量,并帮助改革了高职院校英语教学。
- Android体系结构
本质上,Android将Java虚拟机Dalvik添加到标准Linux系统中,并在Dalvik虚拟机上构建Java应用程序框架,并且所有应用程序都基于Java应用程序框架。 Android分为四个层,从高层到低层分别是应用程序层,应用程序框架层,系统运行层和Linux内核层。Android体系结构如图1所示。
·Linux内核层。 Android在Linux内核服务的帮助下实现了硬件设备驱动程序。作为硬件和软件之间的抽象层,它隐藏具体的硬件细节,并为上层提供统一的服务。它在内存管理和进程之间的通信方面提高了安全性。核心库为Android提供了核心应用程序界面。
·系统运行时。系统运行层为系统的各个组件提供服务,包括系统类库和Android运行层。系统库是应用程序框架的支撑,也是应用程序框架层与Linux内核层之间的一个重要链接。 Android应用程序是用Java语言编写的,该程序在Android运行层中执行,并在核心库和Dalvik虚拟机的两个部分运行。
图1 Android的体系结构
·应用程序框架层。 Android是一个开放平台,该API几乎完全对开发人员开放。只要系统应用程序的功能可用,开发人员还可以通过使用应用框架层提供的APIS来实现这些功能。核心库提供Android核心应用程序界面---基于寄存器的Dalvik。
·应用程序层。应用程序是用Java语言编写的,每个应用程序都包含一个或多个活动,并且该活动必须在Activity类中作为子类。利用Java的跨平台特性,基于Android框架开发的应用程序可以无需编译而在具有Android系统的任何平台上运行,这是Android的本质。
- 技术框架设计
技术框架是辅助软件开发的基本框架,开发人员在技术框架上完成具体的业务逻辑处理功能,确定系统的组织方式,并指出组件之间的相互依存和沟通机制。SSH2(Struts2 Spring Hibernate)是一个受欢迎的Web应用程序开源集成框架,用于构建灵活且易于扩展的多层Web应用程序。SSH2是典型的J2EE多层结构,分为表示层,控制层,业务逻辑层和数据持久层。客户端不是直接与数据库进行交互,而是通过组件建立与中间层的连接,然后通过中间层与数据库进行交互。 SSH2框架结构如图2所示。
图2 SSH2框架结构
对于图2所示的SSH2框架结构,其工作流程首先是使用面向对象的分析方法根据需求提出一些模型,将这些模型实现为基础的Java对象,然后编写基础的DAO接口,并给出DAO 层Hibernate的实现,使用由Hibernate体系结构实现的DAO类,实现Java类与数据库之间的转换和访问,最后由Spring完成业务逻辑。以下是对Struts2框架、Spring框架和Hibernate框架的简要描述:
·Struts2框架用于实现表示层和控制层[3]。Struts2以WebWork为核心,基于OGNL强大的数据访问功能,支持多视图,并且可以通过Servlet在浏览器和服务器之间架起一座桥梁,进行交互式浏览和数据生成。利用拦截器机制,所有用户请求都通过Action类被拦截,这使业务逻辑控制器与ServletAPI完全分离。
·Spring框架用于实现业务逻辑层。 Spring是一个轻量级的IoC和AOP框架,是连接Struts和Hibernate的桥梁。 Spring提供了一个统一的事务管理接口,该接口通过对对象生命周期和对象之间关系的IoC控制,将主要业务逻辑与次要业务逻辑分离,并通过面向切线编辑的思想减少了模块之间的耦合[ 4]。
·Hibernate框架用于实现数据持久层。持久层阻止了业务逻辑与数据持久化操作之间的分离。Hibernate有一个用于JDBC的轻量级软件包,是一个使用对象关系映射来实现数据持久性[5]的Java对象。最大的优点是可以像处理Java对象一样处理持久性数据,从而解决了面向对象的Java语言与关系数据库之间的矛盾。
- 系统功能设计
功能设计的常用方法是仿真。模块化是一个重要的设计思想,它将复杂的系统分解为更小,更简单,易于构建和修改的模块。模块具有相对独立性,可以分别设计和实现。所有模块一起构成一个统一的整体,实现系统的全部功能。功能框架是模拟的结果,它分解了系统的功能,是由功能依赖项组成的图形表示,并且图形中的每个矩形框都称为功能模块。功能分解过程是从大到小,从厚到薄,从上到下。从概念上讲,上层功能控制下层功能,越上层功能越总体,越下层功能越具体。功能分解的过程是从抽象到具体,从复杂到简单。根据情况可以将功能模块分解为更大或更小,较小的功能模块可以是程序中的一个过程,而较大的功能模块可以是一组程序来完成一项任务。参考相关文献[6-9],该系统的功能框架设计如图3所示。
对于图3所示的系统功能框架,它由6个大模块组成,每个模块包含5个子模块,每个主要模块的功能简要描述如下:
·学习中心,资源中心的功能将显示在学习中心中,学生可以学习相应的资源。微学习是为了学习一个确定的知识点;教材学习是为了有计划地研究教材的全部内容;学生还可以进行协作学习。
·资源中心,用于管理高职院校的所有英语学习资源。教学资源是可以用来有效执行物料,由教学活动提供的各种条件。针对系统管理员或教师的资源管理是提高教学质量和促进教育资源平衡的一个重要因素。
·考试中心,为学生提供多种考试功能。考试是考核学习效果的重要手段,学生可以根据老师设定的考试安排,由系统自动分组并设定相关参数,进行单元考试、课程考试和综合考试等各类考试。
·交流中心,为学生之间或老师与学生之间的信息交换提供各种渠道。为了提高英语学习的效果,该系统提供了各种信息的即时通信,例如,不同手机用户之间以及手机与个人计算机网络之间的文本,视频,音频,图片和文件。
·通知论坛,各种通知发布和向公众发表评论的地方。教师可以发布各种通知或发布各种学习任务,还可以获取学生的各种学习反馈并进行指导,学生可以分享学习经验,供其他学生学习。
·系统管理,旨在让管理员完成系统功能的管理和维护。这包括用户信息及授权管理、备份数据库中的数据、备份和删除日志以提高速度以及监视系统的运行状态或各种类型的用户的使用情况。
图3 系统功能框架图
- 客户端与服务端之间的通信
除了完成与用户的交互之外,Android客户端还扮演着另一个重要角色:提交数据,验证数据和分析显示的数据。服务器通过服务器的Servlet子类Http Servlet对象提交客户端页面接收的各种类型的数据。结束处理逻辑,以完成客户端和服务器之间的交互。 客户端与服务器之间的通信过程如图4所示[10,11]。
图4 客户端-服务器通信过程
根据图4中所示的客户端-服务器通信过程,在设计类时,需要考虑以下几点:
·Httpclient对象可以重用,因此可以将它们用作类的静态变量。
·Httppost httpget对象通常不可重用,因此在设置一些需要上载到服务器的资源时,可以创建一个初始化方法。
·当前,Android不再支持在UI线程中发起Http请求,因此需要一个子线程来发起Http请求来执行Execute方法。
·不同的请求对应于不同的返回结果,并且在如何处理返回结果方面需要一定程度的自由。
·最简单的方法,每次发送HTTP请求时,打开子线程以发送请求,在子线程中接收结果或引发异常并向UI线程发送消息,这需要视情况而定。最后,结果解析和UI更新是在UI线程处理程序的handle Message方法中完成的。
- 设计手机客户端
手机客户端的设计包括以下两个方面:
(1)设计客户端工作流程。MVC(模型-视图-控制器)是一种软件设计模型,可以将代码与业务逻辑、数据和显示接口分离方法组织在一起,将业务逻辑收集到一个部分中,并且在改进和个性化接口时无需重写业务逻辑和用户交互。首先,最终用户的“视图层”提供了一个用户界面。该界面由各种UI组件(XML布局或Java自定义控件对象)组成,这些UI组件仅负责在从控制器接收结果的同时显示数据。第二,核心“数据层”,即程序需要处理的数据或信息,通常是数据库SQLite、用于网络请求的JSON、本地XML或Java对象数据。它表示许多实体类,这些实体类在定义数据的业务规则时描述业务逻辑的组合。第三,“控制层”,根据用户从“视图层”输入指令,选择“数据层”中的数据,然后执行相应的操作以产生最终结果。控制器是关联处理响应请求的应用程序的动作的集合。它是通过界面来响应用户输入,通过模型层处理数据,最后将结果返回给界面。控制器充当模型和界面的粘合角色。 MVC模型的工作原理如图5所示。
图5 MVC模型的工作原理
对于图5所示的MVC模型,View接受用户的交互请求,将请求传输到Controller;Controller操作Model进行数据更新,更新数据后,Model通知视图数据进行更改;视图显示更新的数据。M层适用于某些业务逻辑处理,包括数据库访问操作,网络操作和复杂算法;V层显示数据部分,XML布局可视为V层,显示Model层的数据结果;C层适合与Activity配合使用,Android中的Activity用于处理用户交互问题、读取用户输入并响应用户单击事件。活动收到点击Input,控制器响应用户输入并启动Internet请求数据,响应结果通过模型层进行转换,最后控制器获取模型层数据并通知接口进行刷新。
(2)客户端数据存储。SQLite是一个轻量级的基于文件的嵌入式数据库,实现了一个自包含、0配置并支持事务的SQL数据库引擎。与其他数据库管理系统不同,SQLite易于安装和运行,并且在大多数情况下,可以通过确保SQLite二进制文件存在来开始创建、连接和使用数据库。作为最流行的开源嵌入式关系数据库,SQLite支持许多关系数据库的基本功能,包括标准SQL语法、事务、数据表和索引,并且在应用程序中具有不可替代的优势,例如,数据迁移和程序演示。 SQLite可以显著减少存储在关系数据库服务器中的数据量,最终提高系统的查询效率和运行效率,同时还可以显著减少数据备份的磁盘开销。由于SQLite在Android平台上的集成,因此可以使用SQLite实现数据的本地存储,SQLite可存储大量用户的浏览数
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[235455],资料为PDF文档或Word文档,PDF文档可免费转换为Word
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。