李凡
摘 要: “微课”作为一种新兴的教学模式,较传统教学具有更高的便利性、应用性和针对性。文章围绕教学领域阐述移动学习的背景和意义,提出了微课学习平台的开发设计思路、总体架构和系统功能模块,设计并实现了微课学习平台。测试结果表明,该平台满足了微课移动学习应具备的基本功能。
关键词: Android; 微课; 移动学习; 教学
中图分类号:TP399 文献标识码:A 文章编号:1006-8228(2022)01-110-03
Design and implementation of an Android micro course platform
Li Fan
(Armed Police Command College, Tianjin 300000, China)
Abstract: As a new teaching mode, "micro course" has higher convenience, application and pertinence than traditional teaching. This paper expounds the background and significance of mobile learning around the teaching field, puts forward the development and design idea, overall architecture and system function modules of micro course learning platform, and designs and implements the platform. The test results show that the platform meets the basic functions of micro course mobile learning.
Key words: Android; micro course; mobile learning; teaching
0 引言
《2020-2026年中国在线教育行业市场分析预测及发展趋势研究报告》显示,在“互联网+教育”政策的推动下,在线教育将持续发展,并逐渐朝移动端发展[1]。2021年中国互联网信息中心(CNNIC)发布的第47次《中国互联网络发展状况统计报告》统计我国使用手机网民达9.86亿,互联网普及率达70.4%,其中使用移动教育人数将近3亿,移动端学习的使用率超过80%[2]。本文基于Android环境设计开发教学平台,试图为微课平台建设带来启发。
1 关键技术
1.1 流媒體技术
流媒体技术也称流式媒体技术,是指将视频、音频等媒体文件经过相应格式压缩处理,存放在存储器中,根据用户需要随时请求下载使用。在Android系统中应用流媒体文件只需要在帧布局控件FrameLayout中嵌套视频播放控件VideoView即可实现[3]。
1.2 数据缓存技术
数据缓存是指从网络接收的数据下载到本地存储。Android数据缓存主流方式,一是以数据库的形式进行保存,二是以文件的形式进行缓存[4]。数据库的缓存方式具有完整的数据结构,管理便捷,但缓存数据长期在移动终端设备上占用内存严重,需要及时清理;文件形式缓存可以将大量数据进行缓存管理,对系统运行影响较小,相比较而言,实现简单快捷,时效性强。因此本文是在文件缓存技术基础上进行的数据缓存。
2 总体设计
运用网络编程和数据库技术来实现基于C/S结构(客户端/服务器)的移动学习平台。系统开发遵守软件工程的设计方式,采用Java作为开发语言,使用SQLite数据库存储本地的信息。
2.1 总体设计指导思想和原则
2.1.1 总体设计指导思想
总体设计的指导思想是:利用结构化方法,实现系统的各项指标,即主要性、可靠性、工作效率、工作质量和经济性等。系统设计的指标是衡量系统设计好坏的标准。
2.1.2 总体设计原则
利用系统工程的方法设计和建立目标系统,使整个系统构建统一的数据代码和组织方法;采用模块化结构,对系统进行设计、调试和维护,增强系统适应性、灵活性和实用性[5]。
2.2 开发设计思路
⑴ 尽量的使用现有软硬件环境,以及先进的开发方案,从而达到充分利用已有的资源,提高系统的开发水平和应用效果的目的。
⑵ 系统应符合相关规定,满足运行需要,并要达到操作过程中直观、方便、实用、安全等要求。
⑶ 系统采用C/S架构的三层体系结构,即客户端和服务器结构。
⑷ 系统采用模块化程序设计的方法,既便于系统功能的各种组合和修改,又便于未参与开发的技术的人员对于系统的维护补充和维护。
⑸ 系统应具备数据库维护的功能,及时根据需求对数据进行的添加、删除、修改等操作。
2.3 总体架构设计
结合结构化系统设计技术,运用一套标准的设计准则和工具,采用模块的方法,进行新系统控制层次关系和模块化分解设计,把数据流程图表示的系统逻辑模型转变为HIPO图和控制结构图,以及用流程图或伪码表示程序模块结构。本系统应用一套标准设计准则和工具,把系统分析阶段得出的系统逻辑模型扩展并优化处理,在数据流程图的基础上构成系统的模块结构。这一阶段通常采用结构化程序设计方法,即SD(Structured Design)方法。采用模块化自顶向下设计方法,进行新系统控制层次关系和模块分解设计,显著提高了系统的可维护性和可修改性,同时为系统设计提供了方便。
2.4 系统功能模块
根据需求阶段调研所得结论,对微课移动学习平台的业务流程进行了分析和整合后,将系统对数据的处理以数据流程图的形式体现出来,之后,针对用户所提供的原始功能需求,结合系统的特点以及开发任务分配方式,现将基于Android的微课平台的入口,设计为用户登陆的方式。系统的主要功能模块如图1所示。
3 系统实现及测试
3.1 开发工具简介
系统采用Eclipse开发平台,使用MVC架构,运用SQLite、JSON解析、Fragment+ViewPager等技术完成了基于C/S模型的微课移动学习平台。下面主要技术进行简要介绍。
3.1.1 SQLite简介
SQLite是轻小型数据库,它的第一个Alpha版本于2000年5月诞生。SQLite占用的资源非常低,在嵌入式设备中,仅仅只需要几百字节的内存,它的处理速度比MySQL和PostgreSQL还要快。SQLite具有以下特点。
⑴ 零配置、无需安装和管理配置。
⑵ 存储在单一磁盘文件中的一个完整的数据库。
⑶ 数据库文件可以在不同字节顺序的机器间自由的共享。
⑷ 比一些流行的数据库在大部分普通数据库操作要快。
⑸ 支持多种开发语言C,C++,PHP,Java,C#,Python,Ruby等。
3.1.2 JSON解析简介
一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性。在Android开发接口的调用时,常常使用JSON来解析数据。JSON采用兼容性很高的文本格式,同时也具备类似于C语言体系的行为。在本次开发中使用了JSONObject、JSONArray,下面对如何使用JSONObject和JSONArray进行讲解:
⑴ JSONObject的使用:在解析JSON串时,如果要解析的内容外层是“{}”,就使用JSONObject。
⑵ JSONArray的使用:在解析JSON串时,如果要解析的内容外层是“[]”,就使用JSONArray。
3.1.3 Fragment简介
Fragment是界面的一个片段,是Activity的一部分,它不能脱离Activity而存在。Fragment的使用方法有两种:一是Fragment+Activity(API Level值在11以上),二是FragmentActivity+v4.Fragment。Fragment还有它特有的生命周期。
3.2 主要功能模块实现
3.2.1 登录注册模块
⑴ 用戶登录流程:用户登录时,需要输入手机号和密码,并且手机号和密码相匹配。
⑵ 手机号快捷登录:用户登录时,需要输入手机号(手机号格式必须正确),点击获取验证码就会发送一个短信验证码,输入验证码,如果验证码输入正确,则登录成功。
3.2.2 微课学习模块实现
微课学习流程:当用户登录成功时,首先进入微课导航页面,当点击某一类微课时,会弹出提示框,选择其中一门课程进入微课学习页面,点击开始学习。微课导航页面,如图2所示。
3.3 系统测试
3.3.1 测试目标
⑴ 测试的目的在于发现程序中的错误而执行程序的过程。
⑵ 好的测试方案是很可能发现到目前为止尚未发现的错误的测试方案。
⑶ 成功的测试是发现了到迄今为止还没有发现的错误的测试。
3.3.2 测试方案及结论
根据预定要测试的功能,利用黑盒测试和白盒测试原理对输入的测试数据与预期的结果校对分析,分别使用模块测试、集成测试、验收测试、平行运行等多种测试方案和测试用例。经测试,本系统满足微课移动学习平台应具备的基本功能。
4 结束语
本文根据高校教学的实际需要,利用移动设备与先进互联网技术,结合软件工程思想设计开发一款基于Android的微课移动端学习平台,本平台为学生提供了一个可以自由交互的课程学习、课程记录和学习拓展的平台,使学习不再受时间和空间的限制。
系统使用Eclipse作为开发平台,SQLite、JSON解析、Fragment+ViewPager等技术,设计开发了基于C/S模型的移动学习平台。在实验室环境下对系统功能进行了测试,运行稳定顺畅,但由于前期需求和时间问题,系统仍然存在不足之处:①缺乏对美学的研究,以及专业的技术,所以对界面的美化效果不够好,界面看起来生硬不美观。②系统暂未提供在线交流功能,有待今后完成。
参考文献(References):
[1] 智研咨询.《2020-2026年中国在线教育行业市场分析预测及发展趋势研究报告》[R]. https://www.chyxx.com/research/201806/652483.html.
[2] 中国互联网信息中心.第47次《中国互联网络发展状况统计报告》[R].中国互联网信息中心,2021
[3] 李德.基于Android客户端的微课平台设计与实现[D].湖南大学,2019
[4] Android.developer.Application Fundame,2012
[5] 吕俊逸.基于Android的泛在学习平台的研究[D].北京交通大学,2015