其实我想问我可以从数据库给定时器延迟的价值吗?
Timer timer = new Timer();
TimerTask timerTask = new TimerTask() {
@Override
public void run() {
runOnUiThread(new Runnable() {
@Override
public void run() {
// whatever
}
}
});
}
};
timer.schedule(timerTask,2000,**myDelay**); //here at my delay
在myDelay,我可以通过数据库给出不同的值吗?或者它必须修复?
最佳答案 如果你要用不同的值一直改变时间,我建议你使用
schedule(TimerTask task, long time)
每次从DB获得新的时间时,只需创建一个新的Timer()
time = getNewTimeFromDB();
createNewTask(time);
....
private void createNewTask(long time) {
Timer timer=new Timer();
TimerTask timerTask=new TimerTask() {
@Override
public void run() {
runOnUiThread(new Runnable() {
@Override
public void run() {
// whatever
}
});
}
};
timer.schedule(timerTask,time);
}
这样做的好处是你不必每次都取消计时器,因为它只能运行一次.