记得之前要想实现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() {