模拟下Retrofit的动态代理
Retrofit是目前使用的最Six的网络请求框架,他具有很好的拓展性,支持Xml,Json,Protobuf等协议,调度上支持RxJava,Guava,Java8等方式。为了更好理解Retrofit,我看了下他的源码,发现Square就是牛,代码分层清晰,可复用性强,提供的API对开发者友好诸多优点,虽然用到了反射,但是依然不影响它的优美之处。
Retrofit是目前使用的最Six的网络请求框架,他具有很好的拓展性,支持Xml,Json,Protobuf等协议,调度上支持RxJava,Guava,Java8等方式。为了更好理解Retrofit,我看了下他的源码,发现Square就是牛,代码分层清晰,可复用性强,提供的API对开发者友好诸多优点,虽然用到了反射,但是依然不影响它的优美之处。
Kotlin的语言很简洁,或许可以通过lambda表达式就能惊叹它很优秀,不过函数或许也是它更出彩的地方。
在开始前,我们需要认识到很多类,如集合类,Kotlin其实是基于Java的api,只是对Java类的API又做了拓展,丰富了其API,而不是推倒重建,在JVM重做一套,所以Kotlin是很大一部分API是基于Java对应的API实现的。但是可能会有疑惑为什么Kotlin的集合类有那么丰富的API呢?
不知不觉间,2月份就过去,也就是说2018年已经过去了六分之一,再细想真可怕。
今天继续Kotlin
的学习,主要从lambda
的历史,定义,和集合的函数API,以及推荐使用的with
和apply
两个常用的函数。
经历了一些事情,让我们增加的不仅仅是我们的知识,更多的是这些事情也在改变我们的心态,如前几日得知我的一位同学身犯重病,我们所有人都在诧异的同时也在反思着,万一是我呢,思虑了几天,总觉得该把这些记录下来,为自己,,也为了自己爱的人,我们是时候来深刻反思自我啦。
对于一个有经验的程序员,ProGuard大家一定不陌生,有人说他是混淆,我必须纠正,混淆只是ProGuard的一个过程(我不会称ProGuard为混淆,ProGuard就是ProGuard,谁再说ProGuard才是真正的混淆视听,下面有解释).
ProGuard其实不是Android特有的工具,他其实更早适用于java项目中,优化java代码,保证java程序的安全性。由于Android程序大部分也是是Java代码,所以ProGuard成为Android工程师必修的一门课程。
前几天在研究APK瘦身的相关知识,发现有个很有意思的知识点就是apk的签名 – APK Signature Scheme v2,虽然出来了一段时间,但是这方便真是没做太多的关注,趁着十一刚过的热乎劲撸起袖子干一波。
大家还记得[JakeWharton](https://github.com/JakeWharton)
写的翻遍ui注解的库butterknife
么?
之前我们都是使用findviewById来查找view,有了butterknife
我们摆脱了这种重复代码,通过注解我们解放了生产力,我们可以把更多的经理放到我们的业务和整体的架构上来,而不是不断重复的代码。