gpt4 book ai didi

android - Request(okhttp3.Request.Builder) 在 okhttp3.Request 中有私有(private)访问权限

转载 作者:搜寻专家 更新时间:2023-11-01 08:37:29 29 4
gpt4 key购买 nike

我只是想使用 okhttp 下载一些字节数据,但在我完成代码之前,我遇到了一个问题,android studio 报告了一个错误,说“Request(okhttp3.Request.Builder) has private access in okhttp3.Request",我的代码出现问题,我该如何解决?

import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;

public byte[] getUrlBytes(String urlSpec) throws IOException{
URL url = new URL(urlSpec);

OkHttpClient client = new OkHttpClient();

try {

Request request = new Request().Builder
.url(url)
.build();

Response response = client.newCall(request).execute();

} finally {

}

这只是我的一些代码,我只是按照 http://square.github.io/okhttp/ 上的示例进行操作,我没看出有什么区别,只是报这个错

最佳答案

它看起来像在你的代码中

Request request = new Request().Builder
.url(url)
.build();

您正在尝试调用私有(private)的Request 构造方法。您必须通过调用公共(public)静态方法来实例化一个新的 Request.Builder()。使用这种类型的模式,在调用最后的 .build(); 行之前,您不会随请求一起返回。

引用:OkHttp3 Request.Builder documentation

只需替换为这段代码,它应该可以工作。

Request request = new Request.Builder()
.url(url)
.build();

编辑:

另请注意,调用 client.newCall(request).execute() 方法将同步执行,如果在主线程上执行,可能会导致线程问题。

关于android - Request(okhttp3.Request.Builder) 在 okhttp3.Request 中有私有(private)访问权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35592931/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com