博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android网络开发之OkHttp--基本用法实例化各个对象
阅读量:6684 次
发布时间:2019-06-25

本文共 2260 字,大约阅读时间需要 7 分钟。

1、实例化OkHttpClient对象,OkHttpClient包含了以下属性,以及set()和get()方法。但并没有包含具体的执行方法,详情见源码。

//实例化OkHttpClent对象   private OkHttpClient client = new OkHttpClient();
private static SSLSocketFactory defaultSslSocketFactory;  private final RouteDatabase routeDatabase;  private Dispatcher dispatcher;  private Proxy proxy;  private List
protocols; private List
connectionSpecs; private final List
interceptors = new ArrayList<>(); private final List
networkInterceptors = new ArrayList<>(); private ProxySelector proxySelector; private CookieHandler cookieHandler; /** Non-null if this client is caching; possibly by {
@code cache}. */ private InternalCache internalCache; private Cache cache; private SocketFactory socketFactory; private SSLSocketFactory sslSocketFactory; private HostnameVerifier hostnameVerifier; private CertificatePinner certificatePinner; private Authenticator authenticator; private ConnectionPool connectionPool; private Network network; private boolean followSslRedirects = true; private boolean followRedirects = true; private boolean retryOnConnectionFailure = true; private int connectTimeout = 10_000; private int readTimeout = 10_000; private int writeTimeout = 10_000;

2、实例化Request对象,大家可以参考Request源码。

    (1)、大家可以先查考--java builder模式 http://www.cnblogs.com/moonz-wu/archive/2011/01/11/1932473.html

    (2)、Request、Response即采用了Builder模式。

    (3)、Request包含了HttpUrl、Method、Headers、RequestBody、Tag等参数。以及httpUrl()、method()、headers()、body()、tag()等方法(类似于get()方法)。

    (4)、并没有包含有关网络操作和其他操作的方法。

3、实例化RequestBody方法,大家可以参考RequestBody源码。

    (1)、第一可以通过RequestBody内部静态方法实现。

RequestBody body = RequestBody.create(final MediaType contentType, final ByteString content);

    (2)、第二可以通过重写RequestBody的writeTo()和contentType()方法。

RequestBody body = new RequestBody() {                        @Override            public void writeTo(BufferedSink arg0) throws IOException {                // TODO Auto-generated method stub                            }                        @Override            public MediaType contentType() {                // TODO Auto-generated method stub                return null;            }        };

 

转载于:https://www.cnblogs.com/begin1949/p/4927717.html

你可能感兴趣的文章
Android开发工程师,前行路上的14项技能
查看>>
w 查看系统负载 uptime vmsta 详解 top 详解 sar 命令 free 命令
查看>>
ps 查看进 netstat 查看端口
查看>>
网页图表Highcharts实践教程之认识Highcharts
查看>>
LPC2103学习之GPIO
查看>>
管理岗是什么鬼?
查看>>
创建一个当前时间凌晨
查看>>
Python 学习笔记 - 多进程和进程池
查看>>
日志切割实例
查看>>
CentOS安装中文汉字输入法ibus
查看>>
【环境配置】DOSBox运行TT打字软件
查看>>
Android中处理Touch Icon的方案
查看>>
RHEL7.1配置本地yum源
查看>>
Mybatis Generator最完整配置详解
查看>>
Hash学习
查看>>
PHP按符号截取字符串的指定部分
查看>>
在Blender导出格式为STL
查看>>
我的友情链接
查看>>
酒有两不喝,财有两不发,忙有三不帮,亲有三不走!
查看>>
IPFS 服务的Python访问
查看>>