当前位置:文档之家› 基于Android系统的课程管理系统

基于Android系统的课程管理系统

基于Android系统的课程管理系统
基于Android系统的课程管理系统

基于Android系统的课程管理系统此文档为WORD格式,下载后可随意编辑

2017年9月修订

摘要

随着无线移动设备的发展,手机也日益普及,Android系统的推出使手机的发展进入到了一个新的领域,世界上一些知名的移动设备生产厂商对于Android智能机的开发热情也日益提高,Android系统的使用人群正在急速提升,Android应用程序的多样化对人们快速获取资讯以及方便人们的生活起着不可忽视的作用,近年来Android得到了社会更多的认同和应用,本文主要概述了Android系统的体系结构,Android应用程序的开发环境和用JAVA语言开发基于Android系统的课程管理系统中的一些技术实现方法,这些技术包括:基于Android系统的课程管理系统的用户界面设计,SQLite数据库的建立和存储,在系统的设计与实现中,确定系统的开发思想以及开发环境,最后给出了系统中模块的详细设计与实现,并对系统模块涉及到的关键源代码进行了详细的分析,本人将在文中对各个技术要点进行具体的阐述,经过调试运行后表明,系统可以满足用户的各项需求。

关键词:课程管理

Abstract

With the development of wireless mobile devices, mobile phones have been increasingly popular, and the introduction of Android system has promoted the development of phones into a new area. Some of the world’s leading mobile device manufacturers have also shown great enthusiasm for the exploitation of Android intelligent machines. Beside, diversified Android application programs play a significant role in people’s quick access to information and facilitation of people's life. Therefore, customers of this system are rapidly increasing In recent years. This paper outlines the architecture of Android system, its development environment and some technical implementation of Class management system on android system based on JAVA language. These technologies include the design of user interface of Class management system on android system, system calls of API, and establishment and storage of SQLite database. During the design and realization of the system, making sure the development thought of the system, at last show the design details with realize finally an a key for of detailed design with realization, and analyzed the program which relate to the system module The author will elaborate each technological point specifically in this paper. After debugging and running, it shows that the system can satisfy with users to buy the things they need.

Keywords: Class manage

目录

1 引言 (6)

1.1 开发背景 (6)

1.2 课题研究意义 (6)

1.3 开发工具及环境的选择 (6)

1.4 Android环境搭建 (7)

2 研究现状及设计目标 (10)

2.1 课程管理系统软件的特点 (10)

2.1.1 界面特点 (10)

2.1.2 使用特点 (11)

2.2 现行研究存在的问题及解决办法 (11)

2.2.1 布局问题 (11)

2.3 本课题要达到的设计目标 (11)

2.4 经济效益分析 (11)

3 关键问题及分析 (12)

3.1 采用的关键技术 (12)

3.1.1 UI界面技术 (12)

3.1.2 UI界面介绍 (12)

3.1.3 UI界面语言 (13)

3.1.4 UI编程工具介绍 (13)

4 需求分析 (15)

4.1 业务流程 (15)

4.2 功能需求 (15)

4.3 登录功能需求 (16)

4.3.1 管理员功能需求 (16)

4.3.2 老师功能需求 (16)

4.3.3 学生功能需求 (16)

5 系统设计 (17)

5.1 系统体系结构 (17)

5.2 系统E-R图 (17)

6 系统实现与测试 (18)

6.1 创建数据表 (18)

6.2 系统实现 (19)

6.2.1 登录模块的实现 (19)

6.2.2 管理员模块的实现 (20)

6.2.3 老师模块的实现 (22)

6.2.4 学生模块的实现 (23)

6.3 测试 (24)

6.3.1 软件测试的目的和原则 (24)

6.3.2 程序功能测试 (25)

6.3.3 测试方法 (30)

6.3.4 实例测试 (31)

7 总结与展望 (32)

7.1 总结 (32)

7.2 展望 (32)

参考文献 (34)

致谢 (35)

附录Ⅰ程序清单 (36)

1 引言

对于课程管理,相信大家都不会感到陌生,课程管理即是帮助老师和学生管理课程,最早以纸质的方式存在,随着科技的发展,电子课程管理也出现在了手机上,更方便的为人们管理课程,记录课程的相关信息。

