基于安卓android的移动选课系统的设计毕业论文内容摘要:

和并发控制等,客户端程序主要完成用户的具体的业务 ,省去了中间的其他环节。 从而,提高了系统的响应速度, 降低了系统的通讯开销 , 但是 需要安装 客户端 才可进行 相应的 管理操作。 同时, 在 C/S 架构中客户端与服务器 之间相互分离,可以对客户端进行单独的设计。 使 客户端的 操作界面漂亮 、形式多样,可以充分满足客户自身的个性要求。 且 此结构 还 具有较强的事务处理能力,能实现负载的业务流程 等优点。 因此, 鉴于 C/S 架构的优点、手机操作系统、网络速度以及 当前大多数 Android 手机应用都采用 C/S 架构的考虑。 基于 Android 的移动选课系统采用 客户端 /服务器( C/S)结构。 洛阳理工学院毕业设计(论文) 11 第 4 章 系统设计 该系统的整体结构 系统的整体结构: Android 客户端手机通过无线网络访问后台服务器,如果需要数据访问,则访问后台数据库。 如图 41 所示。 图 41 系统结构 数据库设计 数据库结构设计 (1) 用户表,包含的字段有:登录名、密码。 (2) 学生表,包含的字段有:学号、姓名、性别、出生日期、政治面貌、入学日期、联系电话 、 班级。 (3) 选课表,包含的字段有:学号、课程号。 (4) 课程表,包含的字段有:课程号、课程名、学时、学分、课程性质、考核方式、上课学期。 (5) 教师信息表,包含的字段有:姓名、课程号、所属系部、联系方式 、上课地点。 其 ER 模型如 图 42 所示。 手机客户端 Web服务器 数据库服务器 洛阳理工学院毕业设计(论文) 12 图 42 系统 ER 图 数据库 各表 的 设计 根据上述设计的数据库的结构,设计了名称为“移动选课系统”的数据库。 “移动选课系统”数据库有下面多个表组成,各表的命名及字段命名都是以汉字的形式来命名,各表 的 设计结果如下 : 表 41 用户表 列名 数据类型 是否为空 约束 学号 Char(9) Not null 主键 密码 Char(6) Not null 学生 选课 联系电话 课程号 m n m n 入学日期 学号 姓名 性别 班级 出生日期 政治面貌 课程 课程性质 课程性质 上 课学期 学时 课程 名 学分 开设 教师 所属系部 上课地点 联系方式 课程号 姓名 工号 洛阳理工学院毕业设计(论文) 13 表 42 学生表 列名 数据类型 是否为空 约束 学号 Char(9) Not null 主键 姓名 Nchar(5) Not null 性别 Nchar(1) Null 值为‘男’或‘女’ 出生日期 Datetime Null 政治面貌 Varchar(50) Null 默认为‘共青团员’ 入学日期 Datetime Null 联系电话 Char(15) Null 班级 Char(7) Null 表 43 选课表 列名 数据类型 是否为空 约束 学号 Nchar(9) Not null 主键、外键 课程号 Nchar(6) Not null 主键、外键 表 44 课程表 列名 数据类型 允许空 约束 课程号 Nchar(5) Not null 主键 课程名 Varchar(20) Not null 唯一 学时 Tinyint Null 学分 Tinyint Null 课程性质 Nchar(2) Null 默认为‘选修’ 考核方式 Nchar(2) Null 默认为‘考查’ 学期 Char(1) Null 洛阳理工学院毕业设计(论文) 14 表 45 教师信息表 列名 数据类型 允许空 约束 工号 Char(7) Not null 教师姓名 Nchar(5) Not null 课程 号 Char(6) Not null 外键 所属系部 Varchar(20) Null 上课地点 Varchar(10) Not null 联系方式 Char(11) Null 服务器设计 该移动选课系统的手 机客户端 采用了 Http 方式同 Web 服务器通信。 基于这个要求,在服务器端编写了 Java Servlet程序放置在名称为“ servlet”包中用以实现手机客户端采用 Http 的方式同服务器进行通信。 同时还编写了一个通过 JDBC 与数据库交互的程序放在名称为“ shujuku”的包中 以实现 Servlet 程序与数据库之间的数据交换。 Java Servlet 程序 Servlet 是一种采用 Java 来实现 CGI 功能的技术。 Servlet 本身与协议无 关 , 与 平 台 与 无 关。 对 应 的 软 件 包 有 两 个 和,通常所说的 Servlet 编程主要就是指针对 HTTP 的 Servlet编程。 Servlet 运行于 Servlet 引擎管理的 Java 虚拟机中,被来自客户端的请求所唤醒,在虚拟机中只要装载一个 Servlet 及能够处理新的请求。 Tomcat 服务器是运行 Servlet 程序的载体,在运行 Servlet 程序之前要在机器上安装好 tomcat 服务器。 这是 Servlet 运行时所需要的环境。 移动选课系统的 Servlet 程序包含 LoginServlet、 CX、 SC、 XS 和 XK五个 类,这五个类同时继承 HttpServlet 类。 这五个类的功能描述如下: 洛阳理工学院毕业设计(论文) 15 LoginServlet 类 :接收和返回用户的登陆信息。 CX 类 : 接收用户对已选课程查询的请求,给用户返回相应的数据信息。 SC 类 : 接收用户对删除已选课程的请求,给用户返回是否删除成功的相应信息。 XS 类 : 接收用户对显示所有可选课程的请求,并给用户返回相应的信息。 XK 类 : 接收用户的选课请求,给用户返回是否选课成功的相关信息。 与数据库交互的程序 与数据库的交互程序是服务器的核心程序,共包含 lianjie、 LogIn、ChaXun、 XianShi、 XuanKe 和 shanchu 六个方法。 功能描述如下: Lianjie 方法 : 通过 JDBC 与数据库进行连接连接。 LogIn 方法 : 通过与数据库的交互验证登陆者的身份是否合法。 ChaXun 方法 : 通过与数据可的交互查询出登陆的用户已经选择的课程。 XianShi 方法 : 通过与数据库的交互给登陆的用户提供可以选择的所有课程信息。 XuanKe 方法 : 通过与数据库的交互为登陆的用户保存他的选课信息。 Shanchu 方法 : 通过与数据库的交互删除登陆的用户已经选择的课程信息。 Android 客户端 设计 Android 客户端的页面设计 Android 客户端主要包括四个页面 , 登录页面、主页面、 已选课程页面以及可选课程页面。 每个页面的主要功能描述如下: 登录页面:供用户登录系统只用。 同时,检测用户输入的用户名和密码是否为空,是否合法。 主页面:该页面上列出 了若干项菜单。 以供用户选择自己要完成的事洛阳理工学院毕业设计(论文) 16 项。 已选课程页面:该页面上显示用户已经选 择 在的课程。 可选课程页面:该页面罗列出所有可以选择的课程,以供用户选择自己喜欢的课程。 其中,“课程退选” 功能 在 已 选课程页面添加一个“退选”按钮实现。 “选课” 功能 在可选课程页面中添加一个“选课” 按钮 实现。 Android 客户端各页面之间的关系 Android 客户端个页面之间的关系即客户端的结构如下图 43 所示: 图 43 客户端结构 用户主菜单 已选课程 可选课程 系统登录 洛阳理工学院毕业设计(论文) 17 第 5 章 系统的实现 客户端 的实现 系统主界面的实现 系统主界面很简介,只包含一个菜单选项,通过这个菜单导航到各个功能模块,主界面如图 51 所示: 图 51 系统主界面 主界面对应的类是 MainActivity,继承了 ListActivity 类实现一个ListView,对应的就是界面上的菜单。 在 MainActivity 中的 onCreate 方法中初始化数据。 系统登录模块的实现 系统登录模块的流程图如图 52 所示: 洛阳理工学院毕业设计(论文) 18 图 52 登录 模块流程图 当用户点击登录,若登录成功则进入如图 51 所示的系统主界面。 若用户名或密码为空则在页面上弹出相应的提示,如图 53 所示;若密码错误同样出现相应的提示。 如图 54 所示。 图 53 密码为空 登录页面 点击登录,以 URL 形式访问服务器 成功。 提示信息 失败 成功 服务器解析 URL,调用系统登录服务,返回登录结果 解析返回的结果 成功。 主界面 洛阳理工学院毕业设计(论文) 19 图 54 密码密码不正确 其中判断用户名和密码是否为空的代码如下: private boolean validate(){ String username = ().toString()。 if(()){ showDialog(用户名称是必填项。 )。 return false。 } String pwd = ().toString()。 if(()){ showDialog(用户密码是必填项。 )。 return false。 } return true。 } 判断 密码是否错误的代码如下: try { Connection con = (dbURL, userName, userPwd)。 Statement login = ()。 ResultSet yhb = (select 学号 ,密码 from 用户表 )。 while (()) { if (((学号 )) amp。 amp。 ((密码 ))) { ifdenglu = true。 ifdenglu1 = t。 break。 } } else { (用户名或密码错误,请重试。 )。 ifdenglu1 = f。 } 洛阳理工学院毕业设计(论文) 20 已选课程查询模块的实现 已选课程查询 模块的流程图如图 55 所示: 图 55 已选课程流程图 当用户点击如 51 的选课信息查询菜单后,用户进入已选课程页面如图 56 所示。 系统 主界面 点击菜单,以 URL 形式访问服务器 成功。 提示信息 失败 成功 服务器解析 URL,调用 已选课程查询 服务,返回登录结果 解析返回的结果 是否选课。 已选课程 洛阳理工学院毕业设计(论文) 21 图 56 已选课程 当该用户没有选课是页面会出现您还没有选课的提示,如图 57 所示: 图 57 未选课提示 退选模块的实现 当用户点击图 56 的退选按钮时页面会给用户以响应的提示,提示用户是否退选成功。 如图 58 所示: 图 58 退选 说明:退选模块的流程去前两个模块的相似,故在这里就不给出详细的流程图 和核心代码 , 流程图可参考图 52。 可选课程信息模块的实现 当用户点击图 51 的可选课程查询菜单后,用户进入可选课程页面,如图 59 所示,在这里用户可以浏览所有 可以选择的课程信息。 洛阳理工学院毕业设计(论文) 22 图 59 可选课程 说明:退选模块的流程去前两个模块的相似,故在这里就不给出详细的流程图 和核心代码。 流程图可参考图 52。 选课模块的实现 在如图 59 所示的用户页面中,输入要选择的课程号 ,点击选课按钮之后。 页面上会给出选课是否成功的相应提示,以便用户有相应的了解。 如图 510 和图 511 所示。 洛阳理工学院毕业设计(论文) 23 图 510 提示选课成功 图 511 提示已经选课 说明:退选模块的流程去前两个模块的相似,故在这里就不给出详细的流程图 和核心代码。 流程图可参考图 52。 服务器端的 实现。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。