更优雅的方式添加 Header 与 Footer

添加头部和尾部的需求,在 Android 开发中特别常见,那么有什么优雅的方法来完成这个工作了?

自定义 Lint 提升代码质量

Android 客户端工程师现在是良莠不齐的阶段,每个人的编程水平不尽相同,这也导致开发出的 APP 在性能和实现效果上面差异很大。Google 也考虑到这个问题,推出了一些常见的编程建议,并通过 lint 这个工具可以告知我们代码中有哪些不合理的实现。Lint 是一款静态代码分析工具,能检查安卓项目的源文件,从而查找潜在的程序错误以及优化提升的方案。

通过 Cache-Control、Last-Modified 和 Etag 优化客户端缓存

http headers

日常开发中,为了不让用户等得着急,或多或少都会用到 Cache。对于一个有着固定链接的图片资源而言,我们可以简单地将其存储起来,以供后续的访问。但对于那些 Uri 一致,但内容可能随时变化的情形而言,就显得有些不太合适了。简单的例子就是微博的 FeedLine,特别是你关注的人很多时,同样的 Uri 在几秒内对应的内容都可能差别很多。另一方面,要将判断 Cache 是否有效的逻辑与 Back End(后端) 结合起来,否则一定在客户端写死,就很难满足动态的需求了。在这边文章里面,不讨论如何去实现一个 Cache 系统,而是就如何与后端结合起来保证 Cache 的有效性来说明。

算法面试精要准备 - 栈

栈是什么呢?很简单,就是实现后进先出(LIFO)的数据结构,在某些算法题中,就会利用栈的这种特性来达成目的。所有代码都已经同步至 https://github.com/woaitqs/common_algorithm,欢迎关注。

Android Launch Mode 详解

我们所最常用的组件就是 Activity,Android 系统为了满足各种开发的需要,赋予了 Activity 四种不同的启动模式。虽然大家很可能都从各个地方了解过 Activity 的启动模式,但还是建议大家看看这篇文章,我会尽可能地理清思路,便于大家更好地理解启动模式。