您的位置:首页 > 移动开发 > Android开发

Android倒计时和定时器

2016-03-29 10:19 183 查看
[java] view
plain copy

/**

* 验证码倒计时

*/

private void startCount() {

new CountDownTimer(60*1000, 1000) {

@Override

public void onTick(long millisUntilFinished) {

bt_code.setText((millisUntilFinished / 1000) + "秒后重新获取");

bt_code.setEnabled(false);

bt_code.setBackgroundResource(R.color.color_gray);

}

@Override

public void onFinish() {

bt_code.setEnabled(true);

bt_code.setText("获取验证码");

bt_code.setBackgroundResource(R.color.color_orange_light);

}

}.start();

}

现在项目中用到需要定时去检查文件是否更新的功能。timer正好用于此处。

用法很简单,new一个timer,然后写一个timertask的子类即可。

代码如下:

[java] view
plain copy

package comz.autoupdatefile;

import java.util.Timer;

import java.util.TimerTask;

public class M {

public static void main(String[] args) {

Timer timer = new Timer();

timer.schedule(new MyTask(), 1000, 2000);

}

}

class MyTask extends TimerTask {

@Override

public void run() {

System.out.println("dddd");

}

}

这样,就可以在1秒钟之后开始执行mytask,每两秒钟执行一次。

当然,timer的功能也可以通过自己构造线程,然后在线程中用sleep来模拟停止一段时间,然后再执行某个动作。

其实,看一下timertask的源码就立即可以知道,timertask就是实现了runnable接口的。也就是说,通过timer来间隔一段时间执行一个操作,也是通过一个线程来做到的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: