【发布时间】:2019-12-11 17:47:49
【问题描述】:
在 android studio 项目中,我使用 okhttp 发送帖子请求。
public void sentRequest(.... ....) {
RequestBody formBody = new FormBody.Builder().add("number", number).build();
Request request = new Request.Builder().url(serverBase + API_numberAvailabilityCheck).post(formBody).build();
call = client.newCall(request);
new Thread(new Runnable() {
@Override
public void run() {
final HashMap<String, Object> requestResult = new HashMap<>();
try {
final Response response = call.execute();
}
...........
...........
}
}).run();
}
但它会在我调用final Response response = call.execute(); 的行上引发NetworkOnMainThreadException 异常,尽管new Thread。为什么它会抛出异常?以及如何解决这个问题?
【问题讨论】:
-
OkHttp 可以为您处理线程。使用
enqueue()而不是execute()。
标签: java android exception networking okhttp3