1.1开发背景

在中国,手机已经成为人们日常生活必不可少的一部分,智能手机在高校人群中逐渐得到了普及,Android手机凭借其优秀的系统性能以及良好的用户体验迅速得到了大学学生的青睐,在高校中,上课并不像高中时期有固定的教室和固定的时间,大学课程种类繁多,并且上课地点和时间都不固定,一周内极少会出现重复课程,所以要将课程表完整的记忆下来是一项很艰难的事情,每次上课时总有许多同学在上课的路上才想到不知道在哪个教室上课,于是不得不每次拿出手机打电话花两毛钱问同学,或者一些同学一直装个纸质的课程表在衣袋里,极不方便。鉴于Android手机在大学中的普及率很高,于是本人就想到了创作一个Android版的课程管理程序,将课程表放进手机里,无论在什么时候,只需打开自己的手机,便可方便的查询到自己的课程在什么时间,什么地点,什么老师上课。更不用担心走在路上突然忘了一会儿上什么课,随时随地,方便快捷。

基于这些问题,有必要设计一款具有课程管理程序,从而避免遗忘上课的事情出现。

1.2课题研究意义

在Eclipse开发环境下,运用Java语言和Android的SDK开发一款课程管理软件,本软件除了可以及时的显示课程信息外,还可以增加更详细的上课地点及上课时间,还有对课后的课程作业增加到该课程信息中去,本系统可以在Android模拟器上运行,取得了很好的运行效果,希望这款软件可以给用户带来更快更准的信息与更简便的使用。

1.3开发工具及环境的选择

本软件的开发环境是由Windows XP、Eclipse、Android SDK、ADT、JDK、SQLite 数据库共同组建而成的。

Android是一个包括操作系统、中介架构层及应用程序所产生出来的软件堆栈架构。由上而下,其核心为嵌入式Linux2.6作业系统,向上搭载Google为Android开发的类库及Android运行时,再配合应用程序架构,来开发各种不同的应用程序,下面介绍几个本系统开发所用到的功能特征,Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。尚未有统一中文名称,中国大陆地区较多人使用“安卓”或“安致”。Android操作系统最初由Andy Rubin开发,主要支持手机。2005年8月由Google收购注资。2007年11月,Google与84家硬件制造商、软件开发商及电信营运商组建开放手机联盟共同研发改良Android系统。随后Google以Apache开源许可证的授权方式,发布了Android的源代码。第一部Android智能手机发布于2008年10月。Android逐渐扩展到平板电脑及其他领域上,如电视、数码相机、游戏机等。

Android会同一系列核心应用程序包一起发布,该应用程序包包括客户端,SMS短消息程序,日历,地图,浏览器,联系人管理程序等。所有的应用程序都是使用JAVA 语言编写的。

应用程序架构,在应用程序架构内已经具备多种不同的基础组件,在开发应用程序时,就可以直接调用这些组件来使用,可以节省开发应用程序的心力及时间。

SQLite数据库,SQLite提供结构化的数据存取,SQLite是一款轻型的数据库,它的设计目标是嵌入式的,目前已经在很多嵌入式产品中使用了它,它占用的资源非常低,它能够支持Windows/Linux/U nix等主流的操作系统,同时能够跟很多程序语言相结合,比如PHP,Java等,还有ODBC借口,同样比起Mysql,PostgreSQL来讲,它的处理速度比它们都快,它无需安装和管理配置,它是一个储存在单一磁盘文件中的完整数据库,体积小只有250KB但支持数据库大小至2TB,它虽然很小巧,但是支持的SQL语句毫不逊色于其它开源数据库,同时它还支持事务功能和并发处理等等,SQLite也是一套开放性的关联式资料库,其特点在于轻量性方面的设计结构,更适合在手机上使用。

1.4Android环境搭建

(1)安装JDK

Google方面为解决代码的分裂以及硬件平台的不统一的问题提出了一套“硬件+软件”的硬件设计标准,可以整合USB接口,他们的代号是“ADK”。这项功能会进入

Android标准当中。而与此同时这个ADK标志是完全开放的,没有限制性条款。

(2)下载Android SDK

