【发布时间】:2015-11-10 00:19:37
【问题描述】:
这是 okhttp 中的简单 GET 方法:
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();
}
我把这段代码放在主 java 文件中。
那么我应该在哪里调用它到 onCreate 方法中呢?
我不知道如何使用它。例如,我想在按钮的 onclicklistener 中使用它。
【问题讨论】:
-
比如我想在一个按钮的onclicklistener中使用它。那你为什么不把代码放在那里呢?
-
@TimCastelijns 我收到错误消息。我曾经使用没有功能的请求,但在 logcat 和死应用程序中仍然出现错误。
-
那么,错误是什么? NetworkOnMainThreadException?
-
@TimCastelijns 是的。我认为它需要一个线程。是吗?
-
是的,你不能在主线程上使用网络,你需要使用 AsyncTask 或类似的东西。谷歌一下,你会找到答案