前一段时间终于下定决心将RxJava使用到项目中,现总结一下自己使用RxJava的场景和心得。
细聊代理模式
代理模式在生活中其实很常见,比如,你一觉睡到中午不想去食堂打饭,于是你委托阿黄让他帮你把饭带回来,这就产生了一种代理关系,其中委托人是你,代理人是阿黄,而事件就是打饭,你为了足不出户就能吃到午饭而想到的这馊主意,就是一种代理方法。又比如,你女朋友从外地回来下飞机了,而你又因为一些不可描述的事情不能去接机,这时候你就可以叫你的好基友去机场帮你把女朋友接回来啊,于是你和你好基友就形成了一种代理关系,委托人是你,代理人是好基友,而事件就是接女朋友回来,这种很有可能戴绿帽子的方法就是一种代理方法。然后,将这些代理方法总结规律,抽象出来,上升到一个通用层面的高度,就是代理模式。什么是代理模式呢?通俗地讲,有些事情本应该是你做的,但是你不想做或者不方便做的时候,叫别人替你完成。生活中种种“帮帮忙”的事件,都有代理模式的影子,所以说代理模式在生活中很常见。
教你一分钟实现动态模糊效果
本篇文章已授权微信公众号 guolin_blog (郭霖)独家发布
现在,越来越多的App里面使用了模糊效果,我尤其喜欢雅虎天气的界面,上滑的时候背景图片会跟着移动,最重要的是背景图片会根据手指上下移动的距离来进行不同程度的模糊,感觉甚为惊奇,毕竟大家都知道,在Android平台上进行模糊渲染是一个相当耗CPU也相当耗时的操作,一旦处理不好,卡顿是在所难免的。虽然我并不知道雅虎天气是怎么做出这种效果的,但是简单的模仿一下的话,还是能做到的。
Java中的时间和日期(下)
上篇文章Java中的时间和日期(上)简单介绍了Java中的Date类,Calendar类以及用于格式化的SimpleDateFormater类。使用这些的时候我们会明显地感受到其中的不便之处,比如,Calendar类的月份是从0开始计数的;日期格式输出不够友好,很多情况下都需要使用SimpleDateFormater类来格式化;一些简单得日期计算也比较麻烦等等。所以就有了joda-time
这种第三方库来简化java对于时间和日期的操作。为了改变这种情况,java 8中对时间和日期对处理就吸收了joda-time
库的特性。那么新的时间日期处理会带来怎样的便捷呢?这便是本篇文章所要聊的内容。
Java中的时间和日期(上)
自从JDK 1.0开始,Java就提供了Date来处理时间和日期,作为老古董自然有很多东西是过时的。然后出现了Calendar
来解决了很多问题,但是Calendar
使用比较复杂,并且有些反人类的地方。直到Java 8的出现,它吸收了Joda-Time库的经验,使得Java处理时间和日期变得比较”人性化”了。本篇就来谈谈Java中的Date、Calendar,以及SimpleDateFormat的使用。下一篇再对比一下Java 8中的日期处理。
Android源码的下载、编译与导入到Android Studio
如果只是为了看Android源码的话,有一个很方便的方法,用Android studio打开一个项目,双击shift
,然后输入你想查看的类名,比如ListView
,再敲一下回车,就OK了。那么,为什么要大费周章地下载源码然后编译导入呢?因为
生命不息,折腾不止
哈哈,开个玩笑。
使用注解代替Enum的使用
之前看到廖神的文章: Android 中的 Enum 到底占多少内存?该如何用?,写的非常好,建议大家都看看。
对于enum占用内存想必大家都知道,那么在Android里面什么时候用enum,什么时候用常量,可以参考这一篇文章:Should I strictly avoid using enums on Android?。
那么,对于一些常量,我们想保留类似于enum的约束性,有办法么?