最近时间多一点点,发现年纪大了有些以前知道的东西现在也已经忘记,所以开始写博客,以便于以后查找
1. response.body().string();只能调用一次
原因是
Bytes = source.readByteArray();中 流只能读取一次 之后就会关闭
2.response.body().string()在Interceptor中和回调中可以被调用的前提是两者是在同一线程中
并且Interceptor创建一个新的responseBody对象返回回来。
3.由于上面两点原因要在主线程当中实现response回调 首先需要在子线程中运行parseNetworkResponse方法 将response转化成想要的对象 比如String 然后再放在主线程中执行。
以上纯属个人看法,不喜勿喷,谢谢。