在网上看了很多类似的文章,比较乱,自己总结了一下,在开发中,常见的执行定时任务的方法有以下几种,
很简单的描述,有什么不懂可以留言,下面来介绍一下这几种常见的方法:
1.直接在线程中睡觉的方法,这个比较常见,操作也方便
class MThread implements Runnable {
@Override
public void run() {
// TODO Auto-generated method stub
try {
do {
Thread.sleep(1000);
count -= 1;
if (count == 0) {
// time=Calendar.getInstance().getTimeInMillis()/1000+myDb.getDiffTime();
count = 30;
}
pb.setProgress(count);
Message msg = new Message();
msg.what = 1111;
mHandler.sendMessage(msg);
} while (!Thread.interrupted());
} catch (Exception e) {
e.printStackTrace();
}
}
}
2.直接使用SystemClock.sleep(1000);进行睡眠,需要注意的是这个会阻塞主线程
SystemClock.sleep(1000);
3.直接使用TimerTask进行定时
这个方法也经常使用,比如开启的splash页面中,常用timertask进行时间以及动画的过渡。
Timer timer = new Timer();
TimerTask MyTask = new TimerTask() {
@Override
public void run() {
}
};
timer.schedule(MyTask, 1000);
4.常用的随机码生成,举个6位数生成的例子吧,这个是生成6位随机数
int numcode = (int) ((Math.random() * 9 + 1) * 100000);
String smstext = "你本次生成的6位安全验证码为:" + numcode;
本文基于中国大陆许可协议发布,部分资源转载自互联网,在这里感谢无私分享的朋友。原创博文版权归Andye拥有,欢迎转载,但是必须保留本文的署名Andye (包含链接http://www.cnblogs.com/yejiurui)。