android - OkHttp:无法从静态内容引用非静态方法

标签 android okhttp

我正在跟进这个 link 的例子我收到错误:

Non-static method 'newCall(com.squareup.okhttp.Request) cannot be referenced from a static content

在这一行 Call call = OkHttpClient.newCall(request);

这是代码

public class MainActivity extends Activity {

    public OkHttpClient client = new OkHttpClient();
    String requestUrl = " http://iheartquotes.com/api/v1/random?format=json";
    Request request = new Request.Builder().url(requestUrl).build();
    TextView text1;
    public static final MediaType JSON = 
        MediaType.parse("application/json; charset=utf-8");

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        text1 = (TextView) findViewById(R.id.messageText);
    }

    call = OkHttpClient.newCall(request);

}

这是什么原因?

最佳答案

您已经创建了一个客户端。而不是

call = OkHttpClient.newCall(request);

您的代码应如下所示:

call = client.newCall(request);

您需要创建的客户端引用。

关于android - OkHttp:无法从静态内容引用非静态方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32779729/

相关文章:

android - 如何在改造中处理分页

android - ionic > 找不到模块 'ansi'

android - 无法导入 com.squareup.okhttp.OkHttpClient;

android - 如何强制 Android 11 上的 OkHttp 使用 TLS 1.3 发送 ssl 客户端证书身份验证

android - 如何为 MediaStyle 通知操作的图标着色?

java - 如何解决 JDK 9+ 不支持 java.lang.UnsupportedOperationException : clientBuilder. sslSocketFactory(SSLSocketFactory)?

java - 改造 2.0.1 添加 cookie header 不起作用

android - 出现错误:Execution failed for task ':app:dexDebug'

android - 如何在具有 2 种不同实现的 Dagger 模块中提供单例

java - 警报管理器未设置特定日期或超过 24 小时的警报