国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
android Handler解析

原文參考:

http://blog.csdn.net/chenzujie/article/details/7562838

android中的Handler類可以用來(lái)執(zhí)行Runnable類的run方法,它不同于java常用的兩種線程調(diào)用方法(1、將Runnable類放入Thread構(gòu)造函數(shù)中,然后調(diào)用start方法執(zhí)行;2、擴(kuò)展Thread類,覆寫run方法,并調(diào)用start方法執(zhí)行),此兩個(gè)方法會(huì)創(chuàng)建一個(gè)新的進(jìn)程執(zhí)行run方法,handler大部分則是在創(chuàng)建它的線程里直接運(yùn)行run方法。

handler可以分發(fā)Message對(duì)象和Runnable對(duì)象到主線程中, 每個(gè)Handler實(shí)例,都會(huì)綁定到創(chuàng)建他的線程中(一般是位于主線程),
        它有兩個(gè)作用: (1):  安排消息或Runnable 在某個(gè)主線程中某個(gè)地方執(zhí)行, (2)安排一個(gè)動(dòng)作在不同的線程中執(zhí)行
      
        Handler中分發(fā)消息的一些方法

        post(Runnable)//立即將Runnable中run方法代碼放到當(dāng)前線程(創(chuàng)建handler的線程)執(zhí)行
        postAtTime(Runnable,long)//在一定時(shí)間后將Runnable中run方法代碼放到當(dāng)前線程(創(chuàng)建handler的線程)執(zhí)行
        postDelayed(Runnable long)//延遲一定時(shí)間后將Runnable中run方法代碼放到當(dāng)前線程(創(chuàng)建handler的線程)執(zhí)行
        sendEmptyMessage(int)
        sendMessage(Message)//發(fā)送一個(gè)消息給調(diào)用此方法的handler,并觸發(fā)該handler的handleMessage(Message msg)方法
        sendMessageAtTime(Message,long)//在某一時(shí)間發(fā)送一個(gè)消息給調(diào)用此方法的handler,并觸發(fā)該handler的handleMessage(Message msg)方法
        sendMessageDelayed(Message,long)//延遲一定時(shí)間后
發(fā)送一個(gè)消息給調(diào)用此方法的handler,并觸發(fā)該handler的handleMessage(Message msg)方法

        以上post類方法允許你排列一個(gè)Runnable對(duì)象到主線程隊(duì)列中,
        sendMessage類方法, 允許你安排一個(gè)帶數(shù)據(jù)的Message對(duì)象到隊(duì)列中,等待更新,Message里可以存放各種數(shù)據(jù),如int,Bundle等來(lái)傳遞數(shù)據(jù)。

public class MyHandlerActivity extends Activity {
    Button button;
    MyHandler myHandler;


    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.handlertest);


        button = (Button) findViewById(R.id.button);
        myHandler = new MyHandler();
        MyThread m = new MyThread();
        new Thread(m).start();
    }


    /**
     * 接受消息,處理消息 ,此Handler會(huì)與當(dāng)前主線程一塊運(yùn)行
     * */


    class MyHandler extends Handler {
        public MyHandler() {
        }


        public MyHandler(Looper L) {
            super(L);
        }


        // 子類必須重寫此方法,接受數(shù)據(jù)
        @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();// 存放數(shù)據(jù)
            b.putString("color", "我的");
            msg.setData(b);


            MyHandlerActivity.this.myHandler.sendMessage(msg); // 向Handler發(fā)送消息,更新UI


        }
    }


}

        
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Android 之 handler 學(xué)習(xí) 1
android消息機(jī)制 之Handler
Android Handler Message Looper機(jī)制原理
Android開發(fā)資料
15. Handler 初探
handler.post 為什么要將thread對(duì)象post到handler中執(zhí)行呢?
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服