(1)使用handler的sendMessage(Message对象)方法
(2)使用handler的post(Runnable对象)方法
class A implements Runnable{
public void run(){
Message msg = handler.obtainMessage();//线程池获取Message对象
handler.sendMessage(msg); //1
handler.post(undateUIRunnable );//2
handler.postDelayed(undateUIRunnable ,time);//3
handler.postAtTime(undateUIRunnable ,time);//4
}
}
private Handler handler = new Handler(){
public void handlerMessage(android.os.Message msg){
switch(msg.what){
case://undateUI
case://undateUI
}
}
}
Runnable undateUIRunnable = new Runnable(){
public void run(){
//undate UI
}
}
1、创建类A实现Runnable接口,然后利用A的对象来创建一个子线程new thread(new A()),然后调用start()便是启动子线程:new thread(new A()).start();
2、子线程利用handler传递信息到主线程更新UI。可以使用handler的这几个函数(1、2、3、4)来更新UI,也可以直接这样
handler.post(new Runnable(){
//undateUI
})
也就是直接使用匿名对象的方式。其实创建线程也可以直接使用匿名对象的方式