ElectsysBot上海交大教学信息同步到Google日历工具

上一篇分析完了GoogleCalendar的API方法..这一篇咱就来实践一把..

软件功能:

1)查看用户提供的Electsys用户内的课程表和考试安排.

2)将课程表和考试安排转换成Google日历事件并同步到用户提供的Google帐户日历.

 

软件实现方法:

1)利用用户提供的账户登录教学信息服务网..并从课程表和考试安排的网页上将有效信息扒下来..这一步涉及到对教学信息服务网这个网站的网页的分析来实现网页抓取的功能..总体来说这个网站算是非常简单的..不需多说..

2)然后是从网页中分离出有效信息的方法..可以使用诸如parseHTML等库(或软件)来分析html页..但是鉴于这些网站比较简单..最后自己写了点正则表达式来匹配..从中发现很多问题..比较烦..早知道还是用软件好..例如网页写的不规范..有些甚至可以说是莫名其妙..比如..大家可以看出以下2个时间的区别吗:

08:00      /      08:00

呵呵..

3)将信息转化成Google日历事件..利用上一篇中提到的2种createEvent的方法来实现..现在知道为什么会有2种了吧..因为一开始我用的就是createEventWhen的方法..简单嘛..后来发现不行啊..一节课都是重复发生的..我却要一学期添加成18个事件..这样一学期下来...10来门课..总共有200+个Event呀..要上传添加10分钟..太跨张了..所以一咬牙..花了一下午研究Recurrence..终于把Event降到了20个..呵呵..那就差不多了...

4)将Event上传到Google日历..这一点..也可以很方便的用上文中所提到的各种基本接口来解决..

5)可视化的管理界面...可以加密保存用户的账户信息..可以删除通过本软件添加的日历条目..

 

软件使用方法:

1)要使用软件的功能,必须先登录到指定的帐户.在登录界面中:有2组帐户需要登录,分别是Electsys的帐号和Google的帐号.登录了Electsys就可以查看课程表和考试安排的信息了.登录了Google帐号就可以将信息添加到Google日历了.Google帐号的地方请填写你的完整的Gmail地址..

2)课程表 界面中:按 刷新选项 可以刷新可以选择的 学年 列表的选项.当然帐户登录后会自动刷新的.选择你想要的 学年 和 学期 列表,按 查看课程表 ,如果操作无误,在大的文本框中将显示相应的课程表信息.所过程可能比较慢..请耐心等待.当课程表信息无误时,请选择该课程表开始执行的首日日期.也即选择好第一周星期一的日期,然后按 添加到日历 就可以将当前的课程表同步到Google日历了..此过程也请耐心等待.

3)考试安排 界面中:操作与 课程表界面 类似..考试时间是固定的..所以不需要选择起始日期.可直接添加到日历.

4)高级管理 界面:第一部分 日历事件管理: 可以查看通过本软件所添加的日历的条目数,并提供将这些条目全部清除的功能.当然用户也可以登录Google日历手动清理.第二部分 用户帐号管理:可以查看本地保存的Electsys和Google帐户的数目,并提供将以保存信息全部删除的功能.用户信息默认是加密保存的.暂不提供更多的可供选择的配置选项.

5)所有登录帐号,查看信息以及添加到日历或者清除日历的功能都涉及到通过网络传送信息的过程..可能因为网络环境不同的问题..所需要的时间也会不尽相同..在软件的右下角有进度条..如果进度条在闪..说明操作正在进行中..请耐心等待不要重复操作..

6)本来就是小软件..所以也做得比较简陋..有什么必须的功能或者重要的漏洞请联系作者解决..一些用户体验方面的小问题小bug..能迁就的就请多包涵迁就着..

7)虽然用Google服务的人可能并不多..需要将课程表添加成日历的也可能不多..而且最重要的..可能每学期才只需要开2次这个软件..本科4年也就开个10来次..但是..对于需要使用本软件所提供功能的同学们..祝你们使用愉快~希望你们能够喜欢~~

 

软件封面赏析....:

Windows7:

Ubuntu:

 

前提:系统上要配置好java的运行环境  jre6u17

在Windows下..直接点击运行软件包里的 cmd.bat 或者 gui.bat 即可启动软件..cmd为命令行模式的..gui为窗口可视化模式的..

在linux下..应该不用我多说了..你们都会的..配置好java跑起来吧~

 

联系作者: [email protected]

测试版网盘下载: http://freakshare.net/files/a3d0o9cv/Electsys_Beta1.7z.html

也可以发邮件给作者索取软件..希望大家能够多支持多交流~

 

以上..

你可能感兴趣的:(java学习,网络)