大家好,我正在尝试执行 http 请求,我在互联网上搜索并找到了 OkHttp 库。
我正在尝试示例代码:
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("http://www.vogella.com/index.html")
.build();
try {
Response response = client.newCall(request).execute();
} catch (IOException e) {
e.printStackTrace();
}
但是应用程序崩溃了,我试图找到错误,它崩溃的原因是这一行:
响应response = client.newCall(request).execute();
有人能帮我吗?如果没有,你能给我推荐另一个用于 http 请求的库吗?
我有 android 5.1(miui 8),这里是 logcat 错误:
http://pastebin.com/5LtdxvpG
第 42 行是:
响应response = client.newCall(request).execute();
最佳答案
从我在您的错误日志(在您的评论中)中看到的内容来看,这是众所周知的“主线程上的网络”异常。发生这种情况是因为 Android 阻止主线程上的网络操作(即您的 HTTP 连接)。
检查此内容以了解如何修复它:How to fix android.os.NetworkOnMainThreadException?
关于java - 调用 newCall() 函数会使应用程序崩溃(Android 开发),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38806903/