天天看點

android---Timer和Handler

timer是一個執行任務的類,他接受timertask的參數;

timer執行任務有兩種方式,一種是在某個指定的時候執行某個任務timer.schedule(timertask task,data data),另一種是在多長時間之後執行某個任務timer.schedule(timertask task,long delay);

timertask中執行指定的任務,但由于android是線程安全的,所有的界面的更新都必須放到主線程中,是以要使用到handler對象。

主體代碼如下:

 timer timer=new timer();

    handler handler=new handler(){

        @override

        public

void handlemessage(message msg){

            switch(msg.what){

            case

1:

                settitle("真的變了");

                break;

            }

            super.handlemessage(msg);

        }

    };

    timertask task =new timertask() {

void run() {

            // todo auto-generated method stub

            //由于主線程安全,頁面的更新需放到主線程中

            message msg =new message();

            msg.what=1;

            handler.sendmessage(msg);

    @override

    public

void oncreate(bundle savedinstancestate) {

        super.oncreate(savedinstancestate);

        setcontentview(r.layout.main);

        //一秒後更改标題

        timer.schedule(task, 1000);

    }

繼續閱讀