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来间隔一段时间执行一个操作,也是通过一个线程来做到的。
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来间隔一段时间执行一个操作,也是通过一个线程来做到的。
相关文章推荐
- Android四大组件之Activity
- Android点击EditText以外区域,键盘消失
- Android Studio常用快捷键
- Android Studio中的Gradle相关小知识点
- AndroidStudio Bugzilla
- android初次学习(android studio安装及注意事项 1.5版本)
- Android隐性传值初识
- startActivityForResult的用法(Android)
- Android小记:开发实战经验总结
- 14条Android Studio常用的的配置
- android 5 设置图案锁,锁屏界面进入相机拍照、查看锁定的照片后,退出锁屏界面再进入相机,不能正常拍照,界面白屏。
- android 5.0 录像模式下只有手动对焦没有自动对焦的问题
- 菜鸟的Android学习笔记(一)
- Android控件之ToggleButton
- android自定义渐变色等待条
- Android之XML序列化和解析
- [Android Studio] Gradle项目中添加JNI生成文件(.so文件)
- Android图片加载库:Picasso详解
- 安卓-android.intent.category.DEFAULT
- 关于Android上的定位