闲来无事最近,所以慢慢来写点东西,现在项目的开发中用的最多的无非是网络请求,所以这次来说说网络请求吧,网络请求在实际开发中(以我们公司为例)多以异步请求为主,而异步请求有直接写的异步请求类,也有异步框架等等,这里以我最常用的几种方式来介绍。
在这之前,我们先说下什么是异步和同步,用一个生活中的例子来说,这里引用下其他人说的例子,但是很形象:
同步:
同步就是一件事,一件事情的做。吃饭和说话,只能一件事一件事的来,因为只有一张嘴。
异步:
异步就是,做一件事情,不引响做其他事情。吃饭和听音乐是异步的,因为,听音乐并不引响我们吃饭。
之所以异步线程用的比较多,是因为他不会阻塞UI线程,断网的时候或是网络不好时候不会使程序出现ANR现象,在Android4.0之后,在主UI线程中执行网络请求都会出现这个错误android.os.NetworkOnMainThreadException,所以一般都是使用异步来实现网络请求。明白了这个以后,那么就可以来说下面的东西了。
网络请求将介绍:
1.HttpClient + AsyncTask异步请求
2.android-async-http 异步框架请求
无非是自己纯写和使用一些第三方的框架,这里我们按顺序来展示,如果哪里有不对的地方或是不好的地方,请指出,互相学习吧。
为了看着不是很乱,这里我分开写咯。
Http请求之HttpClient + AsyncTask异步请求
android-async-http 异步框架请求