摘要:
挺用心的,也挺不错的,转载过来:作为一个大三的预备程序员,我学习android的一大乐趣是可以通过源码学习google大牛们的设计思想。android源码中包含了大量的设计模式,除此以外,android sdk还精心为我们设计了各种helper类,对于和我一样渴望水平得到进阶的人来说,都太值得一读了。这不,前几天为了了解android的消息处理机制,我看了Looper,Handler,Message这几个类的源码,结果又一次被googler的设计震撼了,特与大家分享。android的消息处理有三个核心类:Looper,Handler和Message。其实还有一个Message Queue(消息 阅读全文
随笔档案-2012年8月16日
(转)深入理解之 Android Handler(相当好!!!)
2012-08-16 16:49 by ...平..淡..., 2218 阅读, 收藏,
摘要:
一,相关概念在Android中如果通过用户界面(如button)来来启动线程,然后再线程中的执行代码将状态信息输出到用户界面(如文本框),这时候就会抛出以下的异常信息:5-12 13:33:04.393: ERROR/JavaBinder(1029):android.view.ViewRoot$CalledFromWrongThreadException:Onlythe original thread that created a view hierarchy can touch its views.该异常的意思是,只有最初创建视图层次结构的线程才能接触该结构中的视图,也就是说,不是最初创建界 阅读全文
Android中对于没有Looper的类,要使用Toast的问题
2012-08-16 16:12 by ...平..淡..., 780 阅读, 收藏,
摘要:
因为Toast.java中初始化时,需要创建一个Handler对象,而默认情况下,Handler会与其被定义时所在线程的Looper绑定,比如,在主线程中定义,其是与主线程的Looper绑定,那么,Toast.java中Handler handler = new Handler() 等价于new Handler(Looper.myLooper())。这时,若Handler所在线程没有Looper,则会报错。1.一种解决方法 1 public class TestService extends Service { 2 private Handler handler; 3 ... 阅读全文
浙公网安备 33010602011771号