写本博客的原因
其实这个项目很早前我就做完了,当时由于·时间仓促,仅在csdn上传了打包后的程序:点击下载,没想到陆陆续续有校友找到了我,这让我受宠若惊,恰巧暑假放假在家,我觉得对此有写一篇博客的必要了,一者:能够有更好的传播效应,二来:于我自己而言,也是归纳和总结。
项目主要代码解析
主要架构如图
util包:
Constant.java:存放一些常量,如登录账户和密码。
DataViewerUtil.java:把成绩可视化成折线图的工具,运行完程序后,会在工程目录下生成一个名为scores.html的文件,双击用浏览器打开,会得到如下效果:
ps:本人是典型的学渣~~,勿喷。
FileUtil.java:读写文件工具类,比如读取已保存的账号和密码,写新成绩!
NetUtil.java:网络相关工具类,可以说是这个程序的核心所在,用HttpURLConnection类打开输出流读取数据,然后用Jsoup框架进行解析,解析过程当时我是查阅了菜鸟教程里的正则表达式和选择器语法。
View包:
loginUI.java:登录界面,程序的入口类。
点击确定,信息准确无误后,爬取数据、解析,最后用ScroesUI.java展示
default包:
QueruRunner.java:成绩轮询类,运行过一次LoginUI.java后,再运行该类并挂在后台,一旦教务系统有新成绩,就会弹出一个提示框,然后打开成绩展示界面。
后话:
源代码里有详实的代码注释,在此不再赘述,工程所有源代码均已开源至GitHub,源代码,欢迎赏star;有问题欢迎评论哈。