Android网络请求框架之Retrofit.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Android网络请求框架之Retrofit

Android网络请求框架之Retrofit Retrofit之前言 Retrofit是square家族开源系列的精品之一,是一个简单好用的网络请求框架,基于REST的架构风格,本框架的主要开发人Jake Wharton想必大家也有所耳闻,他也是REST的忠实拥护者和践行者。 引入开源框架,大部分开发者的目的是为了更快速的开发应用,省掉一些复杂的逻辑处理,Retrofit封装了网络请求,让开发者面向接口去请求服务,使用注解和代理去发起真正的请求,让开发者省掉所有网络请求的代码。你不用担心android6.0不支持httpclient方式的请求,你也不用引入gson去转换数据与对象,所有的这一切,Retrofit都已帮你完美实现。 Retrofit之用法 声明: 1.以下例子是基于1.9.0版本的,后面还有2.0.0版的,下一篇文章我将给大家展示他们之间的区别; 2.列子代码是基于AndroidStudio的。 1.在build.gradle文件里引入Retrofit需要的版本com.squareup.retrofit:retrofit:1.9.0,当然,如果了解RxJava和RxAndroid的童鞋也可以引入 io.reactivex:rxjava:1.0.14 、io.reactivex:rxandroid:1.0.1,配合Retrofit使用会更加好用。 2.实现Callback接口 public abstract class RCallbackT implements retrofit.CallbackT { @Override public abstract void success(T t, Response response); @Override public void failure(RetrofitError error) { Global.ProcException(error); } } 看到泛型T,估计大家就知道意味着什么了吧?我们可以直接指定返回的对象了,不用再去解析json数据了! 3.封装请求的载体 public class RestAdapterFactory { private HashMapString, SoftReferenceRestAdapter adapters; private static volatile RestAdapterFactory maker; private RestAdapterFactory() { adapters = new HashMap(); } /** * 获取创建RestAdapter的工厂 * * @return */ public synchronized static RestAdapterFactory getInstance() { synchronized (RestAdapterFactory.class) { if (null == maker) { synchronized (RestAdapterFactory.class) { maker = new RestAdapterFactory(); } } } return maker; } /** * 创建RestAdapter * * @param url * @return */ public synchronized RestAdapter build(final String url) { //这就是发起请求的对象 RestAdapter adapter = null==adapters.get(url)?null:adapters.get(url).get(); if (null == adapter) { final CellInfo cellInfo = Utils.getCellInfo(); //添加一些header RequestInterceptor requestInterceptor = new RequestInterceptor() { @Override

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档