基于Retrofit OkHttp网络选课APP的设计与实现.docx

上传人:李** 文档编号:48534786 上传时间:2022-10-06 格式:DOCX 页数:54 大小:1.23MB
返回 下载 相关 举报
基于Retrofit OkHttp网络选课APP的设计与实现.docx_第1页
第1页 / 共54页
基于Retrofit OkHttp网络选课APP的设计与实现.docx_第2页
第2页 / 共54页
亲,该文档总共54页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《基于Retrofit OkHttp网络选课APP的设计与实现.docx》由会员分享,可在线阅读,更多相关《基于Retrofit OkHttp网络选课APP的设计与实现.docx(54页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、基于Retrofit+OkHttp网络选课APP的设计与实现摘要:随着智能手机的普及和硬件完善,智能手机可代替电脑进行一些日常的工作和学习上的活动。网络选课由电脑网页端向手机APP端的扩展,可以使得在没有电脑的情况下学生亦可拿出随身携带的手机进行选课操作。根据本校选课期间的系统网络情况,故通过使用网络选课APP实现流量分流是本课题开展的目的。本文分析了以本校为基础开发网络选课APP的背景,并结合网络选课的实际情况简单介绍APP各功能模块、服务器的部署以及数据库的设计,侧重介绍开发工具的选择、系统调试和功能实现的过程。以Android Stdio作为网络选课APP的系统开发工具,并以MyEcli

2、pse作为服务器的开发工具。Mysql-5.7作为数据库支撑,在开发过程中使用Postman调试接口,最终以Linux系统作为服务器的部署点。网络选课APP当前只提供给学生选课使用,划分全校性选课、体育选课、课表查询等模块,管理员可开启或关闭选课。对教师的功能暂未开发。建议与对策:可根据具体应用,可将服务器部署至阿里云或本地,实现内外网访问限制。关键词:网络选课APP,Android Stdio,MyEclipse,Mysql-5.7,Linux服务器Design and implementation of Retrofit+OkHttp online APP for course selec

3、tionAbstract: With the popularization of smart phones and the improvement of hardware, smart phones can replace computers for some daily work and study activities.Online course selection is extended from the computer web page to the mobile phone APP, which can enable students to take out their mobil

4、e phones to select courses without computers.According to the system network of our school during the course selection period, the purpose of this project is to realize the flow diversion through the use of the online course selection APP.This article analyzes the background of the development of on

5、line course selection APP based on our school, and briefly introduces the APPs functional modules, server deployment and database design based on the actual situation of online course selection, focusing on the selection of development tools, system debugging and the process of function realization.

6、Android Stdio is used as the system development tool for the online course selection APP, and MyEclipse is used as the server development tool.Mysql-5.7 served as the database support, using the Postman debugging interface during development, and finally using the Linux system as the deployment poin

7、t for the server.Online course selection APP currently only provide for the use of students course selection, divide the school course, sports course and schedule query module, administrators can open or close the course.Yet the function of the teacher development. Suggestions and countermeasures: A

8、ccording to specific application, the server can be deployed to ali cloud or local, to achieve internal and external network access restrictions.Keywords:Online course selection APP, Android Stdio, MyEclipse, mysql-5.7, Linux server目 录第1章 绪 论11.1 研究背景和意义11.1.1 设计与实现网络选课APP的背景分析11.1.2 本课题的研究目的和意义11.2

9、 开发目标和开发环境21.2.1 开发目标21.2.2 开发环境2第2章 系统需求分析32.1 系统可行性分析32.1.1 技术可行性32.1.2 经济可行性32.1.3 法律可行性42.2 UML系统建模42.2.1 参与者与用例42.2.2 系统流程图42.2.3 系统用例图52.2.4 系统实现类图112.2.5 系统顺序图122.2.6 系统状态图192.2.7 系统部署图202.3 系统功能模块202.3.1 学生功能模块202.3.2 管理员功能模块212.4 系统支撑分析222.4.1 数据库支撑222.4.2 服务器支撑23第3章 系统设计243.1 用户端界面设计243.1.

10、1 登录界面243.1.2 个人信息界面243.1.3 全校性选课界面243.1.4 体育选课界面253.1.5 课表界面253.1.6 设置界面253.2 服务端接口设计263.2.1 登录接口263.2.2 获取全校性课程接口263.2.3 获取体育课程接口273.2.4 选课接口283.2.5 查看已选课程接口293.2.6 更新课程余量接口293.2.7 选课开启关闭接口303.2.8 修改密码接口313.2.9 注册接口313.3 数据库设计323.3.1 数据库E-R图设计323.3.2 数据表设计32第4章 系统实现354.1 注册354.2 登录354.2.1 学生登录354.

11、2.2 管理员登录364.3 获取全校性课程列表374.4 获取体育课程列表374.5 选择课程384.6 查看已选课程394.7 修改密码394.8 选课状态40第5章 系统运行测试与维护425.1 运行环境425.2 测试与维护425.2.1 学生功能模块测试425.2.2 管理员功能模块测试445.2.3 系统维护45结束语46参考文献:47致 谢49第1章 绪 论1.1 研究背景和意义1.1.1 设计与实现网络选课APP的背景分析5G网络的到来,随即而来的是在不久后将会得到大范围的覆盖,高速率是它的代名词。这是一个移动互联网的时代,APP的开发和使用自然也会成为移动互联网时代下的一个趋

12、势,APP是移动互联网的必备工具,是一个时代的主流。现在大家最不缺的就是那移动设备智能手机。APP只需要安装在手机上,需要时打开,不需要时关闭,方便操作于掌心之上。所以APP面向的用户范围更广,单方面在学生这一个群体来说,占有的比例也是很高的,那么对于设计一个网络选课APP是更加适用于学生的需求。一方面来说,手机的操作简单易懂;另一方面手机随身携带方便课程的即时查询,课程的即时选择等。相对于现有的web端选课系统,需要学生坐在电脑前。当然有人说现在有笔记本电脑呀,选课一样是很方便的。但是我们可以对比一下手机的尺寸比例不是更加便捷吗?还有人说手机也是可以做到适应web端的系统页面进行选课等操作,

13、但是有过亲身经历的同学很清楚的知道,手机的屏幕根本不可以完全展示系统的全部内容,需要用户去滑动界面一点一点的看,那么对用户的体验效果就不是很好了。所以总结下来,一个网络选课APP可以简洁而明了的展示课程内容,方便同学们一键选取自己所喜欢的课程。网络选课APP是从繁到简的发展的主流。1.1.2 本课题的研究目的和意义当前网络选课APP以松田学院为例,为学生网络选课提供多一个途径。作为松田的学生应该清楚的知道,只要是选课时间开启,所有到时间选课的学生一并涌入教务系统,学校的网页版教务系统便会出现瘫痪,500警告!网站无法承受如此高的并发量,导致学生们的抱怨的声音不断。由此,便产生了设计此款网络选课

14、APP的想法,这便是开发该APP的意义所在。让学生们不单单只能是通过教务系统去选课,还可以通过网络选课APP去选课。让人流量实现分流,缓解教务系统网站的压力。1.2 开发目标和开发环境1.2.1 开发目标登录模块:提供两个身份登录,分别为学生和管理员。(因教师功能暂未实现,所以登录模块的教师按钮未开放)全校性选课模块:可查看全部课程(不包括体育课)。体育选课模块:提供可选的体育课程。课表模块:学生可查看自己已选好的课程列表。设置模块:可修改用户密码。选课控制:管理员可关闭和开启选课功能。超新星网按钮:提供了超新星网的跳转链接,可登录进行在线网络课的学习。教务系统按钮:提供了松田学院的跳转链接,

15、可登录查看学校发布的详细信息。账号注册功能:提供注册账号功能,默认注册账号为学生账号,以学生身份登录。1.2.2 开发环境采用面向对象的开发方法,网络选课APP在Windows10操作系统上安装开发工具,Android Stdio作为APP主体框架实现的开发工具,MyEclipse作为实现APP服务器的开发工具。运行服务器代码的容器为Tomcat8.5。第2章 系统需求分析2.1 系统可行性分析2.1.1 技术可行性选课app包含注册、登录、选课、课表等一些简单的功能,布局上主要采用线性布局嵌套滑动的方式,通过recyclerview来显示列表可以实现选课列表和查看课表的功能,选课通过封装底部

16、弹窗的方法实现;而登录和注册主要是用edittext作为输入框,通过后台提供的接口来对token进行验证从而实现登录、注册。总体上采用MVP设计框架,初衷是为了逻辑的简洁和降低代码耦合,将activity中的网络请求剥离出来成为model、presenter,前者负责网络的请求,后者负责处理网络请求后的数据处理,最后view进行界面的展示。网络框架采用Rxjava结合retrofit进行开发,rxjava简单来说是一种观察者模式的运用,Observable通过创建生产对象,重写onsubscribe方法来进行传递消息,onNext方法里进行主线程的回调;同时retrofit是一个优秀的http

17、开源框架,本质上是okhttp进行网络请求,retrofit进行封装网络接口,解析器我这里选择了LoganSquare,能很快速的解析复杂格式的json报文,以上rxjava+retrofit+mvp结合能快速开发系统所需功能。2.1.2 经济可行性考虑了经济方面,公众号特别的麻烦,需要走程序去申请,即使个人的不需要花钱,但是想认证的话那就需要花钱了。所以做一个APP是非常合适的,不需要申请,不需要申请程序。那么服务器后台的话,可采取电脑本地安装Linux系统,然后在该系统上搭建一个服务器。当然,本地服务器的话那么就不可以通过互联网去访问了,手机的APP网络只能跟服务器在同一网段。解决这个问题

18、也很简单。现在学生在阿里云上租用一个Linux服务器(基本配置就足够了)也是很便宜。2.1.3 法律可行性本APP是参考松田学院的教务系统大概的需求去设计开发实现的,不存在侵权可能性,也同时调查过该类APP的情况,基本是以具体学校为基础而开发。该APP符合法律可行,课程等数据信息是自行设计的模拟数据,无侵害他人利益。2.2 UML系统建模2.2.1 参与者与用例(1)网络选课APP的参与者有学生、管理员、教师(未开放)。(2)根据功能可分为以下用例:注册账号、学生登录、全校性选课、体育选课、查看已选课程、修改密码、退出登录、管理员登录、关闭选课、开启选课。2.2.2 系统流程图打开网络选课AP

19、P,进入登录界面。该页面提供登录和学生注册功能。可以以学生和管理员身份登录,教师功能暂未开放。(1)以学生身份登录后,有全校性选课和体育选课,进入后可显示各类型的课程,两个类别的课程搭配至3门后会限制选课,在课表中可查看已选的课程。学生可对自己的账号进行密码修改。(2)以管理员身份登录后,可进行课程的控制设置。有开启和关闭选课的权限。关闭后,学生则不可选课。(3)课程数据和账号密码数据均与后台数据库关联,课程选择后,余量会相应减一,并且加入到某一账号的课程列表,如图2-1所示。图2-1 网络选课流程图2.2.3 系统用例图1. 学生功能用例图如图2-2所示,为学生的用例图,分别是学生登录、全校

20、性选课、体育选课、查看已选课程、修改密码、退出登录。图2-2 学生功能用例图如表2-1所示,该用例主要功能是实现学生登录功能,起始于学生的登录。列出字段和基本路径等要素。表2-1 学生登录用例规约表用例编号U001用例名称学生登录功能描述以学生身份登录,输入账号密码,点击学生单选按钮,确认登录执行者学生前置条件打开网络选课APP后置条件登录成功,显示学生界面涉众利益学生基本路径打开网络选课APP。输入账号。输入密码。点击学生按钮。点击登录。字段列表用户名、用户密码、用户账号、角色身份等业务规则用户账号为学号备注无如表2-2所示,该用例主要功能是实现全校性类别选课的功能,起始于学生进入全校性选课

21、的列表。列出课程信息等字段和基本规则等要素。表2-2 全校性选课用例规约表用例编号U002用例名称全校性选课功能描述显示所有课程(不包括体育课)执行者学生前置条件打开全校性选课界面后置条件显示所有课程涉众利益学生基本路径点击进入全校性选课区。滑动查看课程列表。选择点击喜欢课程。进入该课程详细信息界面。确认选择该课程,自动刷新显示已选自动返回可继续选择其他课程。字段列表课程名称,课程类别,上课地点,上课时间,任课老师,课程余量等。业务规则课程余量为零不可选,且上课时间不可冲突。全校性选课和体育选课总数小于等于3。备注无如表2-3所示,该用例主要功能是实现体育类别选课的功能,起始于学生进入体育性选

22、课的列表。列出课程信息等字段和基本规则等要素。表2-3 体育选课用例规约表用例编号U003用例名称体育选课功能描述显示所有体育类课程提供选择。执行者学生前置条件打开体育选课界面后置条件显示体育课程涉众利益学生基本路径点击进入体育选课区滑动查看课程列表选择点击喜欢课程进入该课程详细信息界面确认选择该课程,自动刷新显示已选自动返回可继续选择其他课程字段列表课程名称,课程类别,上课地点,上课时间,任课老师,课程余量等。业务规则课程余量为零不可选,且上课时间不可冲突。全校性选课和体育选课总数小于等于3。备注无如表2-4所示,该用例主要功能是实现查看已经选择的课程功能,起始于学生完成选课。列出课程信息等

23、字段和基本规则等要素。表2-4 查看已选课程用例规约表用例编号U004用例名称查看已选课程功能描述可以查看当前选定的课程,包括课程的一些详细信息。执行者学生前置条件已经选课成功后置条件显示已选课程涉众利益学生基本路径点击进入我的课表显示已选课程详细信息扩展字段列表课程名称、上课时间、上课地点、任课老师业务规则备注无如表2-5所示,该用例主要功能是实现学生在登录后可进行密码修改的功能,起始于学生进入设置功能,选择修改密码。列出账号字段和基本规则等要素。表2-5 修改密码用例规约表用例编号U005用例名称修改密码功能描述注册后或之后可随意自行修改密码执行者学生前置条件点击修改密码后置条件修改成功涉

24、众利益学生基本路径打开设置点击修改密码自动带入自身账号输入新密码再次输入确认密码点击确定两次密码校验正确修改成功两次输入的密码不一致修改失败字段列表账号、密码业务规则密码不可输入文字,数字或字母限制为6-16位备注无如表2-6所示,该用例主要功能是实现账号退出登录的功能,起始于学生点击退出登录按钮。弹窗显示是否确认退出登录。表2-6 退出登录用例规约表用例编号U006用例名称退出登录功能描述点击退出登录按钮,可将账号退出进行重新登录。执行者学生前置条件当前在学生界面后置条件退出成功,显示登录界面涉众利益学生基本路径点击退出登录按钮弹出是否注销提示框确定取消返回登录界面字段列表用户名、用户密码、

25、用户账号、角色身份等业务规则若不退出账号直接关闭APP,下次打开时直接默认成功登录状态。备注无2. 管理员功能用例图如图2-3所示,为管理员的用例图,分别是管理员登录、关闭选课、开启选课、退出登录。图2-3 管理员功能用例图如表2-7所示,该用例主要功能是实现管理员登录功能,起始于管理员的登录。列出账号密码身份等字段和进行基本路径等要素。表2-7 管理员登录用例规约表用例编号U007用例名称管理员登录功能描述以管理员身份登录,输入账号密码,点击管理员单选按钮,确认登录。执行者管理员前置条件打开网络选课APP后置条件登陆成功,显示管理员界面涉众利益管理员基本路径打开网络选课APP。输入账号。输入

26、密码。点击管理员按钮。点击登录。字段列表用户名、用户密码、用户账号、角色身份等业务规则用户账号为管理员专属账号备注无如表2-8所示,该用例主要功能是实现管理员关闭选课的功能,起始于进入选课控制系统,点击关闭。列出控制选课的字段和基本路径等要素。表2-8 关闭选课用例规约表用例编号U008用例名称关闭选课功能描述管理员登录后可将课程关闭,学生不可选课。执行者管理员前置条件管理员登录后进入课程控制后置条件关闭选课成功涉众利益管理员、学生基本路径点击课程控制显示关闭选课按钮点击关闭选课已关闭字段列表Status业务规则备注无如表2-9所示,该用例主要功能是实现管理员开启选课的功能,起始于进入选课控制

27、系统,点击开启。列出控制选课的字段和基本路径等要素。表2-9 开启选课用例规约表用例编号U009用例名称开启选课功能描述管理员登录后可将课程开启,学生可以选课。执行者管理员前置条件管理员登录后进入课程控制后置条件开启选课成功涉众利益管理员、学生基本路径点击课程控制显示开启选课按钮点击开启选课已开启字段列表Status业务规则备注无如表2-10所示,该用例主要功能是实现账号退出登录的功能,起始于管理员点击退出登录按钮。弹窗显示是否确认退出登录。表2-10 退出登录用例规约表用例编号U010用例名称退出登录功能描述点击退出登录按钮,可将账号退出进行重新登录。执行者管理员前置条件当前在管理员界面后置

28、条件退出成功,显示登录界面涉众利益管理员基本路径点击退出登录按钮弹出是否注销提示框确定取消返回登录界面字段列表用户名、用户密码、用户账号、角色身份等业务规则备注无2.2.4 系统实现类图1. 学生实现类图如图2-4所示,是学生的实现类图,画出了学生与课程和界面的关联关系,学生下实现了全校性选课、体育选课、课表查询、设置修改密码等功能。所有数据与数据库后台关联着。图2-4 学生实现类图2. 管理员实现类图如图2-5所示,是管理员的实现类图,画出了管理员和课程之间可控制的关联关系,管理员下实现了开启和关闭选课的功能。课程状态值与数据库后台关联着,根据开启和关闭修改数据库的课程状态值。图2-5 管理

29、员实现类图2.2.5 系统顺序图1. 学生登录顺序图如图2-6所示,为学生登录的顺序图,输出密码和账号,选择登录身份后,点击登录。成功后进入学生个人信息界面。根据系统功能实现操作步骤列出以下的分点执行步骤,根据步骤画出登录功能的顺序图。打开登录界面输入账号输入密码点击学生按钮点击登录密码错误登录失败密码正确登录成功图2-6 学生登录顺序图2. 全校性选课顺序图如图2-7所示,为学生全校性选课的顺序图,根据选课功能实现操作步骤列出以下的分点执行步骤,根据选课规则条件进行限制,根据步骤画出全校性选课功能的顺序图。点击进入全校性选课区。滑动查看课程列表。选择点击喜欢课程。进入该课程详细信息界面。确认

30、选择该课程,课程时间冲突,选课失败选课成功,更新用户信息表,自动刷新显示已选自动返回可继续选择其他课程。若未满三节课,可继续选择若第二第三门与之前课程时间冲突,则不可选若已满,刷新显示已满三门课程若已满,点击课程列表会显示选课进度已完成图2-7 全校性选课顺序图3. 体育选课顺序图如图2-8所示,为学生体育性选课的顺序图,根据选课功能实现操作步骤列出以下的分点执行步骤,根据选课规则条件进行限制,根据步骤画出全校性选课功能的顺序图。点击进入体育选课区。滑动查看课程列表。选择点击喜欢课程。进入该课程详细信息界面。确认选择该课程,自动刷新显示已选自动返回可继续选择其他课程。若未满三节课,可继续选择若

31、第二第三门与之前课程时间冲突,则不可选若已满,刷新显示已满三门课程若已满,点击课程列表会显示选课进度已完成图2-8 体育选课顺序图4. 查看已选课程顺序图如图2-9所示,为学生查看已选课程的顺序图,点击进入我的课表之后,显示当前所选的课程,或者没有选课,则显示暂无数据。根据功能实现操作步骤列出以下的分点执行步骤,根据以下步骤画出查看已选课程功能的顺序图。点击进入我的课表若已选有课程显示当前已选课程信息若未有选课显示暂无数据图2-9 查看已选课程顺序图5. 修改密码顺序图如图2-10所示,为学生修改密码的顺序图,登录成功后进入设置界面选择修改密码功能,输入新密码和校验密码,通过后显示修改成功。根

32、据修改密码功能实现操作步骤列出以下的分点执行步骤,根据步骤画出修改密码功能的顺序图。打开设置点击修改密码自动带入自身账号输入新密码再次输入确认密码点击确定两次密码校验正确修改成功两次输入的密码不一致修改失败图2-10 修改密码顺序图6. 学生退出登录顺序图如图2-11所示,为学生退出账号登录的顺序图,点击退出账号后选择确认或者取消。确认后返回登录界面,取消则停留在当前页面。根据选课功能实现操作步骤列出以下的分点执行步骤,根据步骤画出退出登录功能的顺序图。点击退出登录按钮弹出是否注销提示框确定取消返回登录界面图2-11 学生退出登录顺序图7. 管理员登录顺序图如图2-12所示,为管理员登录的顺序

33、图,输出密码和账号,选择登录身份后,点击登录。成功后进入管理员个人信息界面。根据系统功能实现操作步骤列出以下的分点执行步骤,根据步骤画出登录功能的顺序图。打开登录界面输入账号输入密码点击管理员按钮点击登录密码错误登录失败密码正确登录成功图2-12 管理员登录顺序图8. 关闭选课顺序图如图2-13所示,为管理员控制关闭选课的顺序图,进入选课控制系统,点击关闭选课,修改数据库的课程状态值,显示课程已关闭。根据关闭选课功能实现操作步骤列出以下的分点执行步骤,根据步骤画出关闭选课功能的顺序图。点击课程控制显示关闭选课按钮点击关闭选课已关闭图2-13 关闭选课顺序图9. 开启选课顺序图如图2-14所示,

34、为管理员控制开启选课的顺序图,进入选课控制系统,点击开启选课,修改数据库的课程状态值,显示课程已开启。根据开启选课功能实现操作步骤列出以下的分点执行步骤,根据步骤画出开启选课功能的顺序图。点击课程控制显示开启选课按钮点击开启选课已开启图2-14 开启选课顺序图10. 管理员退出登录顺序图如图2-15所示,为管理员退出账号登录的顺序图,点击退出账号后选择确认或者取消。确认后返回登录界面,取消则停留在当前页面。根据选课功能实现操作步骤列出以下的分点执行步骤,根据步骤画出退出登录功能的顺序图。点击退出登录按钮弹出是否注销提示框确定取消返回登录界面图2-15 管理员退出登录顺序图2.2.6 系统状态图

35、1. 课程的状态图如图2-16所示,当学生登录后,进入全校性或者体育选课,可看到当前的课程状态,若是被他人选满的课程,则会显示红色已满状态字样,则为不可选。若对其他进行选择,选定后课程刷新为已选状态显示绿色字样,则为已选定成功。图2-16 程状态图2. 选课状态图如图2-17所示,当管理员登录后,可以对课程进行开放和关闭操作。若当前为开放状态,学生可以进行选课;若当前为关闭状态,学生不可以进行选课。图2-17 选课状态图2.2.7 系统部署图如图2-18所示,以tomcat容器为服务端的承载,部署在Centos服务器上,数据库作为源数据的支撑。客户端访问服务由服务器提供,数据获取经过服务接口拉

36、取数据库数据。回显结果到客户端上。图2-18 系统部署图 2.3 系统功能模块2.3.1 学生功能模块学生功能模块如图2-19所示。图2-19学生功能模块图(1)注册账号:APP提供新用户注册功能,注册的账号默认为学生账号。学生登录:APP提供了学生登录功能,在输入账号和密码后,选择学生身份进行登录。(2)全校性选课:在以学生身份登录后,可进行全校性选课的操作,点击该功能可显示课程列表。点击某一课程弹窗显示该课程详细信息,可进行选定操作。(3)体育选课:在以学生身份登录后,可进行体育选课的操作,点击该功能可显示体育课程列表。点击某一课程弹窗显示该课程详细信息,可进行选定操作。(4)已选课程查询

37、:在以学生身份登录后,可进行查看已选的课程,点击该功能可显示已选的课程。(5)修改密码:在以学生身份登录后,可点击去到设置选项,可进行密码修改。(6)退出登录:点击退出登录按钮,弹框显示是否退出,可选确认或取消。2.3.2 管理员功能模块管理员功能模块如图2-20所示。图2-20 管理员功能模块图(1)管理员登录:APP提供了管理员登录功能,在输入账号和密码后,选择管理员身份进行登录。(2)关闭选课:在以管理员身份登录后,可进行关闭选课。(3)开启选课:在以管理员身份登录后,可进行开启选课。(4)修改密码:在以管理员身份登录后,可点击去到设置选项,可进行密码修改。(5)退出登录:点击退出登录按

38、钮,弹框显示是否退出,可选确认或取消。2.4 系统支撑分析2.4.1 数据库支撑MySQL作为一个关系型的数据库管理系统,它的SQL 语言是用于访问数据库最常用的标准化语言。由于 MySQL 数据库体积小、速度快、总体拥有成本低、开放源代码,其有着广泛的应用。提供 TCP/IP、ODBC 和 JDBC 等多种数据库连接途径。提供用于管理、检查、优化数据库操作的管理工具。本APP数据存储便是使用了Mysql-5.7.25数据库版本,同时使用Navicat Premium 12工具进行对数据库的创建等操作。采用了JDBC的数据库连接方式对数据库进行访问和数据读取。2.4.2 服务器支撑根据某些用U

39、buntu和Centos测试调查中发现,Centos非常稳定,不会出现死机,但是Ubuntu的表现就不那么如意了,经常莫名奇妙就宕机还不报错,让人非常头疼,这也便是很多互联网公司租用Centos作为服务器的原因了。所以我选取了Centos7.7作为网络选课APP后台的支撑服务器,并在服务器上安装上述所说的Mysql-5.7.25数据库。同时还需要安装配置一个Tomcat容器,这里我选择了Tomcat8.5,由MyEclipse打成war包上传至服务器运行,即可完成一个完整的服务器后台支撑。因为服务器是当前公司正在使用的测试环境,所以限制端口问题,配置了nginx进行代理映射。Tomcat容器使

40、用8005端口,通过80端口进出访问。第3章 系统设计3.1 用户端界面设计3.1.1 登录界面仿常用软件登录界面设计思路,采用线性布局的方式,通过EditText,RaidoGroup,button等控件进行排版页面。从整体上采用嵌套滑动结合smallestWidth的适配方案,避免了因不同分辨率手机造成控件排布错乱等问题。页面集成MVP的设计模式,通过present从model 层拿取后台Login接口的实体类数据,并通过view以及接口的形式应用到UI层,来管理界面的状态。这样做的主要优势是降低代码耦合,从present处理页面逻辑,不再与安卓Framework的类等关联,便于单元测试。

41、通过TextUtils工具类进行账号密码输入框是否为空的判断,接口采用rxjava+retrofit的形式进行异步,主线程回调。3.1.2 个人信息界面采用线性布局外层嵌套滑动的方式,同时使用仿苹果界面滑动效果代替上拉加载下拉刷新 的操作界面上分为四个部分,分别为全校性选课、体育选课、课表查询、个人设置等依次排列,以安卓原生沉浸式的点击效果,使界面简洁易操作界面数据通过接口动态获取,采用异步的方式加载页面3.1.3 全校性选课界面页面由一个recyclerview结合SmartRefreshLayout构成,通过封装好的CommonAdapter适配器,继承MultiItemTypeAdapt

42、er的方法来显示列表。点击事件处理采用底部弹窗的方式,并设置弹出效果。数据方面通过present类异步调用后台接口,以接口形式进行界面交互在回调的方法进行数据刷新重绘,同时结合SmartRefreshLayout等控件实现自主、自动刷新3.1.4 体育选课界面3.1.5 课表界面recyclerview的线性布局,与其他页面不同的是,这里的recyclerview采用了多布局方式,在没有数据时,显示loading状态而在有数据时,在回调成功的方法里进行列表的刷新方法,从而保证界面流畅。两种布局方法通过封装的addItemViewDelegate进行设置,如图3-1所示。图3-1 课表实现代码图

43、3.1.6 设置界面采用LinearLayout线性布局下包含RelativeLayout相对布局,包含三个功能,监听修改密码点击事件,跳转密码修改。获取当前账号信息。3.2 服务端接口设计3.2.1 登录接口Postman(post请求)登录接口url:http:/47.107.240.116/suyufeng/servlet/Login涉及登录参数:Account(账号)、Pwd(密码)、PartnerId(身份标识)涉及数据库字段:user_Account、Pwd、Identity通过服务端的sql语句进行参数判断:String sql = select * from user_info

44、rmation where user_Account = ? and Pwd = ? and Identity = ?;登录接口,如图3-2所示。图3-2 登陆接口图3.2.2 获取全校性课程接口Postman(post请求)获取全校性课程列表接口url:http:/47.107.240.116/suyufeng/servlet/WholeSInfo涉及数据库主要字段:course_Id、course_Name、course_Type、address、time、optional_teacher、margin通过服务端的sql语句进行查询:String sql = select * from p

45、ublic_course;获取全校性课程接口如图3-3所示。图3-3 获取全校性课程列表接口图3.2.3 获取体育课程接口Postman(post请求)获取体育课程列表接口url:http:/47.107.240.116/suyufeng/servlet/PEInfo涉及数据库主要字段:course_Id、course_Name、course_Type、address、time、optional_teacher、margin通过服务端的sql语句进行查询:String sql = select * from physical_education;获取体育课程列表接口,如图3-4所示。图3-4 获取体育课程列表接口图3.2.4 选课接

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