第一次写CSDN博客,想一想还是有点小紧张。嘿嘿,希望能帮到和我一样刚入门的菜鸟coder解决特定问题。如果有幸被各路大牛看到此文,还望不吝赐教,指正文章中可能存在的错误。
安卓课程表的最主要目的是将教务网中的课程表信息(后面称之为“数据”)获取到,再显示于安卓应用界面上。需要解决的问题无非只有两个:1. 获得“数据”;2. 将“数据”显示在设计好的界面上。本文主要说如何获得“数据”。
在浏览器上看到自己课程表需要如下两个过程:
1. 登录(下图是学校教务网登录界面):
2.点击“本学期选课”,获得课程表信息
安卓课程表就是模拟浏览器这一行为,从教务网服务器上获取到“数据”。如下图:
登录界面:
获取课程表信息界面:
最开始,我以为要实现类似“超级课程表”这样的应用需要像新浪微博API那样进行Oauth2认证,才能获得微博上的指定数据的JSON或XML格式,自己再去解析。这样岂不是需要向教务网索要接口等等。。。后来参考这篇博文:http://blog.csdn.net/u010858238/article/details/9029653(建议可以先直接去看这篇文章,如果看完后,具体实现中遇到问题,再回头来看我写的,可能我们遇到的问题一模一样。后文也全是在假设已经看过这篇文章的基础上写的),发现利用Httpclient,这个过程无非就是在安卓系统上仿浏览器获得数据的原理来实现,而且这样对于任何有网页端而无客户端的东西都可以用类似的方法去实现某一网站的客户端程序。
我参考的那篇文章已经非常清楚地教给大家原理,而我之所以再写一篇文章的原因是:在自己实现安卓课程表的过程中,会遇到非常多意想不到的问题,而且整个过程并不是参考的那一篇文章所能解决的,原理性的东西只是起参考作用,实践过程中需要自己去解决很多问题,比