对Retrofit的认识和学习

2017-02-24  本文已影响0人  liguiyun

对Retrofit的认识和学习

之前 都是用okhttp  我觉得挺好用的 特别是弘扬老师的封装,用起来真的得心应手,现在别人都在说Retrofit怎么好用!IT 都在不断变化的技术!所以没事 我也研究研究,不然万一项目用的着那,所以把自己的简介 都聊聊!肯定会在别人的博客里面拷贝东西!

1,创建业务请求接口

2,创建Retrofit示例 并完成相应的配置

2,就是网络请求

先说创建业务请求接口吧  自己根据自己项目中的创建

public interface LoginService{

@GET("user/login")

CallgetLogin(@Query("token")Stringtoken,@Field("Account")StringAccount,@Field("Password")StringPassword);

}

@Get 就是get请求  里面参数 @Query 就是拼接在url后面的键值对  @Query("token) 就是key  token 就是值  @Get("user/login") 就是拼接在baseUrl 后面的 变动参数 

OkHttpClient client= newOkHttpClient.Builder()

.addInterceptor(new  CommonInterceptor())

.build();

第一段代码是创建一个okHttpClient  这个可用可不用  如果请求url 里面有固定的参数  可以添加这个 okhttpClient  如果入固定参数也可以不用 创建一个 CommonInterceptor  

public class CommonInterceptor implements Interceptor{

@Override

public Responseintercept(Interceptor.Chainchain)throwsIOException{

Requestrequest=chain.request();

HttpUrlhttpUrl=request.url().newBuilder()

.addQueryParameter("token","tokenValue")

.build();

request=request.newBuilder().url(httpUrl).build();

returnchain.proceed(request);

}

}

token 和tokenValue 是每个链接的固定值 就可以创建一个 Interceptor,

Retrofit  retrofit= newRetrofit.Builder().client(client)

.baseUrl("http://www.test.ap.com/api/")

.addConverterFactory(GsonConverterFactory.create())

.build();

baseUrl 是添加域名和端口的网址 俗称 baseUrl  里面的url必须以"/"结尾不然会报错哦,addConverterFactory 是添加一个解析请求参数的Json字符串 下面 就用retrofit  执行网络请求

LoginService service=retrofit.create(LoginService.class);

创建一个网络请求的接口

CallsearchBooks=service.postLogin(newSignBean(),"13098834723","123456");//给接口传递参数

searchBooks.enqueue(newCallback() {

@Override

public void onResponse(Callcall,Responseresponse) {

Log.d("Main",response.body().toString()+"");

}

@Override

public void onFailure(Callcall,Throwablet) {

Log.d("Main","看见就放弃");

}

});

然后是创建 网络连接  

上一篇下一篇

猜你喜欢

热点阅读