如何开发一个校园习题app

2018-04-25 09:22:42

随着信息产业和科学技术的飞速发展与日新月异,推动了 手机的全球普及化,特别是智能手机中在生活中的广泛应用, 使人们的生活、消费、工作、出游等方面处处体现了智能化的 方便。对于 00 后学生而言,大多数是独生子女,他们拥有良 好的物质条件,生活优越性好,最大的特点是伴随着互联网和 智能手机成长。本文基于这个前提,旨在将校园学习与手机移 动通信终端相结合,探讨如何制作辅助学习类的 APP 软件,通 过 APP 软件应用提高学生的学习效率和考试成绩。

一、APP 的应用特点

最初 APP 只是作为一种第三方应用的合作形式参与到互联 网商业活动中去的,随着智能手机的普及,APP 对游戏、艺术 品、零售、新闻媒体、旅游、教育等行业产生深刻变革 [1]。(1) 便捷性,学习的技术手段更为先进,学生可以利用移动 APP 通 过移动网络灵活快捷地获取知识,在学习方式上摆脱时空的束 缚,改变了传统的以固定教室为主要的学习模式,学习的时间 和地点不固定,使知识的传播更为及时和方便。(2)主动性, 课外学习通常发生在零散时间或者特定情境下,可以根据个人 的需求或者知识程度调整学习进度和学生本人的学习能力,自 主安排制定学习计划,因此可以作为课堂教学以外的一种良好 补充 [2]。(3)趣味性,手机 APP 是一种能够被年轻人,特别 是学生乐于接受的新鲜事物。趣味性也可以刺激学生的学习动 机,让学习变得更加生动有趣,将枯燥的课本知识学习游戏化, 趣味化,可以调动了学生的学习热情,让学生由被动学习变成 主动学习,可以寓教于乐 [3]。

二、应用群体分析

技校、职业学校的学生,自主学习能力相对较差,需要外 力指导,同时他们皆为 00 后一代,他们活泼,好动,伴随互 联网和智能机成长。

他们日常使用手机的时间非常长, 频率非常高。如何在课 堂外的时间,让学生们获取知识呢?其中比较好的途径就是让 课本知识与手机联系,制作相关的辅助学习类 APP 应用软件, 让学生课余时间通过手机来补充学习课本知识 [4]。

三、实例制作体验

(一)制作思路

本文作者担任技校计算机维修班学生的《微机考证》课程 教学,《微机考证》证书是计算机维修专业学生必须考试通过 的一个证书,才能顺利毕业证。《微机考证》上机操作部分问 题不大,而软肋就是选择题部分,题库中接近四百道题目。学 生比较难记忆,而大部分的学生又懒于动手在习题本上练习。 因此,设想制作一个基于《微机考证》中选择题部分的题库 APP 手机应用,让学生把课后时间和手机移动学习达到有机整 合,加深学生的记忆和理解,充分有效利用零散时间,提高考 试的通过率。同时,这次是制作一个单机版的 APP 应用,可以 不必消费学生的上网流量,减轻学生的手机消费负担。

(二)软件开发平台

本次 APP 答题题库,是基于手机 Android 客户端实现一个 本地题库的答题系统,该应用能够实现试题展示,用户作答, 答案判定,题目解释,错题回顾等功能。本项目的制作平台是 采用 Android studio 2.0 版本开发环境,存储题库和答案的存储 选择轻型的数据库——SQLite。

(三)制作原理流程图




(四)应用界面的设计与实现

应用界面的设计,主要体现在 LinearLayout 控件的应用, 线性布局(LinearLayout)主要以水平或垂直方式来显示界面中 的控件。当控件水平排列时,显示顺序依次为从左到右,当控 件垂直排列时,显示顺序依次为从上到下。为了让程序拥有更 好的屏幕适配能力,在指定控件和布局宽高时应尽量避免将控 件宽高设置为固定值。界面的显示内容比较简洁,一个是问题 的描述,第二是答案显示,第三是题目切换。

应用界面实现:创建两个 Activity,一个是“答题”界面, 一个问题和选项的界面,用来滑动题目显示,题目描述,选项 和项目解释。RadioButton 为单选按钮,它需要与 RadioGroup 配合使用,提供两个或多个互斥的选项集。分别为 QuestionA ,QuestionB,QuestionC,QuestionD。 RadioGroup 是单选组合框, 可容纳多个 RadioButton,并把它们组合在一起,实现单选状态。

(五)试题数据库的设计与导入

SQLite Data Brower 数 据 库 浏 览 器, 创 建“question. db”数据库,数据表设计如下



数据库创建之后,把整个题库的题目导入到数据库中保存, 然后把 question.db 复制到项目的 assets 文件夹中,将已有的数 据库打包到 APK。

(六)答题功能的设计与实现

1)Intent 是 程 序 中 各 组 件 进 行 交 互 的 一 种 重 要 方 式,它不仅可以指定当前组件要执行的动作,还可以在不同 组 件 之 间 进 行 数 据 传 递。 用 Intent=new Intent(MainActivity. this,ExamActivty.class) 实 现 从 主 界 面 到 答 题 界 面 的 跳 转。 startActivity(intent) 实现启动答题界面。

2)创建一个 question 类,用于保存从数据库中读取的数 据,成员变量名与数据库的字段名要对应一致。“selectedAnswer” 变量用于保存用户所选择的答案。创建“DBService”类,实现 连接数据库,并从数据库中读取数据,获取需要的数据。成员 变量“db”引用数据库 SQLite 的存储地址。

3)创建方法“list”用于获取数据库的问题,由 Integer 构成的 List,判断问题回答正确与否。 四、结束语 相比传统的教学辅助模式而言,习题类 App 的应用在一定 程度上的确可以提高学生的学习效果,其优势在于加深学生的 记忆和理解,采用 App 作为教学辅助工具能够达到举一反三的 效果。本次习题 App 制作的初衷主要是为了解决学生在移动终 端练习《微机考证》选择题,只是一个简单的单机版选择题库 APP。由于时间有限,一些功能和应用界面设计比较单一,存 在一些小问题,同时编程也是一个瓶颈的问题。下次,将探讨 使用 AppInventor 程式,面向可视化界面,设计一个云端题库, 让更多的学生受益。