OkHttp,蚂蚁金服Android架构面试题

这篇博客介绍了如何在Android中使用OkHttp进行网络请求,包括创建FormBody和MultipartBody,设置连接超时、写入超时和读取超时,以及如何实现自定义拦截器来处理请求和响应头。此外,还强调了Android开发者持续学习和深入理解基础的重要性。
摘要由CSDN通过智能技术生成
             }


            final String date = response.body().string();
            mHandler.post(new Runnable() {
                @Override
                public void run() {
                    mTvShow.setText(date);
                }
            });
        }
    }); 

**以上步骤就能正常请求相应的数据了,如果还没有数据的话,好好看看代码!**

### 1.2 简单的POST请求

> 关于POST请求的话,基本上就是比GET请求多一步设置表单的方法,也就是一个FormBody对象的设置,以key、value的方式设置表单而已,所以这里教你怎么写,然后我贴一下代码就那么滴了,谁让我那么懒呢!!!

表单的写法是这样的:

FormBody formBody = new FormBody.Builder()
.add(“key”, “value”)
.build();


其实add方法可以被调用多次,添加相应的key和value;

整体的代码是这样的!!!

/1.创建OkHttpClient对象/
OkHttpClient httpClient = new OkHttpClient();
/2.创建相应的表单内容/
FormBody formBody = new FormBody.Builder()
.add(“key”, “value”)
.build();
/3.创建请求Request内容/
Request request = new Request.Builder()
.url(“https://www.baidu.com/”)
.post(formBody)
.build();
/4.发送请求/
Call call = httpClient.newCall(request);
/5.创建请求的回调/
call.enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
Log.e(TAG, “请求失败的原因:” + e);
}

        @Override
        public void onResponse(Call call, final Response response) throws IOException {
            Headers headers = response.headers();
            Set<String> names = headers.names();
            for (String name : names) {
                Log.e(TAG, "请求的header" + name);
                String value = headers.get(name);
                Log.e(TAG, "值为: " + value + "\n----------------------------------");
            }


            final String date = response.body().string();
            mHandler.post(new Runnable() {
                @Override
                public void run() {
                    mTvShow.setText(date);
                }
            });
        }
    });
} 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值