Handler使用

android 有一种叫消息队列的说法,发送消息并不会阻塞线程,而接收线程会阻塞线程,handler与调用者属于同一个线程。

handler通常用来解决更新及时更新ui的作用

 以下分别是两种应用实现

1.通过处理消息队列

 

代码
1 myHandler = new Handler(){
2             @Override
3             public void handleMessage(Message msg) {
4                 // TODO Auto-generated method stub
5                  super.handleMessage(msg);
6                 updateTitle();
7             } 
8 };

 

点击一个按钮执行以下代码

代码
Thread thread = new Thread(new Runnable() {
                @Override
                
public void run() {
                    Message msg 
= myHandler.obtainMessage();
                    msg.arg1 
= 1;
                    msg.sendToTarget();
//这里可以用另一种方式如
/*
Message msg = new Message();
myHandler.sendMessage(msg)
*/
                }
            });
            thread.start();

 

2.通过post方法来直接调用 Runable接口的实现run方法

 

注:直接使用JAVA 的 Thread 是无法更新Android UI的,因为Android View 在设计的时线程是不完全的

posted @ 2010-11-13 10:38  周尚武  阅读(120)  评论(0)    收藏  举报