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
分享到:
相关推荐
利用jdk中的timer和timertask来实现,每天定时执行的任务。
在项目开发中,往往 要用到图片播放的效果,今天就用TimerTask和ImageView是实现简单的图片播放效果。... 其中,TimerTask和Timer结合一起使用,主要是利用TimerTask的迭代延时等时间段处理事件的机制。
Android平台下载了例子瞅了一眼,原理就是AMap.addCircle(CircleOptions options),加上圆形之后,在一定的时间范围内动态改变圆的半径,说白了也就是动画,官方demo使用Timer TimerTask来实现的动画。因为不能满足...
TimerTask结合Handler实现了定时任务,可以定时刷新,定时验证短信等
本程序实现了在屏幕中实时显示系统时间,其中用到了Handler、Timer、TimerTask、Message等关键技术。
android里有时需要定时循环执行某段代码,或者需要在某个时间点执行某段代码,这个需求大家第一时间会想到Timer对象,没错,不过我们还有更好的选择。 一、Timer 实现定时任务 Timer timer; void onCreate
Android中实现定时器的四种方式 第一种方式利用Timer和TimerTask 1、继承关系 java.util.Timer 基本方法 schedule 例如: timer.schedule(task, delay,period); //delay为long,period为long:从现在起过delay毫秒...
|--时间之当前时间动态显示 |--时间之自动任务ScheduledExecutorService |--时间之记时器 |--时间日期格式化 |--服务之判断是否处于运行状态 |--服务之定义录音机 |--服务之应用内绑定服务调用方法 |--服务之电话...
AndroidStudio项目制作倒计时模块的难度,不是很大,就是主要用了Timer和TimerTask这两个,接着就是现实界面的一些基础效果。 设计界面 做个倒计时的界面就比较好想了,就如下界面控件 填写倒计时时间 获取倒计时...
双击退出程序的原理无非就是设置一个退出标识(询问是否退出),如果改变了这个标识(确认退出),则再次点击时立马退出,如果规定时间内没有退出,则延时重置这个标识(不退出)。 延时重置: 使用 Java API 提供...
主要介绍了Android时分秒计时器的两种实现方法,分别是Chronometer控件和handler+timer+timerTask方式,非常不错,感兴趣的朋友一起看下吧
android播放器 private MediaPlayer mediaPlayer; private ListView mListView; private SlidingDrawer slidingDrawer ; // 定义SlidingDrawer private ImageView handle; //歌曲数据库 Cursor cur; // ...
在Android开发中,定时器一般有以下3种实现方法: 一、采用Handler与线程的sleep(long)方法 二、采用Handler的postDelayed(Runnable, long)方法 三、采用Handler与timer及TimerTask结合的方法 下面逐一介绍: 一、...
* 设置倒计时总时间。 * * @param timeMillis 毫秒。 */ public void setTimeMillis(long timeMillis) { this.timeMillis = timeMillis; invalidate(); } /** * 拿到进度条计时时间。 * * @return 毫秒...
本文介绍了Android定时器Timer的停止和重启实现代码,分享给大家,具体如下: 7月份做了一个项目,利用自定义控件呈现一幅动画,当时使用定时器来控制时间,但是当停止开启时总是出现问题。一直在寻找合理的方法...
timer.scheduleAtFixedRate(new TimerTask() { @Override public void run() { Message message=new Message(); message.what=1; handler.sendMessage(message); } }, 1000,5000); 2.在线程中创建Handle
在购物网站的促销活动中一般都有倒计时限制购物时间或者折扣的时间,这些都是如何实现的呢? 在一个安卓客户端项目中恰好遇到了类似的问题,一开始使用的是Timer与 TimerTask, 虽然此方法通用,但后来考虑在安卓中是否...
以30分钟为例写的一个倒计时: 直接上代码 public class MainActivity extends AppCompatActivity { private int minute = 30;... private TimerTask timerTask; //这是接收回来处理的消息 private Handler h
Interval操作符:用于创建Observable,跟TimerTask类似,用于周期性发送信息,是一个可以指定线程的TimerTask 首先添加类库 // RxAndroid compile 'io.reactivex:rxandroid:1.2.1' // RxJava compile 'io.reactivex...
我们平时经常会用到timer,不过将timer放在主线程...所以我们更倾向于使用多线程实现timer,每隔一段时间再通知主线程更新ui 大致思路: 使用thread,run,handler,msg实现多线程 使用timer,timerTask实现定时器功能