Android SDK(software development kit)软件开发工具包,被软件开发工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合,因此,Android SDK指的是Android专属的软件开发工具包。

(3)环境变量的配置,环境变量如图1.1所示。

图1.1环境变量

(4)设置环境变量

下载后默认路径安装。设置环境变量后,单击“开始”,“运行” 输入:cmd命令,在CMD窗口中输入,javac看是否帮助信息输出,cmd运行如图1.2所示。

图1.2cmd运行

(5)下载Eclipse,下载Eclipse如图1.3所示。

图1.3下载Eclipse

(6)安装Eclipse

(7)安装ADT

打开Eclipse IDE,进入菜单中的“Help”,“Install New Software”,点击Add按钮,弹出对话框要求输入Name和Location:Name自己随便取,Location输入,安装ADT如图1.4所示。

图1.4安装ADT

(8)Eclipse

Eclipse是一个开放源代码的、基于Java的可扩展开发平台,就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境,幸运的是,Eclipse附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。

虽然大多数用户很乐于将Eclipse当作Java集成开发环境(IDE)来使用,但Eclipse 的目标却不仅限于此,Eclipse还包括插件开发环境(Plug-in Development Environment,PDE),这个组件主要针对希望扩展Eclipse的软件开发人员,因为它允许他们构建与Eclipse环境无缝集成的工具,由于Eclipse中的每样东西都是插件,对于给Eclipse提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。

这种平等和一致性并不仅限于Java开发工具,尽管Eclipse是使用Java语言开发的,但它的用途并不仅限于Java语言,例如:支持诸如C/C++,COBOL,PHP等编程语言的插件已经可用,或预计将会推出,Eclipse框架还可用来作为与开发无关的其他应用程序类型的基础。

2 研究现状及设计目标

本软件现在可以进行多用户登录的操作和数据库基本的增加、删除、修改、查询的操作,更可以进行课程提醒的操作。本软件设计目标是能够让学生们用着方便,尽最大的可能去帮助学生们按时上课。

2.1课程管理系统软件的特点

由于大学里上课教室不定,每次上课时总有许多同学在上课的路上才想到不知道在哪个教室上课,于是不得不每次拿出手机打电话问同学,或是一些同学一直装个纸质的课程表在衣袋里,极不方便。现在Android手机在大学中的普及率很高,于是我就想到了创作一个Android版的课程管理,只要登录上,你就可以看见你所要上的是什么课,什么时间、哪间教室以及上课的老师,本软件还有一项特殊功能,就是闹铃提醒功能,你只要按下提醒按钮,到时间就会提醒你该去上课了,这样你就不会因为什么原因而忘记了上课。

(1)系统管理员可以添加,删除,修改,查询老师,学生和课程的信息;

(2)学生可以查询本班课程信息;

(3)老师可以查询自己的授课信息;

(4)课程信息包括课程名称,上课时间,任课教师和上课地点;

(5)针对课程进行闹钟提醒;

(6)用户交互界面简洁友好,操作简单。

2.1.1界面特点

现在手机的软件有很多,但是有的软件用起来很麻烦,让用户使用起来不是很舒服,本人在开发的时候吸取其他软件的弊端,让此软件更实用,本软件用户交互界面要简洁友好、操作简单,只是针对于课程的设计,不会有像其他软件一样有太多的复杂操作,更方便于老师以及学生使用。

2.1.2使用特点

现在的手机软件很多,比如:应用软件、学习软件和游戏软件等等,有的软件操作不易,此软件非常易上手,没有过多复杂的操作,轻轻松松就可以很好的运行,这样不仅省时,而且还会轻而易举的实现功能,满足客户的需要。

2.2现行研究存在的问题及解决办法

在开发的时候,难免会遇到一些问题,比如有布局问题、SQLite数据库问题、权限登录问题、较高要求的课程提醒问题等,经过了问老师、查找资料、看教学视频等等一系列与问题有关的东西,最后终于完成。

2.2.1布局问题

在开发的时候最难的以及最重要的就要数布局了,布局的好与坏完全可以表现出你的软件的好与坏,以及受欢迎度,在我刚开始设计布局的时候,就遇到了很多难题,比如有Linearlayout控件、TextView控件、Button按钮控件,经过查询书本、查询网站信息以及询问老师的讲解,终于知道了这些控件使用和控件的布局分布。

