您的位置:首页 > 其它

要命的Retrofic框架

2016-03-24 19:37 302 查看
作为一个第一次接触注解这个知识的小鸟来说,这个框架真是噩梦啊,只能一点点来了!

第一步引包

跟之前几个框架一样,因为用的编辑器是Android studio,引包还真不是一般的方便啊

compile 'com.squareup.retrofit:retrofit:2.0.0-beta2'
compile 'com.squareup.retrofit:converter-gson:2.0.0-beta2'
在包的依赖里加上这么两句话就行了

因为不确定写的的对不对,附上官网网址一枚,看不懂的可以自己去查官网
第二步写接口

因为这个框架应用场景是那种对一个网址可以传多样参数的,比如https://api.github.com这个接口除了可以传Guolei1130这个参数,还可以传owner等等,如果每一个次网络请求都需要像OKhttp每一次都要写一遍url,那就太麻烦了,这个的操作则是利用注解和接口的反射来进行(PS:说专业名词就是感觉叼,然而我也不懂为什么可以这样做,只明白这样做可以达到效果,知其然而不知其所以然)。

<span style="white-space:pre">	</span>public interface GitHubService {

<span style="white-space:pre">		</span>@GET("/users/{user}")//这就是利用注解在你用GET方式请求的时候会自动给你补全一部分URL路径,花括号里面的有user点类似变量对应下面参数
<span style="white-space:pre">	</span> <span style="white-space:pre">	</span>Call<gitmodel> getFeed(@Path("user") String  user);//这个注解的大概理解为传过来的的String参数会添加到上面的花括号里
}
看注释解释,单看一个接口可能看不懂,慢慢来,接下去看

第三步,写JSON对象

这就是这次框架为什么要引两个依赖的原因了,需要用到GSON这个包,这时候还要提一个插件了,GsonFormat这个框架可以根据格式好的JSON数据直接写出model对象来,超方便的啊,因为只是一个bean类就不打上来了。

第四步,写请求

<span style="font-size:12px;">	  Retrofit retrofit = new Retrofit.Builder()
.baseUrl("https://api.github.com")
.addConverterFactory(GsonConverterFactory.create())
.build();
GitHubService service = retrofit.create(GitHubService.class);
Call<gitmodel> model = service.getFeed("Guolei1130");
model.enqueue(new Callback<gitmodel>() {
@Override
public void onResponse(Response<gitmodel> response, Retrofit retrofit) {
Log.e("tag++++++++++++++++++", "onResponse: " + response.body().getLogin());
}

@Override
public void onFailure(Throwable t) {
Log.e("tag++++++++++++++++++", "onFailure: " + t.getMessage());
}
});</span>
<span style="white-space:pre">	</span>model.clone();
先创建Retrofit对象,然后跟上生成器Builder(),写好相关的参数,请求的接口baseUrl("路径"),addConverterFactory(GsonConverterFactory.create())将创建了Gson对象添加进响应里,用来接收请求返回的内容。请求创建好后传到接口里的注解GET上,Call的意思就是拨打,也就是执行请求,把传入的参数添加到接口的方法,执行注解,异步执行方法,剩下的就和OKhttp一样了,因为这个框架不能自动关闭请求,所以记得写上clone()。这就是入门Retrofit框架。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Retrofit 框架