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 };
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();
@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 在设计的时线程是不完全的

浙公网安备 33010602011771号