2.3本课题要达到的设计目标

本软件分为管理员、老师、学生三个用户的登录操作,管理员可以添加、删除、修改、查询老师、学生和课程的信息,老师可以查询自己的授课信息,学生可以查询本班课程信息,还有一个较高的要求,就是针对课程进行闹钟提醒,界面简洁友好、操作简单,更方便用户的使用。

2.4经济效益分析

学生是一个大的集合,此软件主要就是面对学生开发研制的,现在主要面向的是大学生们,以后还可以面向初高中生,甚至面向小学生也不是不可能的,现在的Android 手机占据着手机市场的大部分,将来的Android系统还会有更大的运作空间,一定会实现人手一部Android手机,学生当中使用Android手机的更是越来越多,所该软件一旦投放到市场,学生的使用情况会越来越多,下载量就会日益增加。

3 关键问题及分析

在开发的时候,难免会遇到一些问题,比如有布局问题、较高要求的课程提醒问题等,经过了问老师、查找资料、看教学视频等等一系列跟问题有关的东西,最后终于完成。

3.1采用的关键技术

本软件中主要采用的关键技术是UI界面设计,又叫布局控件技术,在开发Android 软件中,最重要的就是布局,一个布局的好坏可以影响你的软件受欢迎的程度。

3.1.1UI界面技术

在开发的此软件的时候,布局是最大的技术也是最大的难点,大多数的时间都是在思考布局的设计。

此布局为Android中五大布局当中的一个布局,也是非常重要的一个布局,LinearLayout线性布局,它是最基本的布局控件,它的功能是在页面当中可以规定页面尺寸的大小,每一个Android软件的界面都会用到这个布局控件。

3.1.2UI界面介绍

Android的界面是有布局和组件协同完成的,布局好比是建筑里的框架,而组件则相当于建筑里的砖瓦,组件按照布局的要求依次排列,就组成了用户所看见的界面。Android有五大布局,分别是LinearLayout(线性布局)、FrameLayout(单帧布局)、RelativeLayout(相对布局)、AbsoluteLayout(绝对布局)和TableLayout(表格布局)。

LinearLayout是线性布局控件,它包含的子控件将以横向或竖向的方式排列,按照相对位置来排列所有的widgets或者其他的containers,超过边界时,某些控件将缺失或消失,因此一个垂直列表的每一行只会有一个widget或者container,而不管它们有多宽,而一个水平列表将会只有一个行高。

FrameLayout是五大布局中最简单的一个布局,在这个布局中,整个界面被当成一块空白备用区域,所有的子元素都不能被制定放置的位置,它们统统放于这块区域的左上角,并且后面的子元素直接覆盖在前面的子元素之上,将前面的子元素部分全面遮挡。

RelativeLayout相对布局,在这个容器内部的子元素们可以使用彼此之间的相对位置或者和容器间的相对位置来进行定位。

AbsoluteLayout绝对布局,也可以叫做坐标布局,也就是指定元素的绝对位置。这种布局简单直接,直观性强,但是由于手机屏幕尺寸差别比较大,使用绝对定位的适应性会比较差。

TableLayout表格布局,TableLayout类以行和列的形式对控件进行管理,每一行为一个TableRow对象,或一个View控件。

3.1.3UI界面语言

在编写布局的时候,是在XML文件里进行编写的,XML是指可扩展标记语言(Extensible Makeup Language),可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。

XML文档必须包含根元素,该元素是所有其他跟元素的父元素,XML文档中的元素形成了一棵文档树,这棵树从根部开始,并扩展到树的最底端,所有元素均可拥有子元素,父、子以及同胞等术语用于描述元素之间的关系,父元素拥有子元素,相同层级上的子元素成为同胞(兄弟或姐妹),所有元素均可拥有文本内容和属性。

XML是大小敏感的语言,所有元素都必须正确嵌套,必须有关闭标签,元素的属性值必须加引号,XML的命名规则,元素名称可以使用任何字母或符号(除< &),没有保留字,元素名称不能以数字或标点和“XML”“Xml”“xml”字符开始,也不能包含空格。

