????//??????????μ?Handler?????????????????????????????У???????????

????// Handler??????????? (1) :??????Message??Runnalbe????

????// (2):?????????????????????????.

????//????????????????·???

????// post(Runnable)

????// postAtTime(Runnable??long)

????// postDelayed(Runnable??long)

????// sendEmptyMessage(int)

????// sendMessage(Message);

????// sendMessageAtTime(Message??long)

????// sendMessageDelayed(Message??long)

????//????????? post?????????????Runnable????

????//sendMessage()????????Message????(Message?????????????)

????MyThread m = new MyThread();

????new Thread(m).start();

????}

????/**

????*???????????????? ????Handler?????????????????

????* */

????class MyHandler extends Handler {

????public MyHandler() {

????}

????public MyHandler(Looper L) {

????super(L);

????}

????//?????????д???????????????

????@Override

????public void handleMessage(Message msg) {

????// TODO Auto-generated method stub

????Log.d("MyHandler"?? "handleMessage......");

????super.handleMessage(msg);

????//??????????UI

????Bundle b = msg.getData();

????String color = b.getString("color");

????MyHandlerActivity.this.button.append(color);

????}

????}

????class MyThread implements Runnable {

????public void run() {

????try {

????Thread.sleep(10000);

????} catch (InterruptedException e) {

????// TODO Auto-generated catch block

????e.printStackTrace();

????}

????Log.d("thread......."?? "mThread........");

????Message msg = new Message();

????Bundle b = new Bundle();//???????

????b.putString("color"?? "???");

????msg.setData(b);

????MyHandlerActivity.this.myHandler.sendMessage(msg); //??Handler?????????????UI

????}

????}

????}

????Looper