摘要: Android的Window类(一)Android的GUI层并不复杂。它的复杂度类似于WGUI这类基于布局和对话框的GUI,与MFC、QT等大型框架没有可比性,甚至飞漫魏永明的MiniGUI都比它复杂许多。您也许会问,这样简单的GUI如何实现浏览器呢?原因很简单,浏览器有自己一套GUI。Android浏览器(WebKit)的GUI和Android的GUI实用同一套GDI——Skia,但GUI层是完全不同的设计,分别自成体系。 Windown类,位于代码树frameworks\base\core\java\android\view\Windowjava.java文件。连同注释,这个文件总共一千. 阅读全文
posted @ 2012-08-03 09:28 xuedianH 阅读(799) 评论(0) 推荐(0)
摘要: Framework定义了客户端组件和服务端组件功能及接口。框架中包含三个主要部分,分别为服务端、客户端和Linux驱动1:服务端服务端主要包含两个重要类,分别是WindowManagerService(WmS)和ActivityManagerService(AmS)。WmS的作用是为所有的应用程序分配窗口,并管理这些窗口。包括分配窗口的大小,调节窗口的叠放次序,隐藏或者显示窗口。AmS的作用是管理所有应用程序中的Activity服务端还包括两个消息处理类。 KeyQ类:该类为WmS的内部类,继承于KeyInputQueue类,KeyQ对象一旦创建,就立即启动一个线程,该线程会不断地读取用户.. 阅读全文
posted @ 2012-08-02 11:52 xuedianH 阅读(1155) 评论(0) 推荐(1)
摘要: 整个Android的窗口机制是基于一个叫做WindowManager,这个接口可以添加view到屏幕,也可以从屏幕删除view。它面向的对象一端是屏幕,另一端就是View,直接忽略我们以前的Activity或者Dialog之类的东东。其实我们的Activity或者Diolog底层的实现也是通过WindowManager,这个WindowManager是全局的,整个系统就是这个唯一的东东。它是显示View的最底层了。写一个简单的代码:WindowManager mWm = (WindowManager)getSystemService(Context.WINDOW_SERVICE); But.. 阅读全文
posted @ 2012-08-02 10:10 xuedianH 阅读(422) 评论(0) 推荐(0)
摘要: Handler类主要作用有两个:1. 在新启动的线程中发送消息2. 在主线程中获取、处理消息 handler实例都是与一个线程和该线程的消息队列一起使用,一旦创建了一个新的handler实例,系统就把该实例与一个线程和该线程的消息队列捆绑起来,这将可以发送消息和runnable对象给该消息队列,并在消息队列出口处处理它们。 时间类消息通过如下方法使用: post(Runnable), postAtTime(Runnable, long), postDelayed(Runnable, long), sendEmptyMessage(int), sendMessage(Me... 阅读全文
posted @ 2012-07-30 10:33 xuedianH 阅读(429) 评论(1) 推荐(0)