06 2012 档案

摘要:java.lang.Object↳android.view.View↳android.view.ViewGroup↳android.widget.FrameLayout↳android.widget.ViewAnimator↳android.widget.ViewFlipper ViewFlipper 继承自 ViewAnimator ,而 ViewAnimator 继承自 FrameLayout 。FrameLayout的特点是它的子View是叠加在一起的,由此可以知道ViewAnimator以及ViewFlipper都有这个特性。ViewAnimator 会在它的子View 切换时播放动画 阅读全文
posted @ 2012-06-22 16:31 誑逩の蝸犇 阅读(1239) 评论(0) 推荐(0)
摘要:我们都知道android中更新界面的时候要在主线程中跟新,所以我们通常在线程中更新或者获取数据,但是使用Handler 来更新数据。这里使用的就是android的消息机制。相关的类有Looper,Message,MessageQueue,Handler。Looper是一个消息循环。UI线程默认情况下就有一个消息循环,但是我们自己的线程没有,我们的线程默认的是使用UI线程的Looper。 我们的线程会有多种用途,有的是要更新UI的,有的是与UI不相干的,与UI相关的可以理所当然的使用UI线程的Looper,但是如果与UI线程不相干呢?你也用?好意思吗?这时候我们可以为自己的线程添加Looper. 阅读全文
posted @ 2012-06-20 17:01 誑逩の蝸犇 阅读(356) 评论(0) 推荐(0)
摘要:创建和删除快捷方式主要是Launcher完成的,我们只是把快捷方式的名称、图标、关联的activity信息传递给Launcher而已。我们构造好了Intent信息后,将其以广播的方式发送出去,Launcher会帮忙完成创建、删除,并且会弹出一个Toast。1.下面是系统中Launcher的Manifest文件。从中可以看到它定义了创建和删除快捷方式的permission,因此我们必须在自己的应用中声明权限才行。com.android.launcher.permission.INSTALL_SHORTCUT 创建权限com.android.launcher.permission.UNINSTA. 阅读全文
posted @ 2012-06-18 16:06 誑逩の蝸犇 阅读(6842) 评论(4) 推荐(0)
摘要:今天看Launcher的源代码的时候,看到有个叫original-package,有个哥们已经写过相关的博客,原封不动copy过来。只用于安装在system image的packages。需要注意下这里package="com.android.launcher",产生的R.java就会在com.android.launcher中 这个地方表示,源码包是com.android.launcher2。所以在代码中引用的R.java必须是import com.android.launcher.R;其实很简单,随便写了个测试程序,很容易搞明白。使用标签的话, 等组件在标识" 阅读全文
posted @ 2012-06-18 15:32 誑逩の蝸犇 阅读(267) 评论(0) 推荐(0)
摘要:迪米特法则(Law of Demeter LoD) –>最少只是原则(Least Knowledge Principle,LKP) 一个对象应该对其它的对象有最少的了解 阅读全文
posted @ 2012-06-05 15:25 誑逩の蝸犇 阅读(208) 评论(0) 推荐(0)
摘要:开放关闭原则(Open Close Principle OCP)Software entities like classes,modules and functions should be open for extension but closed for modifications.一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。 阅读全文
posted @ 2012-06-05 14:50 誑逩の蝸犇 阅读(349) 评论(0) 推荐(0)
摘要:接口隔离原则Interface Segregation PrincipleClients should not be forced to depend upon interfaces that they don’t use客户端不应该依赖它不需要的接口The dependency of one class to another one should depend on the smallest possible interface类间的依赖关系应该建立在最小的接口上 阅读全文
posted @ 2012-06-05 14:39 誑逩の蝸犇 阅读(207) 评论(0) 推荐(0)
摘要:依赖倒置原则(Dependence Inversion Principle) High level modules should not depend upon low level modules. Both should depend upon abstractions. Abstractions should not depend upon details.Details should depend upon abstractions. 高层模块不应该依赖低层模块,两者都应该依赖其抽象;抽象不应该依赖细节;细节应该依赖抽象 。 阅读全文
posted @ 2012-06-05 11:19 誑逩の蝸犇 阅读(368) 评论(0) 推荐(0)
摘要:里氏替换原则 If for each object o1 of type S there is an object o2 of type T such that for all programs P defined in terms of T, the behavior of P is unchanged where o1 is substituted for o2 then S is a subtype of T。(Functions that use pointers or references to base classes must be able to use object of d 阅读全文
posted @ 2012-06-05 10:33 誑逩の蝸犇 阅读(1541) 评论(0) 推荐(0)
摘要:Single Responsibility Principle应该有且只有一个原因引起类的变更 阅读全文
posted @ 2012-06-05 10:18 誑逩の蝸犇 阅读(253) 评论(0) 推荐(0)
摘要:ThreadLocal即线程局部变量。功能:为每个使用该变量的线程,提供一个该变量的副本。其实ThreadLocal中拥有一个Map,它是线程->变量的映射。主要方法有三个,set,get,initValue。set与get的作用不用多讲,主要是initValue,它默认返回的是null,子类可以通过重载该方法,来改变默认值。1publicvoidset(Tvalue){2Threadt=Thread.currentThread();3ThreadLocalMapmap=getMap(t);4if(map!=null)5map.set(this,value);6else7createMa 阅读全文
posted @ 2012-06-05 09:26 誑逩の蝸犇 阅读(420) 评论(0) 推荐(0)
摘要:android:configChanges="keyboardHidden|orientation|screenSize" 阅读全文
posted @ 2012-06-01 13:38 誑逩の蝸犇 阅读(213) 评论(0) 推荐(0)