Android 平台的图像处理

数字图像是由有限个像素点构成的,而通常每一个像素的颜色值采用 RGBA 色彩空间来记录。其中 RGB 对应了如下图红,绿,蓝三原色。A 指 alpha 通道,A 的出现使 alpha 渲染和 alpha 合成成为可能。alpha 的名字来自线性插值方程 αA + (1-α)B 中的希腊字母。

一个简单的多端同步协议设计

如今移动互联网时代数据同步是一个广义的话题。用户通常拥有多个设备终端,在这些终端中做到数据一致显然能够更好的增加用户体验,比如在手机购物和网站短能够同步购物车的内容,不同的手机终端之间同步联系人,协作应用中实时了解其他人的状态等等。面对数据同步的问题,业界已有的 SyncML 等解决方案,但是此类的开源标准往往都是大而全的设计,追求面面俱到反而效率不足。本文借鉴这一标准设计了简单的多端双向同步可扩展的功能。

TextView 显示全文与隐藏功能

经常遇到大段文本需要部分展示的场景,通常的做法是在隐藏的状态下文本末尾加上「显示全文」,在展开的状态下文本末尾加上「隐藏」来控制文本的展示状态。这个交互可能有很多种实现方法,本文则以一个简单的 TextView 来实现这些交互,封装后的 CollapsiableTextView 仅增加了不到 70 个额外的方法数。

定位 读书摘要

很多企业经理人认为,胜负见于市场,但事实并非如此。胜负在于潜在顾客的心智,这是定位理论中最基本的概念。

View ClipBound

应用开发中有很多要为 View 定制的情况,比如下面三种气泡,显然用 9patch 的方式不够灵活,三角处的颜色不好处理。但如果我们能限制起 View 绘制的边界为气泡的形状,那么只需要通常的布局方法就能轻松的完成下图的效果。本文涉及 View 绘制的过程,Path 使用方法。

Android 开发中的 Architecture

移动应用开发的复杂度越来越高,为了应对复杂度的增涨,相应的移动端 architecture 的概念也随之产生。本文就以 android 开发为例谈谈我对移动端复杂单应用架构的看法,其中我们需要先了解为什么需要 architecture,什么情况下需要什么形式的 architecture,然后介绍下当今比较流行的 MVP 是怎样的思路,它解决了什么问题,最后结合现在目前 android 开发的实际情况谈谈在架构上面临着哪些问题。

颠覆式创新 读书摘要

任何一个体系,它必是内部和外部自洽的,这样才能有效运行。但是任何一个内部逻辑完全自洽的体系,一定存在自身的边界,一旦越过边界,这套体系一定是失效的,边界外是另一个新的体系。

创业36条军规 读书摘要

人们总是看到成功者光鲜的一面,而忽略了创业过程的艰辛。创业对一个人的综合素质要求是全方位的,创业之前,一定要认识自己的优缺点,准备充足,如果靠一腔热血一时冲动去创业,往往碰到困难就退却。而人生的道路有千百条,创业只是其中一条,每个人只有找到自己的定位,才能找到属于自己的成功之道。

设计模式

设计模式是面向对象程序设计与分析的最佳实践总结,通常情况下,对于有经验的程序员自然而然的会设计出适应场景好的模式,并不需要刻意学习;然而这种凭经验的写法并不一定是最佳实践,通过对「标准模式」的学习我们可以更精准的掌握这些模式的要点与技巧,更快更好的写出架构最优的代码,同时在学习别人的优秀代码时也会因为熟练掌握这些模式而快速理清架构,从而融会贯通。本文就一些常见设计模式的要点进行总结:

Effective Java - 并发

为了提高程序的性能,尤其是当下多核 CPU 环境下,使用多线程技术是很好的选择。Java 1.5 后在多线程编程方面提供了很多简化工具,比如各种集合如 List,Set,Map 的线程安全版实现,CountDownLatch 等待唤醒等,使多线程编程的难度大大降低。但是这里我们仍然要注意一些问题与技巧如要同步访问共享的可变数据等。