次排列,就组成了用户所看见的界面。Android有五大布局,分别是LinearLayout(线性布局)、FrameLayout(单帧布局)、RelativeLayout(相对布局)、AbsoluteLayout(绝对布局)和TableLayout(表格布局)。
LinearLayout是线性布局控件,它包含的子控件将以横向或竖向的方式排列,按照相对位置来排列所有的widgets或者其他的containers,超过边界时,某些控件将缺失或消失,因此一个垂直列表的每一行只会有一个widget或者container,而不管它们有多宽,而一个水平列表将会只有一个行高。
FrameLayout是五大布局中最简单的一个布局,在这个布局中,整个界面被当成一块空白备用区域,所有的子元素都不能被制定放置的位置,它们统统放于这块区域的左上角,并且后面的子元素直接覆盖在前面的子元素之上,将前面的子元素部分全面遮挡。
RelativeLayout相对布局,在这个容器内部的子元素们可以使用彼此之间的相对位置或者和容器间的相对位置来进行定位。
AbsoluteLayout绝对布局,也可以叫做坐标布局,也就是指定元素的绝对位置。这种布局简单直接,直观性强,但是由于手机屏幕尺寸差别比较大,使用绝对定位的适应性会比较差。
TableLayout表格布局,TableLayout类以行和列的形式对控件进行管理,每一行为一个TableRow对象,或一个View控件。
3.1.3 UI界面语言
在编写布局的时候,是在XML文件里进行编写的,XML是指可扩展标记语言(Extensible Makeup Language),可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。
XML文档必须包含根元素,该元素是所有其他跟元素的父元素,XML文档中的元素形成了一棵文档树,这棵树从根部开始,并扩展到树的最底端,所有元素均可拥有子元素,父、子以及同胞等术语用于描述元素之间的关系,父元素拥有子元素,相同层级上的子元素成为同胞(兄弟或姐妹),所有元素均可拥有文本内容和属性。
XML是大小敏感的语言,所有元素都必须正确嵌套,必须有关闭标签,元素的属性值必须加引号,XML的命名规则,元素名称可以使用任何字母或符号(除< &),没有保留字,元素名称不能以数字或标点和"XML""Xml""xml"字符开始,也不能包含空格。
XML的简单使其易于在任何应用程序中读写数据,这使XML很快成为数据交换的唯一公共语言。
3.1.4 UI编程工具介绍
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.1 class(课程信息表)
字段名称 类型 长度 主键 是否为空 字段含义 备注 class_id string 20 是 是 序号 classname string 20 否 是 课程名 classtime string 20 否 是 上课时间 classstudent string 20 否 是 上课班级 classteacher string 20 否 是 上课老师 classroom string 20 否 是 上课教室 teacher表中有四个字段,teacher_id、teachername、teachersex和teacher_class这三个字段,分别是序号、教师、教师性别和所教班级,teacher表如表6.2所示。
表6.2 teacher(教师信息表)
字段名称 类型 长度 主键 是否为空 字段含义 备注 teacher_id string 20 是 是 序号 teachername string 20 否 是 教师 teachersex string 20 否 是 教师性别 teacher_class string 20 否 是 所教班级 student表中有四个字段,student_id、studentname、studentsex和student_class,分别是学生、学生性别和学生班级,student表如表6.3所示。
表6.3 student(学生信息表)
字段名称 类型 长度 主键 是否为空 字段含义 备注 student_id string 20 是 是 序号 studentname string 20 否 是 学生 studentsex string 20 否 是 学生性别 student_class string 20 否 是 学生班级 根据对本程序的需求分析,本程序一共需要用到三张数据库表,分别是class表,teacher表和student表。
class表中主要用来存储已经
上一篇:
基于Android的日历系统
下一篇:
试论APP广告在手机中的应用