Android 使用Retrofit2.0 + OKHttp 实现 HTTP协议请求

本文介绍了如何在Android中使用Retrofit2.0和OKHttp进行HTTP请求。通过创建InterfaceService定义请求接口,使用Request封装参数,通过Response处理响应。示例包括JSON格式请求及短信验证码的获取,以及使用multipart/form-data方式上传图片。使用Retrofit2.0简化了HTTP请求流程,使得代码更易理解和维护。
摘要由CSDN通过智能技术生成

记得之前要想实现http协议自己封装会比较繁琐,后来有了OKHttp,另http请求更加轻便。

今天主要来说下Retrofit2.0的用法,由于本人之前几年用的as3 air,也是最近才开始重新回来写Android,对于Retrofit的使用经验为0,上手就是看的2.0,个人觉得Retrofit2.0用起来相比OKHttp更加方便代码也很容易理解,但是网上关于Retrofit2.0的资料很少,于是决定来记录一下,也方便大家参考下。


个人理解,Retrofit分为三大块:

1、InterfaceService:发送请求的Service接口。

2、Request:发送的Request请求参数。

3、Response:返回的相应。


由于大多人用的数据发送请求格式比较多的是JSON字符串格式,所以先来讲讲Json字符串请求,json字符串返回的格式,解析json字符串这里我用的是Gson。


这里先简单的实现一个获取短信验证码的请求:


首先先导入所需要的工具:

compile 'com.squareup.okhttp:okhttp:2.6.0'
    compile 'com.google.code.gson:gson:2.5'
    compile 'com.squareup.retrofit:retrofit:2.0.0-beta2'
    compile 'com.squareup.retrofit:converter-gson:2.0.0-beta2'



一般开发一个应用,需要多次调用请求,如果我们每调用一次都实例化一个Retrofit会很繁琐,那么大家应该都知道,要封装一个实例吧。大家都知道,请求时每次会有很多固定的参数,比如APPId,sign签证等等,每次都写一遍很繁琐,于是,我们就把这些参数在请求头里定义,这样就只需要实例定义一遍,后面只需要传请求需要的参数就可以了,代码也方便很多(当然,https请求就另当别论了,目前国内主流还是http请求)

public static Retrofit getInstance() {
        if (instaince == null) {
            OkHttpClient client = new OkHttpClient();
            client.interceptors().add(new Interceptor() {
      
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值