要命的Retrofic框架
2016-03-24 19:37
302 查看
作为一个第一次接触注解这个知识的小鸟来说,这个框架真是噩梦啊,只能一点点来了!
第一步引包
跟之前几个框架一样,因为用的编辑器是Android studio,引包还真不是一般的方便啊
因为不确定写的的对不对,附上官网网址一枚,看不懂的可以自己去查官网
第二步写接口
因为这个框架应用场景是那种对一个网址可以传多样参数的,比如https://api.github.com这个接口除了可以传Guolei1130这个参数,还可以传owner等等,如果每一个次网络请求都需要像OKhttp每一次都要写一遍url,那就太麻烦了,这个的操作则是利用注解和接口的反射来进行(PS:说专业名词就是感觉叼,然而我也不懂为什么可以这样做,只明白这样做可以达到效果,知其然而不知其所以然)。
第三步,写JSON对象
这就是这次框架为什么要引两个依赖的原因了,需要用到GSON这个包,这时候还要提一个插件了,GsonFormat这个框架可以根据格式好的JSON数据直接写出model对象来,超方便的啊,因为只是一个bean类就不打上来了。
第四步,写请求
第一步引包
跟之前几个框架一样,因为用的编辑器是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框架。
相关文章推荐
- 插件管理框架 for Delphi(一)
- 使用CSS框架布局的缺点和优点小结
- 基于.NET平台常用的框架和开源程序整理
- 列举PHP的Yii 2框架的开发优势
- Windows窗体的.Net框架绘图技术实现方法
- 浅谈JavaScript 框架分类
- 轻量级javascript 框架Backbone使用指南
- javascript实现框架高度随内容改变的方法
- JS刷新框架外页面七种实现代码
- 超赞的动手创建JavaScript框架的详细教程
- 深入探讨前端框架react
- 简单介绍不用库(框架)自己写ajax
- asp.net4.0框架下验证机制失效的原因及处理办法
- 插件管理框架 for Delphi(二)
- 零基础学习AJAX之AJAX框架
- Ajax 框架学习笔记
- Flex中最好的MVC框架Mate框架
- JavaScript 异步调用框架 (Part 4 - 链式调用)
- JavaScript 异步调用框架 (Part 2 - 用例设计)
- 为什么使用框架 使用框架的优缺点