码迷,mamicode.com
首页 > Web开发 > 详细

OkHttp的学习

时间:2019-08-30 22:24:10      阅读:92      评论:0      收藏:0      [点我收藏+]

标签:重要   配置   add   orm   new   类型   mem   数据   esc   

一、参数的讲解

  1. OkHttpClient : OkHttp的客户端,初始化OkHttp的一些重要配置

  2. Request : 请求数据封装

  3. Call : 可执行异步或者同步请求

  4. Interceptor : OkHttp 中的重要成分,拦截器,基于责任链设计模式

  5.RetryAndFollowUpInterceptor : 负责错误重试以及重定向

  6.BridgeInterceptor : 负责组装请求以及解析数据

  7.CacheInterceptor: 负责读取缓存和更新缓存

  8.ConnectInterceptor: 负责和服务器连接      Okio对接

  9.CallServerInterceptor: 负责发送请求以及接受数据  核心功能

  二、OkHttp大致流程 :  首先创建一个OkHttpClient的对象,然后创建一个线程池,再次创建一个CallBack,然后把CallBack封装为一个Runnable,

    当执行 execute方法去执行run方法,run方法是自己重新写的,里面主要是运行拦截器的处理。

  三、json的基础学习

    ? :  代表参数和hostName地址之间的分隔符

    

  四、Get请求和Post请求的区别

    1.Get传递参数时候,会有带有这样敏感信息参数传递,他在处理过程长度也是收到限制,实例说明

     HttpUrl.Builder builder = HttpUrl.parse("http://v.juhe.cn.jock/content/list.php").newBuilder();
    builder.addQueryParameter("sort", "desc");
    builder.addQueryParameter("page", "1");
    builder.addQueryParameter("pagesize", "2");
    builder.addQueryParameter("time", "" + System.currentTimeMillis()/1000);
    builder.addQueryParameter("key", "bbc57dd5e4f05991af09eafd2e667e0");
    Request request = new Request.Builder().url(builder.build()).get().build();

   2.Post的主要参数不会暴露在外面,信息比较安全,适合去推送数据

    OkHttpClient client = new OkHttpClient();
    FormBody.Builder builder = new FormBody.Builder();
    builder.add("key", "0f08cd674792667feb5ce236ea028747");
    Request request = new Request.Builder().url("http://apis.juhe.cn/lottery/types").post(builder.build()).build();
    Call call = client.newCall(request);
    call.enqueue(new Callback() {

   3. Post常见的数据提交类型(需要补充)

    1.

  五、同步和异步的区别

    异步请求放到线程池里面,而同步请求没有放到线程池里面

 

OkHttp的学习

标签:重要   配置   add   orm   new   类型   mem   数据   esc   

原文地址:https://www.cnblogs.com/liunx1109/p/11437218.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!