Android中有多种方式可以使用定时器,以下是其中两种常用的方法:
1. 使用Handler的postDelayed方法
Handler类中提供了一个postDelayed方法,可以在指定的时间后执行指定的任务。具体步骤如下:
1)创建Handler对象,重写其handleMessage方法,在该方法中执行相应的任务。
2)在需要定时执行任务的地方,调用Handler的postDelayed方法,指定延迟的时间和要执行的任务。
例如,以下代码会在延迟1秒后执行mRunnable中的任务:
```
private Handler mHandler = new Handler(new Handler.Callback() {
@Override
public boolean handleMessage(Message msg) {
// 处理消息
return true;
}
});
private Runnable mRunnable = new Runnable() {
@Override
public void run() {
// 执行任务
}
};
mHandler.postDelayed(mRunnable, 1000); // 延迟1秒执行任务
```
2. 使用Timer类
Timer类可以定时执行指定的任务,具体步骤如下:
1)创建Timer对象和TimerTask对象。
2)使用Timer的schedule方法指定定时任务的执行时间和间隔时间。
例如,以下代码会每隔1秒执行一次mTimerTask中的任务:
```
private Timer mTimer = new Timer();
private TimerTask mTimerTask = new TimerTask() {
@Override
public void run() {
// 执行任务
}
};
mTimer.schedule(mTimerTask, 0, 1000); // 每隔1秒执行任务
```
需要注意的是,Timer是在一个单独的线程中执行任务的,如果需要在UI线程中执行任务,需要使用Handler或者其他方式进行线程切换。
网友留言: