OkHttp 的 response 的 body 方法是不是还是需要发送网络请求?

2015-07-27 14:22:45 +08:00
 zzhoujay
在主线程中调用了response.body()方法就报了NetworkOnMainThreadException,难道body方法还会进行网络请求么?
5287 次点击
所在节点    Android
4 条回复
zzhoujay
2015-07-27 14:24:51 +08:00
对了,我是调用的response.body().string(),报错说就是在这行
alex110
2015-07-28 11:27:30 +08:00
okHttpClient.newCall(request).enqueue(asyncCallback);

你是在asyncCallback里才能得到response 。 你看看文档吧。
zzhoujay
2015-07-28 13:10:04 +08:00
@alex110 是在Callback里得到的response,然后用Handle Post到了主线程,然后调用response.body().string()就报了NetworkOnMainThreadException
alex110
2015-07-28 14:35:13 +08:00
@zzhoujay 你这样做 在Callback里得到的response的body 然后用handler传递值 不要传递response

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/208638

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX