08 2011 档案

摘要:本文算是一篇漫谈,谈一谈当前几个流行应用的主界面布局,找个经典的布局我们自己也来实现一个。不是为了追求到底有多难,而是为了明白我们确实需要这么做。走个题,android的UI差异化市场依然很大,依然值得去挖掘。铸就经典,是为了超越经典!下面我们以下面10个应用来分析比较它们的主界面:1.QQ20112.新浪微博3.凤凰周刊4.小米读书5.微信6.太平洋电脑网7.360卫士8.Camera3609.大众点评网10.挖财1.QQ2011QQ应用最新版本QQ2011 Beta3,从最新的版本看,界面比之前简洁了一些。我以夜间模式为例子:从图中可以看出来,QQ分为3大模块:空间动态,QQ聊天,其他QQ 阅读全文
posted @ 2011-08-28 10:33 谦虚的天下 阅读(14456) 评论(6) 推荐(5) 编辑
摘要:工厂方法模式,往往是设计模式初学者入门的模式,的确,有人称之为最为典型最具启发效果的模式。android中用到了太多的工厂类,其中有用工厂方法模式的,当然也有很多工厂并不是使用工厂方法模式的,只是工具管理类。今天以ThreadFactory举例说明一下简单工厂模式和工厂方法模式。工厂方法模式,Factory Method,简单的方式,不简单的应用。1.意图定义一个用于创建对象的接口,让子类决定实例化哪个类。工厂方式模式使一个类的实例化延迟到其子类。热门词汇:虚构造器 延迟 创建对象 子类2.结构图和代码我们先看看标准的工厂方法结构图:先抽象的产品类,抽象的工厂类,然后用客户端具体的工厂生产相应 阅读全文
posted @ 2011-08-20 11:07 谦虚的天下 阅读(12935) 评论(5) 推荐(1) 编辑
摘要:命令模式,在.net,java平台的事件机制用的非常多,几乎每天都与之打交道。android中对我印象最深的就是多线程多进程的环境,所以必然大量使用到Runbable,Thread,其实用的就是最简单的命令模式。命令模式,Command Pattern,把请求封装为一个对象,多么巧妙的一个说法啊。1.意图将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化,对请求排队或记录请求日志,以及支持可撤销的操作。热门词汇:动作 事物 请求封装 排队 打包 异步2.结构Command接口提供了Execute方法,客户端通过Invoker调用命令操作来调用Recriver,绕了一大圈,但是却把 阅读全文
posted @ 2011-08-13 00:36 谦虚的天下 阅读(9383) 评论(2) 推荐(0) 编辑
摘要:享元模式,给我的感觉就是对象池,缓存单例对象。java中的享元模式最经典的例子就是String类了,还有一个最容易理解的就是word文档字符共享的例子,也是享元模式的经典应用。本文对android中的sql编译类SQLiteCompiledSql说明,展开分析,也是很容易理解的一个例子,其实,android SDK中必然有很多地方需要用到享元模式。享元模式,Flyweight Pattern,说的严重点,一些程序如果不使用享元模式的话,根本不能使用面向对象的方法实现,对象会多的撑爆你的内存:"用面向对象思想设计的应用常常会面临对象实例过多的问题"。1.意图运用共享技术有效地 阅读全文
posted @ 2011-08-10 22:00 谦虚的天下 阅读(7240) 评论(0) 推荐(0) 编辑
摘要:备忘录模式,在工作代码中,要么不用,要么经常用到。举个例子,程序员喜欢写代码,coding,coding,这个时候它的状态是很high,但是每隔一段时间总要去上一下厕所,状态是放松relax,上完测试归来后又恢复到high的状态,继续coding。这个过程对于身后的老板来说,它默认同意你离开去上厕所,他也希望你回来后恢复high的状态继续工作,但是你在这个过程中上厕所的这件事,他是不需要了解细节的,而且做为当事人你也不希望他了解你上厕所的细节吧,你只要回来后恢复激情high着继续工作,老板应该就不会挑你的刺。这就是备忘录模式。本文今天就Canvas的一个save(),restore()操作分析 阅读全文
posted @ 2011-08-09 22:21 谦虚的天下 阅读(7993) 评论(1) 推荐(0) 编辑
摘要:模板方法,和单例模式是我认为GOF的23中最简单的两种模式。但是我个人对模板方法的经典思想特别推崇,虽然模板方法在大对数情况下并不被推荐使用,但是这种通过父类调用子类的方法,使用继承来改变算法的一部分,是面向对象的一种基本认识。打比方说父亲有很多理想,就行医救人吧,但是父亲医术不行,只能靠儿子,儿子长大后遵从父亲大志,春风拂面,妙手回春,实现了父亲的理想,儿子做的事情早在出生前就定下来了,是父亲之前久定好的模板。认识到模板方法的这种思想,父类可以让未知的子类去做它本身可能完成的不好或者根本完成不了的事情,对框架学习大有帮助。本文以View中的draw方法为例,展开分析。模板方法,Templat 阅读全文
posted @ 2011-08-09 00:25 谦虚的天下 阅读(8292) 评论(4) 推荐(1) 编辑
摘要:单例模式,可以说是GOF的23种设计模式中最简单的一个。这个模式相对于其他几个模式比较独立,它只负责控制自己的实例化数量单一(而不是考虑为用户产生什么样的实例),很有意思,是一个感觉上很干净的模式,本人很喜欢这个模式。android中很多地方都用到了单例模式,本文以输入法管理者InputMethodManager为例,展开分析。单例模式,Singleton Pattern,能够以其特有的优势,替代系统中全局变量,应用非常广泛。1.意图保证一个类仅有一个实例,并提供一个访问它的全局访问点。热门词汇:单例 唯一 私有构造2.结构android中有很多系统级别的全局变量,如时间,输入法,账户,状态栏 阅读全文
posted @ 2011-08-07 21:59 谦虚的天下 阅读(11996) 评论(5) 推荐(0) 编辑
摘要:观察者模式,是一种非常常见的设计模式,在很多系统中随处可见,尤其是涉及到数据状态发生变化需要通知的情况下。本文以AbstractCursor为例子,展开分析。观察者模式,Observer Pattern,是一个很实用的模式,本人曾经接触到的各种平台以及曾经参与项目中打印模板解释器中都用到了此模式。1.意图定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。热门词汇:依赖 发布-订阅 事件 通知 更新 监听2.结构这是一个最简单的观察者模式,目标对象能够添加和删除观察者,当自己某种状态或者行为发生改变时,可通过notify通知注册的观察者进行更 阅读全文
posted @ 2011-08-07 00:03 谦虚的天下 阅读(16350) 评论(8) 推荐(3) 编辑
摘要:游标ListView,提供索引标签,使用户能够快速定位列表项。 也可以叫索引ListView,有的人称也为Tweaked ListView,可能更形象些吧。 一看图啥都懂了:1.游标(Fast scroll thumb) 就是右边的那个拖动的方块,这个非常的简单: <ListView android:id="@+id/tweaked_list" android:layout_width="fill_parent" android:layout_height="wrap_content" android:fastScrollEna 阅读全文
posted @ 2011-08-04 09:53 谦虚的天下 阅读(17799) 评论(4) 推荐(9) 编辑