定时器,在一个程序用的非常常见,如定时刷新.定时提醒.什么的....
楼主在项目中遇到每隔15分钟,定时刷新!
这里 用的 CountDownTimer ,先贴一段断码,随后介绍!
public class MainActivity extends Activity {
// 定义全局变量、查看调用次数
int i = 1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 启动定时器、(类似线程) 周期为:20秒 2秒调用一次
new timer(20000, 2000).start();
}
/**
* 类部类继承 CountDownTimer(android自带定时器) 这里需要重写三个方法
*
* @author asus
*/
class timer extends CountDownTimer {
/**
* 这里在启动时候赋值(毫秒数 1000=1秒)
*
* @param millisInFuture
* 总时间
* @param countDownInterval
* 多少时间调用一次
*/
public timer(long millisInFuture, long countDownInterval) {
super(millisInFuture, countDownInterval);
}
// 当调用全部结束执行
@Override
public void onFinish() {
System.out.println("已经结束");
}
// (关键方法)需要间隔执行代码
@Override
public void onTick(long millisUntilFinished) {
// 设置日期格式 (楼主为了方便查看,打印当前时间、以及调用次数 周期为:20秒 2秒调用一次)
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Log.w("当前时间:", df.format(new Date())+" 调用次数:"+ (i++));
}
}
}
接下来看下效果图:
已经详细说明、不懂看图!
这里 啰嗦一下
启动: start();
终止:cancel ();
转者请附出处!