Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/179.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_Http_Okhttp - Fatal编程技术网

如何在主java中使用OKHTTP

如何在主java中使用OKHTTP,java,android,http,okhttp,Java,Android,Http,Okhttp,这是一个简单的GET方法: 我把这段代码放在主java文件中 那么我应该在哪里调用onCreate方法呢 我不知道怎么用它。例如,我想在按钮的onclicklistener中使用它。如果使用eclipse,则必须下载okHttp jar文件并将其包含在项目中;如果使用android studio,则必须在build.gradle中添加依赖项。你可以在这里找到说明- 最好创建一个用于联网的公共Util类,并编写HTTP请求GET、POST等公共方法,以便只需传递所需的参数就可以从应用程序中的任何位

这是一个简单的GET方法:

我把这段代码放在主java文件中

那么我应该在哪里调用onCreate方法呢


我不知道怎么用它。例如,我想在按钮的onclicklistener中使用它。

如果使用eclipse,则必须下载okHttp jar文件并将其包含在项目中;如果使用android studio,则必须在build.gradle中添加依赖项。你可以在这里找到说明-

最好创建一个用于联网的公共Util类,并编写HTTP请求GET、POST等公共方法,以便只需传递所需的参数就可以从应用程序中的任何位置调用它们

现在,如果需要,可以将其添加到onclicklistener上

示例-

public class GetExample {
OkHttpClient client = new OkHttpClient();

String run(String url) throws IOException {
Request request = new Request.Builder()
    .url(url)
    .build();

Response response = client.newCall(request).execute();
return response.body().string();
}

public static void main(String[] args) throws IOException {
GetExample example = new GetExample();
String response = example.run("https://raw.github.com/square/okhttp/master/README.md");
System.out.println(response);
}
}
对于onClickListener,您可以在AsyncTask或新线程中编写以下代码,我希望您知道如何编写AsyncTask或新线程-

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

Response response = client.newCall(request).execute();
String reponse = response.body().string();

非常感谢。我应该在onclicklistener中写什么?编辑了答案,请勾选例如我想在按钮的onclicklistener中使用它。那你为什么不把密码放在那里?@timcastelijs我有个错误。我以前使用的请求没有函数,但仍然在logcat和dieing应用程序中给出错误。那么,错误是什么?NetworkOnMainThreadException?@TimCastelijns是的。我想它需要一根线。是吗?是的,你不能在主线程上使用网络,你需要使用异步任务或类似的东西。谷歌一下,你就会找到答案
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
    .url(url)
    .build();

Response response = client.newCall(request).execute();
String reponse = response.body().string();