Android OkHttp 讲解

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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(){});
 

以上是关于Android OkHttp 讲解的主要内容,如果未能解决你的问题,请参考以下文章

Android OkHttp3 :最简单&粗暴(使用与原理)讲解

学会Retrofit+OkHttp+RxAndroid三剑客的使用,让自己紧跟Android潮流的步伐

揭秘Android常用三方框架源码-okhttp

Android OkHttp, 一行代码 OkHttp提升请求稳定性

使用 OKHttp 获取我的宁静服务响应 null

Android 的OkHttp(发送网络请求)