Android學習之Timer和TimerTask

Timer是一種定時器工具,用來在一個後臺線程計劃執行指定任務。它可以計劃執行一個任務一次或反覆多次。

TimerTask一個抽象類,它的子類代表一個可以被Timer計劃的任務。

應用場景:在指定的時間之後執行某操作

public class TimerTestActivity extends Activity
{
    
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        Timer timer = new Timer();      
        timer.schedule(timerTask, 3000);// 在3秒後執行子線程timerTask
    }
    
    TimerTask timerTask = new TimerTask()
    {
        @Override
        public void run()
        {
            Message message = new Message();
            message.what = 1;
            handler.sendMessage(message);// 發送消息
        }
    };
    
    Handler handler = new Handler()
    {
        public void handleMessage(Message msg)// 處理消息
        {
            switch (msg.what)
            {
                case 1:
                    setTitle("Hello,I am Harvey");
                    Toast.makeText(TimerTestActivity.this, "Hello,I am Harvey", Toast.LENGTH_LONG).show();
                    break;
                default:
                    break;
            }
        }
    };
}

2

import java.util.Timer;
import java.util.TimerTask;

/**
* Simple demo that uses java.util.Timer to schedule a task to execute
* once 5 seconds have passed.
*/

public class Reminder {
    Timer timer;

    public Reminder(int seconds) {
        timer = new Timer();
        timer.schedule(new RemindTask(), seconds*1000);
    }

    class RemindTask extends TimerTask {
        public void run() {
            System.out.println("Time's up!");
            timer.cancel(); //Terminate the timer thread
        }
    }

    public static void main(String args[]) {
        System.out.println("About to schedule task.");
        new Reminder(5);
        System.out.println("Task scheduled.");
    }
}




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章