Retrofit
luohai859
这个作者很懒,什么都没留下…
展开
-
Retrofit Gson解析空字符串的问题
在实际开发项目中,服务器经常会用空字符串 “” 作为返回结果表示空值 ,但这在Gson当中就会遇到问题,如果这项数据的类型不是字符串,Gson解析就会报错 我们希望程序可以自动将空字符串解析为对应类型的空值,比如整型就解析为0,List型就解析为一个Empty List这个问题可以说是我用Retrofit+Gson以来最大的一个坑,以至于我在研究时差不多都要把源码看完了提一转载 2016-08-26 09:23:58 · 2073 阅读 · 0 评论 -
Retrofit请求数据对错误以及网络异常的处理
异常处理Retrofit本身会抛出HttpException,Gson解析会抛出解析异常, 此外我们还应该处理与服务器约定好的“异常”,即上一篇提到的返回数据中result字段值不会0的情况这里要先解决一个问题,就是Gson构建的对象,通过注解定义key名,以变量的类型定value的类型, 但如果同样的key在不同情况下属于不同的数据类型,就会出问题。假如服务器返回转载 2016-08-26 09:26:28 · 1369 阅读 · 1 评论 -
Retrofit+RxJava 优雅的处理服务器返回异常、错误
开始本博客之前,请先阅读: Retrofit请求数据对错误以及网络异常的处理异常&错误实际开发经常有这种情况,比如登录请求,接口返回的 信息包括请求返回的状态:失败还是成功,错误码,User对象等等。如果网络等原因引起的登录失败可以归结为异常,如果是用户信息输入错误导致的登录失败算是错误。假如服务器返回的是统一数据格式:/** * 标准数据格式 * @p转载 2016-08-26 09:30:22 · 1243 阅读 · 0 评论 -
Android Retrofit2&OkHttp3添加统一的请求头Header
在使用Retrofit时,有时候需要设置Set-Cookie等请求头,如果每一个url都需要,那么直接来个拦截器就好了。官方说明:OkHttp3下OkHttpClient的 List interceptors()方法,返回的是一个不可编辑的列表,如果对其进行编辑会报出UnSupportedOperationExceptionInterceptor的典型使用场景,就是对reque转载 2016-08-26 09:31:22 · 1182 阅读 · 0 评论 -
Dagger2 使用初步
Dagger2 是一个Android依赖注入框架,由谷歌开发,最早的版本Dagger1 由Square公司开发。依赖注入框架主要用于模块间解耦,提高代码的健壮性和可维护性。Dagger 这个库的取名不仅仅来自它的本意“匕首”,同时也暗示了它的原理。Jake Wharton 在对 Dagger 的介绍中指出,Dagger 即 DAG-er,这里的 DAG 即数据结构中的 DAG——有向无环图(Dir转载 2016-11-15 15:33:38 · 253 阅读 · 0 评论 -
Dagger2 生成代码学习
接上一篇文章介绍了Dagger2的初步使用,相信刚接触的人会觉得很奇怪,怎么会有很多自己没有定义的代码出现,为什么Component的创建方式是那样的。为了搞清楚这些东西,我们需要查看一下Dagger2 生成的源代码。Dagger2 是一个DI框架,通过学习生成的代码也可以更好的理解Dagger2是如何做依赖注入的。 将上一篇文章中的工程在SublimeText中打开,结构如下图:转载 2016-11-15 15:34:28 · 367 阅读 · 0 评论 -
OkHttp,Retrofit 1.x - 2.x 基本使用
Square 为广大开发者奉献了OkHttp,Retrofit1.x,Retrofit2.x,运用比较广泛,这三个工具有很多相似之处,初学者可能会有一些使用迷惑。这里来总结一下它们的一些基本使用和一些细微差别。123456789101112131415转载 2016-11-15 15:35:13 · 771 阅读 · 0 评论 -
Retrofit2.0使用详解
综述 retrofit是由square公司开发的。square在github上发布了很多优秀的Android开源项目。例如:otto(事件总线),leakcanary(排查内存泄露),android-times-square(日历控件),dagger(依赖注入),picasso(异步加载图片),okhttp(网络请求),retrofit(网络请求)等等。更多square上的开源项目我们可转载 2016-11-15 16:23:13 · 365 阅读 · 0 评论