Timer 以及TimerTask的用法,大概就是每隔一定的时间执行一段代码。具体的这里就不介绍了,比较简单。
这篇博客要说明的是,如何动态的设置时间。
下面要说明的是Timer在设置了一个任务之后,会按照你指定的时间进行循环。这个时候,如果你想修改时间,是很困难的,因为系统没有提供修改时间的接口。
我的做法是:把Timer和timertask都重新创建一个新的对象。再此设置你想要设置的时间。
class MyTimerTask extends TimerTask {
@Override
public void run() {
// TODO Auto-generated method stub
dowhatyouwant();
if (mTaskTime != mGetDataTime) {
mTimer.cancel();
Log.i(TAG, "handlemessage mTaskTime is " + mTaskTime + " mGetDataTime is "
+ mGetDataTime);
mTimer = new Timer();
mTaskTime = mGetDataTime;
myTask = new MyTimerTask();
mTimer.schedule(myTask, mTaskTime, mTaskTime);
}
Log.i(TAG, "get data in service!the time is " + mTaskTime);
}
}
在程序的其他地方重新设置mGetDataTime的值,当运行到run方法的时候,Timer会更新触发的时间,下一次的触发时间将会是你设置的mGetDataTime
分享到:
相关推荐
创建`Timer`对象后,通过`schedule(TimerTask task, long delay)`方法可以设定任务在延迟特定毫秒后执行,而`schedule(TimerTask task, long initialDelay, long period)`则可以设置周期性执行任务。 2. **...
下面是一个在Android中使用定时器Timer和TimerTask的启动,停止,暂停,继续等操作的demo。 需要注意的问题主要有两点: 1、Timer和TimerTask在调用cancel()取消后不能再执行 schedule语句 2、只能在UI主线程中更新...
在Android开发中,有时我们需要实现一个功能,即在界面上动态地显示文本,例如计时器、滚动消息等。这个任务通常涉及到线程管理和定时触发事件。本篇将重点讲解如何利用`Timer`和`TimerTask`这两个工具来实现这样的...
要实现每天定时执行,我们可以计算出距离当天0点的延迟时间,并设置为定时器的初始触发时间。之后,通过设定周期参数,可以使得任务每天重复执行。以下是如何使用`Timer`创建每日定时任务的示例: ```java import ...
本篇将详细介绍如何在Android中使用`TimerTask`来实现定时任务,并通过一个简单的Demo进行示例说明。 `TimerTask`是Java提供的一个定时执行任务的类,它继承自`Runnable`接口。创建一个`TimerTask`对象,然后将其...
在Android应用开发中,`TimerTask` 是一个非常重要的工具,用于执行周期性的后台任务。本文将深入探讨`TimerTask`的基本用法以及在实际应用中的注意事项。 首先,`TimerTask`是`java.util.Timer`类的一个子类,它...
"Android-UI-TimerTask.rar"这个压缩包文件显然关注的是如何在Android系统中利用`TimerTask`来实现定时更新UI的任务。`TimerTask`是Java语言中的一个类,它允许开发者在特定的时间间隔执行重复或一次性任务,这对于...
在Java和Android中,常见的定时器实现方式有多种,本示例将聚焦于Handler和TimerTask的结合使用。下面我们将详细探讨这两种机制以及如何通过它们实现一个简易定时器。 首先,Handler是Android中的一个核心组件,...
在项目开发中,往往 要用到图片播放的效果,今天就用TimerTask和ImageView是实现简单的图片播放效果。... 其中,TimerTask和Timer结合一起使用,主要是利用TimerTask的迭代延时等时间段处理事件的机制。
总结起来,Java的Timer和TimerTask在Android中是实现定时任务的强大工具,它们允许我们在后台线程中按照预设的时间间隔执行任务,并通过Handler与主线程通信,安全地更新UI。然而,使用时需要注意线程管理、资源释放...
本教程将深入讲解如何在Android Studio中创建一个能够显示当前日期和时间的Widget,这个Widget会随着手机系统时间的改变而自动更新。 首先,我们需要创建一个新的Android项目,并在res/layout目录下设计Widget的...
这篇文档将深入探讨在安卓平台上实现天气日历时间选择及倒计时功能,以及如何设置提醒。这个压缩包包含了一些示例代码和图片资源,旨在帮助开发者理解和学习如何在Android应用中实现这些功能。 首先,我们需要理解...
标题"Android Framelayout显示静态和动态的扑克牌"暗示我们将探讨如何在Framelayout中展示静态图像(如扑克牌)以及如何实现这些图像的动态效果,这通常涉及到Android的动画机制。 首先,让我们深入了解`...
创建一个Timer实例,然后通过调用`schedule(TimerTask task, long delay, long period)`方法来设置定时任务,其中`delay`参数表示首次执行的延迟时间,`period`参数表示后续执行的周期。 ```java Timer timer = new...
在实际应用中,ScheduledExecutorService通常比Timer更受欢迎,因为它提供了更多的灵活性,比如可以设置线程池大小,支持更复杂的任务调度,且线程池管理更加高效。 总结来说,Java提供了多种方式来实现定时任务的...
TimerTask是Android中用于执行定时任务的工具,它可以按照预定的时间间隔重复执行某个任务。在这个倒计时组件中,TimerTask可能会被用来周期性地更新倒计时的剩余时间。而Handler则在Android的消息处理机制中扮演...
在Android开发中,实时更新界面元素常常涉及到线程间的通信,这里主要讲解如何利用Handler、Timer、TimerTask和Message这四个关键组件来实现这一功能。首先,我们需要理解这些组件的基本概念和作用。 **Handler** ...
在`onCreate`方法中,我们可以设置一个定时器,每隔一定时间自动滚动到下一张图片: ```java final Handler handler = new Handler(); Timer timer = new Timer(); TimerTask task = new TimerTask() { @Override ...
在描述中提到,开发者是基于"前人代码"进行改编,并通过`Timer`和`TimerTask`实现动态更新。`Timer`是Java提供的一个定时任务调度工具,可以按照设定的时间间隔执行指定的任务。在本例中,`TimerTask`被用来定期更新...