在一个Android项目中用过一个定时器,就是五分中之后没有对程序进行操作,让程序自动退出。
现在写一下几个常用的方式,就以定时炸弹为例
1,两秒之后炸弹爆炸
//定义一个两秒之后的定时器,两秒之后爆炸
Timer timer1 = new Timer();
timer1.schedule(new TimerTask(){
@Override
public void run() {
System.out.println("炸弹爆炸...");
}
}, 2000);
2.两秒之后一个炸弹爆炸,以后是每个一秒爆炸一次,连环爆炸
//两秒之后第一个炸弹爆炸,之后每隔一秒爆炸一次
Timer timer2 = new Timer();
timer2.schedule(new TimerTask(){
@Override
public void run() {
System.out.println("炸弹爆炸...");
}
}, 2, 1);
3.一个连环炸弹,先隔两秒爆炸一次,然后隔四秒爆炸一次,然后再两秒,一秒
//一个连环炸弹,先隔两秒爆炸一次,然后隔四秒爆炸一次,然后再两秒,一秒
class MyTimerTask extends TimerTask{
@Override
public void run() {
count = (count + 1)%2;
System.out.println("炸弹爆炸...");
new Timer().schedule(new MyTimerTask(), 2000 + 2000*count);
}
}
Timer timer3 = new Timer();
timer3.schedule(new MyTimerTask(), 2000);
4.让某日某个时候爆炸
Timer timer4 = new Timer();
timer4.schedule(task, time);
task 是TimerTask
timer 是Date类型
5.每天某个时候爆炸
timer4.schedule(task, delay, period);
timer4.scheduleAtFixedRate(task, firstTime, period);
用其中一个方法即可
period是long类型的
当然第4和第5有第三方的可以让我们使用,直接配置就可以比如quartz