Android OkHttp 讲解

首先介绍okhttp的简单使用:

  • 一般的get请求
  • 一般的post请求
  • 基于Http的文件上传
  • 文件下载
  • 加载图片
  • 支持请求回调,直接返回对象、对象集合
  • 支持session的保持

于Android Studio可以选择添加依赖

compile 'com.squareup.okhttp:okhttp:2.4.0' 
compile 'com.squareup.okio:okio:1.5.0'

(一)Http Get

//创建okHttpClient对象
OkHttpClient mOkHttpClient = new OkHttpClient();
//创建一个Request
final Request request = new Request.Builder()
                .url("https://github.com/hongyangAndroid")
                .build();
//new call
Call 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();
            }
        });  
response.body().string() 获得字符串
response.body().bytes() 获得二进制字节数组
response.body().byteStream() 获得输入流

(二) 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(){});
 

posted on 2016-09-18 21:06  baoshijie  阅读(222)  评论(0)    收藏  举报

导航