基于IOS的微课程平台设计与实现
2021-06-18王玉琴
王玉琴
(乌兰察布医学高等专科学校 内蒙古 乌兰察布 012000)
1 引言
近些年来,智能手机的普及促进了移动学习的研究与应用。不同的资源站点可以在移动设备上安装所有的微课应用程序。有些学校比较落后,有些大学和小学拥有自己的资源网站,然而,学校资源应用程序默认不使用移动平台。针对学生在移动终端上随时随地上网的学习需求,设计开发了基于iOS平台的学习应用软件。学生可在任何时间浏览学校现有的微课资源,观看有关的微课视频。
2 系统平台的技术分析
整体而言,它包含三个层:数据层、应用层和表示层,表示层将HTTP查询发送到应用层,以显示JSON数据作为应用层的应答;应用层主要是响应表示层的HTTP请求,处理业务逻辑,以及数据层的返回格式,然后在表示层处理。
2.1 IOS系统
从2007年起,苹果IOS的操作系统就不断改进。苹果手机也是随着IOS的发展而发展起来的,在苹果手机中的应用越来越广泛。与其它应用相比,IOS系统更安全,Apple独特的设备和软件使系统运行更平稳。与此同时,AppleSystem的界面也很漂亮,给用户带来了很好的体验。它是移动设备上最受手机用户欢迎的操作系统。
2.2 PHP+MySQL
PHP是在不同服务器上广泛使用的脚本语言。相对于其他技术,PHP是一个开放源码的免费技术。支持开放数据库连接的PHP,可以与MySQL、DB2和其他标准的数据库交互式地使用,而且也支持数据到PHP的转换。它们被广泛用于应用界面开发,通常是PHP、MySQL的后台开发。它是一个小型的、快速的数据库系统。本系统支持标准的SQL查询语言,可广泛应用于中小型网站同步,并支持开发高级语言,如Java、C++和PHP。所以这个应用选择了PHP+MySQL作为一个测试服务器来管理后台数据和开发界面。
2.3 JSON数据解析
作为Java脚本的一个子组,JSON是一个小型的数据交换格式,它的数据格式独立于开发语言,在多个语言间交换数据。这种数据交换格式广泛应用于Android和IOS应用程序开发。JSON中主要有两种数据结构。首先,数据结构由不同语言实现的密钥对组成。其次,可以使用nsarray、vector、 Data和sequence实现此数据结构,因为JSON数据属性可以被转换成不同语言的数据类型,所以JSON数据可以被转换成相应语言的数据格式。
3 需求分析与系统功能设计
3.1 需求分析
微课以简短、完整的课堂活动为主,围绕课堂视频和相关资源的有机结构展开演讲、习题练习、难题、实验作业等。根据这一概念,可以得出结论:“微型课堂”是一种短小而完整的教育活动。内容既有视频,也有练习等。
主体以这些属性为基础。第一,微型视频只需几分钟,视频文件很小,可以通过网络在移动设备上传输播放。该 APP不仅能播放微课程视频,还能离线上传和下载相关微课程学习资源。除针对微课特点设计相关功能外,APP还结合了学生的学习特点,从简单与有趣入手。接口及功能设计非常简单。这款应用主要涉及账户管理、视频学习、在线咨询和课后练习。登记和登录也是基于方便和实用的原则。用户只需用手机号注册和登录即可,也可以通过iPhone的指纹识别技术在APP上注册指纹。在网上推荐使用QQ登录,上课结束后的练习,使用游戏答题法。
通过上述分析,本项目主要实现了以下功能。(1)完成用户注册和帐户管理。(2)用学生身份证注册功能将学生手机号码绑定为万能钥匙。(3)用学生卡或者指纹密码登录。(4)联机下载视频学习功能,也可在本地播放。(5)课余训练功能是一种考试游戏,课后训练成绩可为教师评价学生总体表现提供参考。(6)网上咨询可通过第三方腾讯QQ接口实现在线沟通。
3.2 系统功能设计
通过对项目需求的分析,我们精心设计了一个基于 IOS平台的小型课程视频学习系统。图1展示了系统架构。
图1 系统结构图
本系统主要包括登录、注册、网站、视频分类、视频练习、个人中心等模块。登陆登记模块为师生设置了两个登陆界面。包括用户登陆、密码修改、密码查询。首页模块包括启动应用程序,载入和显示视频列表。其中包括视频的分类、播放、下载、收集、分享、评论等功能。采用左侧导航设计,页面分类清晰,使用方便,能够很容易地找到并查看各种任务。录像练习模块包括观看录像和练习。使用者可通过练习,学习如何掌握知识,熟悉课程进程和学习计划。个人中心模块包含了个人信息、收藏、历史记录、安全升级、系统设置和反馈等。主要用来记录观看视频、运动、账户信息以及最后使用时间。这一部分的主要内容是用清晰而简洁的列表样式和列表设计显示模块,使用户能够一目了然。
4 系统架构设计及模块的划分
4.1 整体架构
作为应用程序的核心,MVC框架(Model-View-Controller)用于整个应用程序客户端,它将业务逻辑、数据和接口分离开来。要改进界面和用户交互,无需重新检查业务逻辑和数据模型,这些都由应用程序的输入、处理和输出表示。这个方法用来处理应用程序需要的数据,该视图代表一个应用程序的单个数据格式,也就是应用程序的数据显示。通过uilabel、uitext、uibutton、uicollectionview和其他IOS提供的控件,可以为需要的应用程序数据实现页面布局。通常考虑美观,功能和效率等因素。代表了用户交互和应用程序逻辑的通用控制。
通常使用的控制器有uivi-EW控制器、非发送控制器、输出控制器和uiviewcontroller,这些都是用来控制功能模块或与用户交互的。这个应用程序使用了Uinavgate控制器和输出控制器,包括四个主要模块:首页、分类、练习、登录、注册模块。uitarbarcontroller和nondepartmentcontroller负责控制和管理这两个部分,对各个功能模块进行控制和跳转,见图2。
图2 整体架构
4.2 模块划分
这个应用程序的主页主要用来查看用户可以浏览的课程,包括我的课程、最新的课程、推荐的课程等,这些内容会随着背景数据的改变而改变,但是首页会被修正。IOS提供了重用机制,以避免应用程序重复地为不同数据创建可见的对象。分析格式属性,并通过以上分析,充分利用uicollectionview的复用功能来显示所使用的视频资源。分类器是用来分类和显示系统中的所有视频资源的。在IOS环境下,通过可配置的视图可以实现该模块,并且表视图是一个典型的多路控制。这个视频列表是由一个独立的单元组成,通过这个界面分配的数据可以在同一时间显示不同的视频信息,包括最近的数据加载或者重新加载数据。左栏中使用了自定义视图,可以通过选择不同的标签来识别不同类型的自然视频资源。
录像回放是最重要的应用功能。这一页用 avfoundation框架中的avplayer类定义了一个玩家。评论区也同时设在该界面上,使用者可以相互评论教学,询问问题。
将我的缓存添加到下载中,方便以后查看,还可以添加到我的收藏中。
5 数据采集
在IOS应用开发中,数据请求是非常重要的。无数据的应用程序只有一个shell。MySQL数据库存储应用程序数据。要访问数据,使用PHP技术你可以查询数据库,把它转换成JSON数据格式。JSON数据格式提供了所有数据接口,可以通过网络进行下载或查询。需要时,数据库中使用的图像、问题、答案和其他信息将被转换成JSON文件格式。此格式的数据采用键对表示[1]。通过网络,应用程序的接口数据可以接收JSON数据内容用于实现接口表示。单独的内容和独立的界面布局用于阅读某些界面内容,以确保目录和服务器页面数据与客户站点数据的一致性,同时接受相对独立的数据,这对于数据和接口的传输具有实际意义。
服务器中存储的数据,客户机必须向服务器发送 HTTP请求以供使用。对应用程序而言,数据采集的类型和次序会影响数据采集的速度,而整个应用程序的数据包括文本数据、图像数据和视频数据。采用异步邮政数据请求模式以满足需求[2]。多任务处理是在异步需求过程中伴随的,例如数据需求和采集数据的显示。这个问题必须用线程来解决。每一个线程每次只能处理一个任务。当多任务同时执行时,必须使用多线程。要求提供资料是一种耗费时间的活动。包括伺服器的反应速度、网路延迟及其他问题,在资料要求完成前,必须在使用者介面显示。这是一种非常糟糕的体验,如果用户在此期间没有得到任何回应。当用户交互操作放在主线程时,数据请求操作放在线程上,以确保应用程序及时响应用户的操作[3]。将多线程技术GCD用于GCD的多任务处理是Apple针对多核计算的一种解决方案,它基于C语言自动增加GCD处理器的数量。该工具负责创建线程和任务调度。System Administrations.GCD提供一个队列,用于在成功的数据请求之后,在应用程序中管理多个任务,分析服务器从JSON返回的数据,并更新UI界面以显示结果。
6 系统实现
在实现了应用程序之后,必须通过模拟器或者实机 can测试系统来测试。Xcode提供了iPhone模拟器的不同版本。要确保应用程序与每种iPhone的版本都是与之兼容的,根据需要选用屏幕尺寸。另外,通过实机测试,可以更好地反映应用程序在实机上的运行性能。这个程序已经在iphone6和iphone6 plus上测试过了。为了注册App ID并在测试前申请开发人员证书,真正的测试系统需要开发人员证书。体系测试主要是功能的测试与性能的测试[4]。
6.1 功能实现
在微课堂视频学习应用功能设计的基础上,选择了以下几个主要功能:用户注册和登录功能,根据手机验证码进行用户注册;用户可以使用他们的手机号码和密码在成功注册之后进行注册。成功登入移动电话号码后,系统还可以覆盖登入码的使用,初始设计必须在测试服务器上进行,通过应用程序可以读取多种微讲座视频及相关练习视频,App的视频播放和练习功能也能正常使用。可播放、可停止、可快进,通过练习可实现选课及判错[5]。
6.2 性能实现
当确定应用程序已经正确地运行并且实现了设计功能后,最后的步骤是测试它的性能。通过运行Analyze Performance Test Tool,没有出现内存泄漏、空指针、对象引用、值映射等错误。Instruments Publishing有多个动态分析和跟踪内存的跟踪模块,存储器可动态地分析和跟踪。对CPU和文件系统应用程序的代码进行了优化和改进,并对应用程序的性能进行了测试,包括负载和压力测试。其目标是检查是否能够实现用户推荐的性能指标,识别系统性能瓶颈,进一步优化系统。
7 结语
微课程的视频学习应用具有很高的适用性和移植性。基于IOS的微课程平台设计,为学习者提供了一个移动的学习平台,满足了个体化、交互式、可调节的学习需求。