Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/200.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 既然有了OkHttp,为什么还要改型呢_Java_Android_Retrofit_Okhttp - Fatal编程技术网

Java 既然有了OkHttp,为什么还要改型呢

Java 既然有了OkHttp,为什么还要改型呢,java,android,retrofit,okhttp,Java,Android,Retrofit,Okhttp,使用OkHttp,我们可以发出HTTP请求,然后从服务器获得响应 OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder() .url(url) .build(); Response response = client.newCall(request).execute(); 然后使用Gson lib将响应转换为我们需要的对象 这是来自Square/OkHttp文档: 它的请求/响应A

使用OkHttp,我们可以发出HTTP请求,然后从服务器获得响应

OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
  .url(url)
  .build();
Response response = client.newCall(request).execute();
然后使用Gson lib将响应转换为我们需要的对象

这是来自Square/OkHttp文档:

它的请求/响应API是用fluent构建器和 不变性。它支持同步阻塞调用和异步阻塞调用 回拨电话

我从

如果可用,改型将自动使用OkHTTP

所以我的问题是,改造到底是为了什么

什么样的改造可以做到OkHttp不能做到的

我认为OkHttp和Gson解决了请求API的问题, 那么,改造为我们解决了什么问题呢

使用OkHttp,我们可以发出HTTP请求,然后从服务器获取响应。。。然后使用Gson lib将响应转换为我们需要的对象

请注意,在代码片段中,您跳过了两个值得注意的步骤:生成URL和使用Gson实际解析JSON

所以我的问题是,改造到底是为了什么

它用于生成URL(使用绑定到特定RESTAPI的类型识别生成代码)并使用Gson实际解析JSON。换句话说,它执行您在代码片段中跳过的操作

此外,对于某些类型的REST操作(例如POST),它有助于组装要提交的内容(例如,生成编码表单)

根据定义,您不需要使用改装。改装是由计算机程序员编写的计算机代码。其他人可以编写代码来完成改造的功能

为什么改型使用OkHttp


改装需要执行HTTP操作。它在可用的地方使用OkHttp,因为OkHttp提供了以下所有功能:HTTP/2和SPDY支持、可插入拦截器等。

如果您试图在应用程序内映射服务器API,则应使用改型(键入safing)。改型只是一个包装在okHTTP上的API适配器

如果您想键入安全代码并将交互代码与API模块化,请使用改型。除此之外,okHTTP和改型的底层性能、请求默认值等都是相同的


我还建议听Jesse Wilson(主要android HTTP客户端的开发人员)的播客,他在播客中深入介绍了Apache HTTP客户端、HTTPURLConnection、okHTTP和改型的开发历史

改型与OkHttp 原因很简单:OkHttp是一个纯HTTP/SPDY客户端,负责任何低级网络操作、缓存、请求和响应操作等。相反,改造是在OkHttp之上构建的高级REST抽象。改型2与OkHttp紧密结合,并充分利用了它

OkHttp功能:连接池、gzip、缓存、从网络问题中恢复、同步和异步调用、重定向、重试……等等


改装功能:URL操作、请求、加载、缓存、线程、同步。。。它允许同步和异步调用。

改型基本上是OKHTTP之上的体系结构,它在内部使用OKHTTP来发出任何请求,在jave的前面,如果我们想要发出任何请求,我们有HTTPUrl连接或HTTPS Url连接,知道改型OKHTTP处理所有事情(它分为包,标记头)如果我们需要发送一些信息

翻新是基于restful原则的rest客户端

->OkHttp是一个HTTP客户端,它支持HTTP/2和SPDY

->改型是一种适用于android和java的类型安全HTTP客户端

->OkHttp依赖于Okio

->改造取决于OkHttP

所以改型基本上是OKHTTP上的一个包装器,它在必要时使用,并且可以轻松地使用它的方法管理连接超时和读取超时,还添加了拦截器

希望我能回答!!!编码快乐


有关更多信息,请参考

基于意见的,因此可能会被关闭的信息。事实是,两者都存在,但都没有死亡。这意味着在Android开发者社区看来,两者都有有效的使用案例。看看这篇文章@isim我以前看到过这个链接,但我不明白为什么需要改进?!为什么要改型使用OkHttp@MehrdadFaraji如果OkHttp能做你想做的事,你不需要改装。为什么要改型使用OkHttp一些东西,比如启用OkHttp
Call
pattern、OkHttp拦截器、证书固定等。