XML的简单使其易于在任何应用程序中读写数据,这使XML很快成为数据交换的唯一公共语言。

3.1.4UI编程工具介绍

Eclipse是一个开放源代码的、基于Java的可扩展开发平台,就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境,幸运的是,Eclipse附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。

虽然大多数用户很乐于将Eclipse当作Java集成开发环境(IDE)来使用,但Eclipse 的目标却不仅限于此,Eclipse还包括插件开发环境(Plug-in Development

Environment,PDE),这个组件主要针对希望扩展Eclipse的软件开发人员,因为它允许他们构建与Eclipse环境无缝集成的工具,由于Eclipse中的每样东西都是插件,对于给Eclipse提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。

这种平等和一致性并不仅限于Java开发工具,尽管Eclipse是使用Java语言开发的,但它的用途并不限于Java语言,例如:支持诸如C/C++和COBOL等编程语言的插件已经可用,或预计将会推出,Eclipse框架还可用来作为与软件开发无关的其他应用程序类型的基础。

4 需求分析

4.1业务流程

图4.1系统流程图

4.2功能需求

该程序运行时,有三个不同用户可以登录,分别是管理员、教师和学生这三个用户,管理员可以添加、删除、修改、查询教师和学生的课程信息,教师可以查询自己的授课信息,学生可以查询本班课程信息,教师和学生用户中还有课程提醒功能,用户可以自己设置提醒的时间,当设置的时间到了的时候,则会弹出一个对话框,提示用户上课的时间快到了,请注意,这样就避免了上课迟到的现象,学生还可以根据课表的信息进行预习,教师也可以根据授课的信息提前进行备课,这样学生和教师都会对课上的内容做好充分的准备。

4.3登录功能需求

在登录界面时,会有三个选项,管理员、老师和学生,只有用户名、密码和你选择正确的权限时,才会通知你登录成功,否则会出现请输入正确的用户名或密码,当点击清除按钮时,会把你输入的用户名和密码全部清空,让你重新输入。

4.3.1管理员功能需求

当选择为管理员登录时,你会看到老师、学生以及课程的所有信息,你还有权限去增加、删除、修改所有的老师、学生以及课程的信息,这是老师和学生都没有的权利,管理员可以控制一切。

4.3.2老师功能需求

当选择为老师登录时,老师的权限就只能查询到老师自己的个人信息,以及授课的时间,地点和所教的班级。老师没有权利去更改任何信息和删除信息的权限,有的只是查询信息的功能,老师有一个附加功能,那就是课程提醒功能,老师可以自己设定时间,来提醒自己什么时间去什么教室给哪个班级的同学去上课,这样就避免老师教的班级多,上课时间不规律而出现的错误。

4.3.3学生功能需求

当选择为学生登录时,学生的权限跟老师的差不多,只能查询到学生的个人信息,以及上课的时间,地点和授课老师,学生也没有权利去更改任何信息和删除信息的权限,有的也只是查询信息的功能,学生还有一个附加功能,就是课程提醒功能,学生可以设定时间,来提醒自己去上课,这样就不会出现上课迟到,忘记上课的情况。

5 系统设计5.1系统体系结构

图5.1程序体系结构图5.2系统E-R图

图5.2程序E-R图

6 系统实现与测试

6.1创建数据表

class表中存有六个字段,class_id、classname、classtime、classstudent、classteacher、classroom这六个字段,分别是序号、课程名、上课时间、上课班级、上课老师和上课教室,class表如表6.1所示。

表6.1class(课程信息表)

teacher表中有四个字段,teacher_id、teachername、teachersex和teacher_class这三个字段,分别是序号、教师姓名、教师性别和所教班级,teacher表如表6.2所示。

表6.2teacher(教师信息表)

student表中有四个字段,student_id、studentname、studentsex和student_class,分别是学生姓名、学生性别和学生班级,student表如表6.3所示。

表6.3student(学生信息表)

根据对本程序的需求分析,本程序一共需要用到三张数据库表,分别是class表,teacher表和student表。

class表中主要用来存储已经添加的课程名、上课时间、上课班级、上课老师、上

相关主题
文本预览
相关文档 最新文档