OkHttpClient "open" 方法在 v2.0 中缺失
OkHttpClient "open" method missing in v2.0
如果您从 OkHttp 库从 1.x 升级到 2.x,显然缺少 OkHttpClient 方法 "open"。以下代码将无法编译。
OkHttpClient client = new OkHttpClient();
HttpURLConnection conn = client.open(url);
根据官方change log:
URLConnection 支持已移至 okhttp-urlconnection 模块。如果您是从 1.x 升级,此更改会对您产生影响。您需要将 okhttp-urlconnection 模块添加到您的项目中,并使用 OkUrlFactory 创建 HttpURLConnection 的新实例:
// OkHttp 1.x:
HttpURLConnection connection = client.open(url);
// OkHttp 2.x:
HttpURLConnection connection = new OkUrlFactory(client).open(url);
只记得将下面的依赖项添加到 Gradle 文件中。
compile 'com.squareup.okhttp:okhttp-urlconnection:2.5.0'
从 OkHttp 3.x 开始,OkUrlFactory
已被标记为已弃用,支持更灵活的新 Request/Response
调用方式。一些信息:https://publicobject.com/2015/12/15/okurlfactory-is-going-away/
所以新样式看起来更像:
OkHttpClient httpClient = new OkHttpClient()
Request request = Request.Builder()
.url(url)
.build()
Response response = httpClient.newCall(request).execute()
如果您从 OkHttp 库从 1.x 升级到 2.x,显然缺少 OkHttpClient 方法 "open"。以下代码将无法编译。
OkHttpClient client = new OkHttpClient();
HttpURLConnection conn = client.open(url);
根据官方change log:
URLConnection 支持已移至 okhttp-urlconnection 模块。如果您是从 1.x 升级,此更改会对您产生影响。您需要将 okhttp-urlconnection 模块添加到您的项目中,并使用 OkUrlFactory 创建 HttpURLConnection 的新实例:
// OkHttp 1.x:
HttpURLConnection connection = client.open(url);
// OkHttp 2.x:
HttpURLConnection connection = new OkUrlFactory(client).open(url);
只记得将下面的依赖项添加到 Gradle 文件中。
compile 'com.squareup.okhttp:okhttp-urlconnection:2.5.0'
从 OkHttp 3.x 开始,OkUrlFactory
已被标记为已弃用,支持更灵活的新 Request/Response
调用方式。一些信息:https://publicobject.com/2015/12/15/okurlfactory-is-going-away/
所以新样式看起来更像:
OkHttpClient httpClient = new OkHttpClient()
Request request = Request.Builder()
.url(url)
.build()
Response response = httpClient.newCall(request).execute()