Retrofit分析-漂亮的解耦套路】的更多相关文章

没耐心自己分析源码的同学,还可以参考Stay录制的视频版 Retrofit分析-漂亮的解耦套路(视频版) 万万没想到Retrofit会这么火,在没看源码之前,我简单的认为是因为它跟OkHttp同出一源(Square),所以才会炒的那么热.又或者是因为它能支持RxJava,所以火上浇油,一发不可收拾. 后来看过Retrofit源码之后,我才理解为什么它倍受关注,是因为它集诸优点于一身,并且炒鸡解耦.你能预见的特殊需求,都能非常容易的扩展. 没有HTTP框架的日子 我们先来看一下没有HTTP框架以前…
备注 原发表于2016.04.23,资料已过时,仅作备份,谨慎参考 前言 由于是第一次自己翻看源代码进行学习,加上基础不好,在看源代码的过程中简直痛苦不堪,但同时也暴露出了自己的许多问题.我觉得学习源代码是一件耗时但也收益颇多的学习方式,哪怕你暂时没有足够的时间自己去分析学习,也要擅于学习别人的经验总结. Java 基础知识点 Retrofit 的功能涉及到了 Java 的『反射』.『注解』和『动态代理』. 公共技术点之 Java 反射 Reflection 公共技术点之 Java 注解 Ann…
每个圈子都有一群能力强且懂得经营自己的人,技术圈也是如此.本期 fir.im Weekly 一如往期精选了一些实用的 iOS,Android 开发工具和源码分享,还有一些关于程序员的成长 Tips 和活动分享~ GitHub 中国区 Top 100 大神解密 根据Github公开 API 抓取地址显示 China 的用户,并依据粉丝关注排名以及属性分析,@优雅的程序员D 罗列出『github 中国区粉丝前100排名』,同时分析了他们在知乎和微博的活跃度,并对前 20 名进行了"深度挖掘"…
转载请注明转自:http://blog.csdn.net/u011176685/article/details/51434702 csdn文章:Android优秀资源整理合集(论菜鸟到高级攻城狮) 时间一长,发现在平时逛论坛,订阅号或者其他人推荐的优秀干货,浏览器随机的收藏已经太乱了.抽空整理下,顺便真心推荐大家看看.至少对于我来说,从菜鸟到现在的进步全靠它们!! Android基础相关 1.Android实现数据存储技术 2.AndroidDevTools(里面有开发所需的各种软件,SDK,J…
今天,公司需要为一个安卓app选择一个合适的网络框架,具体我了解,主要的安卓网络框架有okhttp,retrofit,android-async-http,volley. 查找网上的资料,大致可以得到如下不同的言论. 1. 个人比较推荐Square开源组合,用Retrofit(目前已经是2.0+)+OkHttp基本上已经可以处理任何业务场景了,Square开源库质量还是值得信赖的. Retrofit的特点我个人认为是简化了网络请求流程,同时自己内部对OkHtttp客户端做了封装,同时2.x把之前…
Retrofit的使用 设置权限与添加依赖 定义请求接口 通过创建一个retrofit生成一个接口的实现类(动态代理) 调用接口请求数据 设置权限与添加依赖 权限:首先确保在AndroidManifest.xml中请求了网络权限 : <uses-permission android:name="android.permission.INTERNET" /> (2)Studio用户,在app/build.gradle文件中添加如下代码: dependencies { comp…
我们知道哈希表是一种非常高效的数据结构,设计优良的哈希函数可以使其上的增删改查操作达到O(1)级别.Java为我们提供了一个现成的哈希结构,那就是HashMap类,在前面的文章中我曾经介绍过HashMap类,知道它的所有方法都未进行同步,因此在多线程环境中是不安全的.为此,Java为我们提供了另外一个HashTable类,它对于多线程同步的处理非常简单粗暴,那就是在HashMap的基础上对其所有方法都使用synchronized关键字进行加锁.这种方法虽然简单,但导致了一个问题,那就是在同一时间…
前言 在前面的 SOFA 源码分析 -- 服务发布过程 文章中,我们分析了 SOFA 的服务发布过程,一个完整的 RPC 除了发布服务,当然还需要引用服务. So,今天就一起来看看 SOFA 是如何引用服务的.实际上,基础逻辑和我们之前用 Netty 写的 RPC 小 demo 类似.有兴趣可以看看这个 demo-- 自己用 Netty 实现一个简单的 RPC. 示例代码 ConsumerConfig<HelloService> consumerConfig = new ConsumerCon…
引言 每天收到无数的兄弟团队的同事向系统转ANR JIRA,有些一旦遇到App ANR就直接转到系统组,有些简单看一下就转到系统组帮忙看一下.如此浩瀚的JIRA,我们什么事不做也处理不过来,请每个App owner责任各自ANR. APP Team要先有较深入分析,真正确定是系统问题,再转JIRA 请勿看到binder或者message耗时就直接转到系统,几乎系统所有的通信都离不开这两个基本功能,存在这个不能直接说明问题,要能从逻辑上说得通是系统的问题 如果看完本文,分析完一遍之后,还是无法深入…
趁着周末,大好的日子,总结了一下外显子分析的思路(套路)…