简单定时器 Timer

来源:互联网 发布:1099端口占用 编辑:程序博客网 时间:2024/06/06 05:25
package com.crazyit.ui.toastdemo;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.support.v7.app.AppCompatActivity;import android.widget.TextView;import java.util.Timer;import java.util.TimerTask;public class TimerActivity extends AppCompatActivity {    // 定义定时器、定时器任务及Handler    private final Timer timer = new Timer();    private TimerTask task;    int i = 0;    TextView tv;    Handler handler = new Handler() {        @Override        public void handleMessage(Message msg) {            // TODO Auto-generated method stub            // 要做的事情            super.handleMessage(msg);            if (msg.what == 1) { Toast.makeText(TimerActivity.this, "过了几秒钟啦", Toast.LENGTH_SHORT).show();            }        }    };    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_timer);        // 初始化计时器任务        task = new TimerTask() {            @Override            public void run() {                // TODO Auto-generated method stub                Message message = new Message();                message.what = 1;                handler.sendMessage(message);            }        };        timer.schedule(task, 2000, 12000);    }}

** 简要说一下上面三步提到的一些内容:

 1. 定时器任务(TimerTask)顾名思义,就是说当定时器到达指定的时间时要做的工作, 这里是想Handler发送一个消息,由Handler类进行处理。 2. java.util.Timer.schedule(TimerTask task, long delay): 这个方法是说,dalay/1000秒后执行task.只执行一次。 java.util.Timer.schedule(TimerTask task, long delay, long period): 这个方法是说,delay/1000秒后执行task,然后进过period/1000秒再次执行task, 这个用于循环任务,执行无数次,当然,你可以用timer.cancel();取消计时器的执行。 **
0 0