閱讀1012 返回首頁    go 阿裏雲 go 技術社區[雲棲]


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() {
        @Override
       
public 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);
    }

最後更新:2017-04-02 06:51:53

  上一篇:go Android開發教程英文視頻(YouTube)
  下一篇:go asp.net關於WEB端用戶重複提交問題。禁用服務器控件按鈕問題。