首页 > 代码库 > okhttp的使用

okhttp的使用

1.添加依赖:

compile ‘com.squareup.okhttp:okhttp:2.4.0‘

注意:okhttp内部依赖okio,别忘了同时导入okio:

gradle: compile ‘com.squareup.okio:okio:1.5.0‘

2.http get

//创建okHttpClient对象OkHttpClient mOkHttpClient = new OkHttpClient();//创建一个Requestfinal Request request = new Request.Builder()                .url("https://github.com/hongyangAndroid")                .build();//new callCall call = mOkHttpClient.newCall(request); //请求加入调度call.enqueue(new Callback()        {            @Override            public void onFailure(Request request, IOException e)            {            }            @Override            public void onResponse(final Response response) throws IOException            {                    //String htmlStr =  response.body().string();            }        });     
  1. 以上就是发送一个get请求的步骤,首先构造一个Request对象,参数最起码有个url,当然你可以通过Request.Builder设置更多的参数比如:headermethod等。

  2. 然后通过request的对象去构造得到一个Call对象,类似于将你的请求封装成了任务,既然是任务,就会有execute()cancel()等方法。

  3. 最后,我们希望以异步的方式去执行请求,所以我们调用的是call.enqueue,将call加入调度队列,然后等待任务执行完成,我们在Callback中即可得到结果。

3.Http Post 携带参数

Request request = buildMultipartFormRequest(        url, new File[]{file}, new String[]{fileKey}, null);FormEncodingBuilder builder = new FormEncodingBuilder();   builder.add("username","张三");Request request = new Request.Builder()                   .url(url)                .post(builder.build())                .build(); mOkHttpClient.newCall(request).enqueue(new Callback(){});

okhttp的使用