大家刚开始写项目时,大多数会选择比较成熟的第三方请求框架。比如Xutils等,更有心者会选择Volley。我个人感觉这是值得肯定的。这两个框架我都在项目中实践过,各有千秋。在我之前的文章中我已经将他们在网络方面的使用,性能做了比较,大家可以看一下。说实话写的不怎么地。看客莫怪,随便骂,我尽量改。哈哈!
随着大家的项目经验的积累,会发现这些成熟的框架反而不适合自己的需要了,因为封装的比较完善,因此开始感觉有些蹩脚了。对了,那说明你进步了,对自身技术的要求提高了。但如果完全自己封装底层的http又不能马上投入使用,会需要一个长期的检验扩展到过程。所以我们就需要一个比Volley更偏底层且扩展性更强的框架。so我推荐Okhttp作为这个阶段的请求框架。
废话不多说,上代码:
1.okhttp的使用:支持Android 2.3及其以上版本,要求java JDK1.7以上;项目中用的最多的是GET和POST请求。
GET:(同步)
private final OkHttpClient client = new OkHttpClient();
........//此处省去你不想看的代码
//我们通过Request.Builder传入url,然后直接execute执行得到Response,通过Response可以得到code,message等信息。
public void getSync() throws Exception {
Request request = new Request.Builder()
.url("http://publicobject.com/helloworld.txt")
.build();
Response response = client.newCall(request).execute();
if(response.isSuccessful()){
Log.i("获取网络返回数据操作值", "" + arg0.code());
Log.i("获取网络返回数据", arg0.body().string());
}
}
//因为是同步的,因此需要创建一个工作线程,去请求。在执行处调用即可
private void getTest(){
new Thread(new Runnable() {
@Override
public void run() {