gpt4 book ai didi

java - android中的OkHttp用于发出网络请求

转载 作者:IT老高 更新时间:2023-10-28 23:31:53 31 4
gpt4 key购买 nike

我要做什么::

我正在尝试学习 Okhttp 的用法用于在 android 中进行网络调用


我做了什么::

  • 我已阅读他们的文档 here
  • 我已经下载并在项目中添加了 JAR
  • 我正在使用来自 here 的示例代码

我的代码::

MainActivity.java

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import com.squareup.okhttp.OkHttpClient;
import com.squareup.okhttp.internal.http.Request;
import com.squareup.okhttp.internal.http.Response;
public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

Request request = new Request.Builder()
.url("https://raw.github.com/square/okhttp/master/README.md")
.build();

Response response = client.execute(request);

Log.d("ANSWER", response.body().string());

}

}

我面临的错误::

Response response = client.execute(request); 这一行我收到错误:

client cannot resolved to a variable

如何解决这个问题!


{更新}

public class MainActivity extends Activity {

OkHttpClient client = new OkHttpClient();


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

Request request = new Request.Builder()
.url("https://raw.github.com/square/okhttp/master/README.md")
.build();

Response response = client.execute(request);

Log.d("ANSWER", response.body().string());

}

}

现在我面临以下错误:

in the line Response response = client.execute(request); as The method execute(Request) is undefined for the type OkHttpClient

最佳答案

The method execute(Request) is undefined for the type OkHttpClient

你得到这个异常是因为没有这样的方法,即 OkHttpClientexecute(Request)。而是在使用 OkHttpClient 对象获得的 Call 对象上调用它,如下所示:

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

我认为你应该使用

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

而不是 Response response = client.execute(request);

OkHttp docs

OkHttp Blog

关于java - android中的OkHttp用于发出网络请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23201663/

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