基于Android的移动教务综合系统
2017-02-27王佳伟韩港成康晓凤
史 渊,王佳伟,阮 阳,吴 楠,韩港成,康晓凤
(徐州工程学院信电工程学院,江苏 徐州 221000)
基于Android的移动教务综合系统
史 渊,王佳伟,阮 阳,吴 楠,韩港成,康晓凤
(徐州工程学院信电工程学院,江苏 徐州 221000)
随着互联网技术的发展与推广,诸如URP、正方等教务管理系统应运而生。但是该系统的很多操作诸如选课以及成绩查询等功能只能在PC端的特定浏览器上运行,给教师和学生的使用带来了极大的不便,例如,在一些浏览器中打开教务系统后无法进行后续操作;无法在移动端登陆教务系统进行选课以及查询等操作。基于上述背景,通过移动端的模拟登陆,设计并实现一套功能完善的基于Android的移动教务综合系统。
计算机软件;移动教务系统;模拟访问;Android
0 引言
随着互联网技术的发展与推广,诸如URP、正方等教务管理系统应运而生。但是该系统的很多操作诸如选课以及成绩查询等功能只能在PC端的特定浏览器上运行,给教师和学生的使用带来了极大的不便,该课题就是为了解决这一问题而设计开发一个基于Android的移动教务综合系统。该系统利用Okhttp、Jsoup和网络爬虫等技术进行实现。使用该系统可以在移动终端实现教务系统的基本操作,同时可以实现对系统用户弱口令的完善和针对用户进行系统新闻、成绩信息的推送等功能。
1 系统设计方案
系统根据需求共分为四层。第一层为网络通信层,包括一些网络的链接以及通信操作。第二层为数据操作层,包括一些数据的获取操作。第三层为业务逻辑层。第四层为用户交互层[1]。系统主要使用Android Studio开发,采用java语言实现。通过Okhttp和Jsoup实现模拟登录以及各种信息的获取。如图1系统架构设计图所示。
本系统主要包括学校选择模块,系统登录模块,个人信息模块,成绩查询模块,课程查询模块,教学评估模块,选课模块以及信息推送模块。通过这
些模块从而实现系统的登录,查看个人信息、课程信息、成绩信息,课程选择以及教学评估等功能。
图1 系统架构设计图
2 系统的主要功能及实现
2.1 核心功能实现原理
本系统的业务实现核心是对教务系统的模拟访问,从而实现一个轻量级的移动端教务管理系统。使用Android studio[2]进行开发,主要通过Okhttp进行网络通信,使用jsop解析页面。
Okhttp是Android端的一个Http客户端,其基础功能相当于Android自带的HttpURLConnection和Apache HTTP Client,但他却比自带的2个Http客户端优越很多,一者是写法简单,二者okhttp处理很多网络复杂问题,如会从很多常用的连接问题中自动恢复。如果您的服务器配置了多个IP地址,当第一个IP连接失败的时候,OkHttp会自动尝试下一个IP。OkHttp还处理了代理服务器问题和SSL握手失败等等很多问题。
jsoup 是一款Java的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的 API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据。
2.2.1 学校选择模块
学校选择模块通过Card View展示了目前支持的多所学校以及触发式(点击左下角readme)的学校简介[3],系统将根据用户的选择在网络通信层进行相应的url配置。
学校的不同导致了教务系统的差异,通过用户的选择,系统将在网络通信层选择封装好的相应学校的教务系统url以及各种信息查询的url进行配置与连接。为了防止出现网络无法连接的情况导致后续异常,系统在加载界面将进行网络连接的检测,如果无法连接至网络系统将给出提示并回到桌面。学校选择模块如图2所示。
2.2.2 系统登录模块
在一般的教务系统中,通常是通过用户名密码以及验证码三个字段对用户登录进行校验。但是在个别教务系统中可能会添加其他字段进行校验。
针对不同的教务系统进行抓包分析出验证登录所需的字段[4],在用户进行访问时通过在学校选择模块进行的学校选择需要赋值的字段,根据用户的输入赋值后,使用okhttp将字段post进行验证,根据服务器端的返回包分析对用户进行提示[5]。从而实现教务系统的模拟登录。
如图3所示为系统登录模块实现效果。
图2 学校选择模块
图3 系统登录模块
2.2.3 个人信息模块
教务系统一般都有一个个人信息页面,页面中以表格形式内嵌一个页面显示学生相关的各类信息[6]。个人信息模块主要是获取个人信息,并将获取到的信息保存,在需要的地方进行调用。
该功能主要通过jsoup解析html后将解析结果保存到应用程序根目录下,在导航菜单以及个人信息管理菜单处再从本地获取信息,通过业务逻辑层的算法优化以及数据整理,将数据反馈给用户。
如图4所示为个人信息模块。
图4 个人信息模块
2.2.4 成绩查询模块
成绩查询模块,通过Jsoup解析教务系统相关成绩页面的html,将数据抓取出来后以xml文件的格式保存在本地[7]。
抓取后的xml文档中包含大量的数据,数据通过业务逻辑层的整理分类之后选取需要的成绩信息显示给用户。
如图5所示为成绩查询模块。
图5 成绩查询模块
2.2.5 课程查询模块
基于用户体验的角度,如今的教务管理系统,一般将课程信息以课程表的形式显示。
通过抓包分析得知教务系统获取课程信息的get请求,得到相应的url,再通过jsoup解析该url得到相应的具体数据。经过业务逻辑层整理以课程表的形式回显给用户。
如图6为课程查询模块
2.2.6 教学评估模块
该模块模拟正常的评估流程,首先post一次后,获取评估页面的list,通过jsoup解析后,获取相应字段,对‘wjbm’,‘bpr’,‘pgnr’等代表课程信息字段和各个评分字段进行赋值后组包,再次post实现评估。
图6 课程查询模块
2.2.7 选课模块
该模块主要通过获取教务系统中提供的选课信息,将选课信息整理为列表提供给用户,用户选择后,根据选择进行组包并post到相应的url实现选课功能。 选课模块同时包含退课功能,通过jsoup解析已选课程界面得到用户已经选择的课程,在用户选择退课时,后台将课程编号等字段组包post给教务系统相应的url从而实现退课功能。
2.2.8 信息推送模块
信息推送模块,主要是在用户完成登录后进入的主界面对用户进行一些时事新闻以及教务信息的推送[8]。
信息的获取主要通过两大渠道,一是教务平台的通知界面。二是通过网络爬虫[9]从各大新闻门户网站抓取一些相关新闻。
3 结语
本系统是在充分研究了Okhttp,Jsoup,Android平台网络通信及界面开发的基础上,设计实现的一个界面友好,使用方便,安全可靠的移动教务综合系统。主要实现了针对urp教务系统和正方教务系统的个人信息查询,成绩查询,密码修改,选课,教学评估等功能。本系统打破了教务系统只能在pc端登录的局限性,方便了学生的学习生活。
图7 为信息推送模块
[1] 高焕堂. Google Android应用框架原理与程序设计36计[M]. Misoo, 2010: 8-13.
[2] 李刚. 疯狂Android讲义[M]. 电子工业出版社, 2013.
[3] 张幸芝, 徐东东, 贾菲. 基于响应式Web 设计的教务系统移动平台研究与建设[J]. 软件, 2013, 34(6): 5-7.
[4] 谢希仁. 计算机网络[M]. 电子工业出版社, 2013.
[5] 荣艳冬. Android软件权限系统的设计与实现[J]. 软件, 2014, 35(2): 50-51.
[6] 隋雪莉, 许鸣, 刘威, 等. 基于Android平台的移动教务系统的研究[J]. 软件, 2014, 35(8): 38-41.
[7] 赵哲, 宋俊德, 鄂海红. 基于Android平台的移动应用构建研究与设计[J]. 新型工业化,
[8] 卢娜. 基于Android平台的手机桌面资讯系统的设计与实现[M]. 西安电子科技大学, 2011: 290-300.
[9] 郭世龙, 王晨升. 主题爬虫设计与实现[J]. 软件, 2013, 34(12): 107-109.
Mobile Educational Administration Integrated System Based on Android
SHI Yuan, WANG Jia-wei, RUAN Yang, WU Nang, HAN Gang-cheng, KANG Xiao-feng
(Xuzhou Institute of Technology, Xuzhou, Jiangsu 221000, China)
With the development of Internet technology and promotion, such as URP, Zhengfang, and other educational management system came into being. However, many of the functions of the system, such as course selection and performance inquiry, can only be run on a specific browser on the PC side. This has caused great inconvenience to teachers and students. For example, after opening the educational administration system in some browsers. The follow-up operation; can not log on the mobile end of the Senate system, such as elective and query operations. Based on the above background, through the mobile terminal of the simulated landing, design and implementation of a complete set of Android-based mobile academic integrated system.
Computer software; Mobile education system; Analog access; Android
TP311
A
10.3969/j.issn.1003-6970.2017.01.027
史渊(1996-),男,江苏常州人,徐州工程学院信电工程学院学生,研究方向为信息安全;王佳伟(1996-),男,江苏扬州人,徐州工程学院信电工程学院学生,研究方向为信息安全;阮阳(1996-),男,江苏常州人,徐州工程学院信电工程学院学生,研究方向为信息安全;吴楠(1994-),女,江苏泰州人,徐州工程学院信电工程学院学生,研究方向为信息安全;韩港成(1997-),男,江苏宿迁人,徐州工程学院信电工程学院学生,研究方向为信息安全;康晓凤(1978-),女,江苏徐州人,徐州工程学院信电工程学院副教授,研究方向为信息安全。
本文著录格式:史渊,王佳伟,阮阳,等. 基于Android的移动教务综合系统[J]. 软件,2017,38(1):127-130