cuncaojin 2016-05-31 07:29 采纳率: 0%
浏览 9495
已结题

OkHttp请求回调中response.body().string()只能有效调用一次,为什么?

OkHttp请求回调中response.body().string()只能有效调用一次,为什么?详见下面代码:

public void httpGet(View view) {
//创建okHttpClient对象
OkHttpClient mOkHttpClient = new OkHttpClient();

    //创建一个Request
    final Request request = new Request.Builder().url(stringURL).build();

    //new call
    Call call = mOkHttpClient.newCall(request);

    //请求加入调度
    call.enqueue(new Callback() {
        @Override
        public void onFailure(Call call, IOException e) {
        }

        @Override
        public void onResponse(Call call, final Response response) throws IOException {
            Log.e(TAG, "string:" + response.body().string());//打印结果数据正常
            Log.e(TAG, "string2:" + response.body().string());//打印结果为空字符串,不知道具体原因,求解?
        }
    });
}
  • 写回答

4条回答 默认 最新

  • devmiao 2016-05-31 17:34
    关注
    评论
  • Sunstorm_ 2016-08-31 03:33
    关注

    我也发现了这个问题了,

    评论
  • wei15801110272 2016-09-23 02:00
    关注

    只能调用一次,可以把他赋值给一个String的变量,然后多次使用

    评论
  • Milliejee 2017-03-06 02:15
    关注
    评论
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部