OkHttp 初步了解

http://blog.csdn.net/lmj623565791/article/details/47911083

Okhttp 简介

支持连接同一地址的链接共享同一个 Socket ,通过连接池来减小响应延迟, 还有透明的GZIP压缩, 请求缓存等优势,其核心主要由路由、连接协议、拦截器、代理、安全性认证、连接池及网络适配,拦截器主要是指添加、移除或者转换请求或者回应 头部信息。

主要功能:
    1、联网请求文本数据
    2、大文件下载
    3、大文件上传
    4、请求图片

有两种关联方式

1、直接导入 jar 包,然后将 jar 包添加到项目中
2、在 Gradle 中添加: compile 'com.squareup.okhttp3:okhttp:3.4.1'

使用原生的 okhttp 请求网络数据

//使用原生的 okhttp 请求网络数据, get 和 post
    OkHttpClient client = new OkhttpClient();
    //get 请求,只能在子线程中调用
    private String get(String url) throws IOException{
        Request request = new Request.Builder()
                .url(url)
                .build();
        Response response = client.newCall(request).execute();
        return response.body().string();
    }
    //post 请求,可以拿到数据也可以上传,这儿我们是拿数据
    public static final MediaType JSON=MediaType.parse("application/json;charset=utf-8");//配置编码
    private String post(String url,String json) throws IOException{
    RequestBody body=Request.create(JSON,json);
    Request request=new Request.Builder()
            .url(url)
            .post(body)
            .build();
    Response response = Client.newCall(request).execute();
    return response.body().string();
    }   

缺点:请求图片不是很给力!!!

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,997评论 19 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,612评论 25 708
  • 这不是电视剧 这是真人真事 是地地到到的重庆人 自己演自己的故事 这是小时候看“雾都夜话“的开场白,记得特别清楚。...
    那自叙阅读 10,540评论 0 1
  • 我跟大部分女孩一样,在陌生人面前拘谨,显得很文静的样子,在熟人面前,闹闹腾腾,女汉子一般。我优点找不到,但...
    哎呦喂呵阅读 291评论 0 0
  • 昨天偷懒了没有写日记,忽然有种体谅孩子不爱写作业的心情,人有七情六欲,孩子也是人,虽然没成人,但是他也是有感情的...
    博硕妈阅读 253评论 0 0