伍敏君 张志
摘 要:针对目前大学生对课程表管理的需求,基于Android手机平台,设计一款课程表管理系统,实现了课程表的管理功能。系统中设置了学期课表和周课表模式,添加了菜单功能,以适用不同的课表管理情况,采用SQLite数据库进行本地数据存储,对课程表详细信息进行管理。经过模拟器和手机测试,系统各项功能运行稳定可靠,具有较强的方便性、实用性和可靠性,给大学生课程表的管理带来方便。
关键词:Android;课程表;SQLite数据库;课程管理
中图分类号:TP311 文献标识码:A 文章编号:2096-4706(2020)04-0097-03
Abstract:According to the current needs of college students for curriculum management,based on Android mobile platform,a curriculum management system is designed to achieve the management function of curriculum. In the system,semester schedule and weekly schedule mode are set,and menu function is added to adapt to different schedule management situations. SQLite database is used to store local data and manage the detailed information of the schedule. Through the test of simulator and mobile phone,all functions of the system are stable and reliable,with strong convenience,practicability and reliability,which brings convenience to the management of college studentscurriculum.
Keywords:Android;curriculum;SQLite database;course management
0 引 言
目前,大部分高校的课堂教学都采用流动式的课室,即学生没有固定的教室,在上课前,学生需要查询课表,找到相应课程的上课时间(包括周次、节次等)、上课地点等。随着互联网技术和移动技术的快速发展,当前大学生的生活方式、学习习惯也发生了很大的变化,智能手机在现代大学生中普及度非常高,学生越来越喜欢通过手机处理日常生活学习中的一些事务[1]。用移动化的课程表来替换传统的纸质化课程表,无疑可以给学生带来方便,同时也节省纸质资源。因此,采用移动化的课程表管理是一种趋势。
Android系统是目前主要手机应用程序开发平台之一[2]。Android系统是一个开源手机操作系统,具有良好的用户体验,开放性强等特点,满足了移动互联网产业的发展需求。以Android技术开发的应用程序以Java语言为基础,实用性好,扩展性强,应用前景非常广阔[3]。
为了改变传统的纸质化课程表,本文基于Android手机平台,综合考虑实际课程表的相关信息,设计了一款课程表管理系统,以适应新时代大学生对课程表使用的需求。
1 总体设计
在Eclipse平台下,本文设计了一款基于Android平台的课程表管理系统,用于大学生课程信息的存储。在本系统下,学生可以根据自己的实际需要,按照周次和节次,增加、删除或修改课程信息。每次增加、删除或修改的课程信息,将同步到数据库中,以实现数据的长期保存。
根据实际的课程表管理需求,本文设计的基于Android系统平台课程表管理系统,按功能划分为五个模块:欢迎界面模块、学期课表模块、周课表模块、菜单模块、数据库存储模块,系统结构框图如图1所示。
2 系统功能概述
本系统各模块功能如下:欢迎界面模块:通过文字和图片大概介绍本系统的功能和操作等。学期课表模块:显示本学期内的所有课程信息。周课表模块:显示所选择周次范围内的所有课程信息。菜单模块:切换学期/周课表,以及系统的设置。数据库模块:创建自定义类,采用SQLite数据库对课程详细信息进行读/写。
Android的数据存储有三种方式:Shared Preferences、SQLite和Content Provider[4]。本文采用的是SQLite数据库。SQLite数据库是一款轻量级的开源内存数据库软件,具有高效性、可靠性、稳定性、安全性,支持大部分操作系统[5]。SQLite数据库占用系统资源少,被广泛应用于应用程序的数据存储场景中。Android系统提供了数据库相关的API,因此,应用程序可以方便地访问数据库,并实现数据查询与修改等操作[6]。SQLite数据库的操作主要有:创建数据库、打开数据库、创建表、添加表中数据、删除表中数据、修改表中数据、关闭数据库等。
本文设计的基于Android平台课程表管理系统,其课程详细信息将存储在SQLite数据库中,既可以查询课程相关数据,也可以更新课程的数据。根据SQLite数据库相关API,编写自定义函数,以实现课程表数据的增加、删除、修改等操作。
3 系统功能实施
在Eclipse开发环境下,本文设计和实现了一款基于Android平台的课程表管理系统,分别在模拟器和真实手机上进行了各项功能的测试,都能实现预期的效果。本文采用的模拟器是Android 4.2,API Level為17,测试的手机系统为Android 5.0.2。本课程表管理系统显示的课程信息,是以本校光电信息学院移动互联应用技术专业为例,添加了“移动终端软件高级开发”“Java程序设计”等课程信息。
3.1 学期课表
欢迎界面结束后,默认先进入学期课表页面,如图2所示,显示的是本学期所有的课程信息。其中,第一行为星期,第一列为节次,是添加了自定义边框的TextView组件,采用深浅颜色变化的底纹,以相间的形式布局,增加星期栏和周次栏的美观性。
在学期课表模式下,其右下方区域采用TableLayout布局管理器,创建了一个5×5的二维数组矩阵,每个元素均为Button组件。每个Button组件采用自定义边框,用于显示该时间段的课程信息,主要包括课程名称、授课教师、起始周次、上课地点等。此二位矩阵中的行和列序号共同组成课程ID。例如,周二的1-2节课,对应的Button组件在第1行第2列,在系统中记录其课程ID为12;又如,周四的5-6节课,对应的Button组件在第3行第4列,在系统中记录其课程ID为34。由此可得,每个Button组件对应的课程ID都是唯一的,使得各项数据在SQLite数据库中的存储不会发生混淆。
为了使得界面能适应不同移动设备的屏幕显示,采用垂直和水平等比例划分组件。在垂直方向上,TableLayout的布局采用等比例划分表格行TableRow组件,使得每一个表格行的行高相同。在水平方向上,每一行等比例划分列,添加五个列宽相同的Button组件。当课程表管理系统在不同设备环境下运行时,页面的显示都能按实际大小来分配表格的行高和列宽,使得页面显示更加美观。
每条课程信息均保存在SQLite数据库中,在数据库的表中记录课程的信息包括课程ID、课程名称、授课教师、课程开始周次、课程结束周次、课程地点编号、课程地点属性(机房/课室)等信息。每次访问SQLite数据库时,进行课程信息的增加、删除、修改等,都先根据课程ID找到相应信息所在位置,再通过数据库的写和读等函数来完成数据的增加、删除、修改等操作。
3.2 周课表
通过菜单项选择周课表后,即跳转到周课表模式,如图3所示。在学期课程模式下不需要选择周次,因此,学期课程页面中隐藏了Spinner组件。当跳转到周课表页面中,其右上方出现Spinner组件,通过该Spinner组件选择相应的周次后,系统则查询SQLite数据库所有课程的开始周次和结束周次,进行筛选并显示该周次内的所有课程信息,如果不在该周次内的课程信息,则隐藏。
3.3 编辑课程
在学期课表或周课表模式下,根据用户点击的星期和节次,可获取到相应的Button组件,找到相应课程的ID,跳转到编辑课程信息的页面,在此页面中,可以编辑单条课程信息的内容,如图4所示。
在编辑课程页面中,星期和节次已确定,可以填写或删除已有的课程信息,包括课程名称、授课教师、课程开始周次、课程结束周次、课程地点等信息,点击完成后,课程表管理系统则查找到相应ID的课程信息,进行学期课表和周课表模式下的数据更新,同时,SQLite数据库的数据也同步更新。
4 结 论
本文基于目前大学生对课程表的管理需求,在Eclipse平台下,设计并实现了一套基于Android平台课程表管理系统的方案。经过模拟器和真实手机的测试,本系统运行稳定可靠,完成学期课程和周课表的管理,添加菜单功能,采用SQLite数据库,对课程表的数据信息进行查询与统计,功能强大、运行效率高,具有一定的实用性。
参考文献:
[1] 任婷婷.基于Android系统的校园助手应用的设计与实现 [D].北京:北京交通大学,2014.
[2] 谢景明.Android移动开发教程(项目式) [M].北京:人民邮电出版社,2013.
[3] 张晓蕾.Android移动互联应用开发 [M].北京:科学出版社,2016.
[4] 陈煜,周荣辉.基于Android系统的手机文件管理器的设计与实现 [J].铁路计算机应用,2012,21(9):47-51.
[5] 徐明民,彭中华,王黎维.基于表分区和内存数据库的族谱生成系统优化 [J].计算机与数字工程,2017,45(2):272-278.
[6] 李华忠,梁永生,刘涛.Android应用程序设计教程 [M].北京:人民邮电出版社,2013.
作者简介:伍敏君(1986-),女,汉族,广东中山人,讲师,碩士,研究方向:计算机应用技术、移动应用开发;张志(1989-),男,汉族,安徽合肥人,讲师,硕士,研究方向:计算机应用技术、移动应用开发。