`

android TimerTask 动态设置时间

 
阅读更多

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



分享到:
评论

相关推荐

    TimerTask执行每日定时任务

    利用jdk中的timer和timertask来实现,每天定时执行的任务。

    Android 利用TimerTask实现ImageView图片播放效果

    在项目开发中,往往 要用到图片播放的效果,今天就用TimerTask和ImageView是实现简单的图片播放效果。... 其中,TimerTask和Timer结合一起使用,主要是利用TimerTask的迭代延时等时间段处理事件的机制。

    Android代码-AMapCircleWave

    Android平台下载了例子瞅了一眼,原理就是AMap.addCircle(CircleOptions options),加上圆形之后,在一定的时间范围内动态改变圆的半径,说白了也就是动画,官方demo使用Timer TimerTask来实现的动画。因为不能满足...

    android时间定时器,短信验证,定时刷新

    TimerTask结合Handler实现了定时任务,可以定时刷新,定时验证短信等

    利用Handler实时更新时间

    本程序实现了在屏幕中实时显示系统时间,其中用到了Handler、Timer、TimerTask、Message等关键技术。

    Android 定时任务过程详解

    android里有时需要定时循环执行某段代码,或者需要在某个时间点执行某段代码,这个需求大家第一时间会想到Timer对象,没错,不过我们还有更好的选择。  一、Timer 实现定时任务 Timer timer; void onCreate

    Android 实现定时器的四种方式总结及实现实例

    Android中实现定时器的四种方式 第一种方式利用Timer和TimerTask 1、继承关系 java.util.Timer 基本方法 schedule 例如: timer.schedule(task, delay,period); //delay为long,period为long:从现在起过delay毫秒...

    黑马程序员 安卓学院 万元哥项目经理 分享220个代码实例

    |--时间之当前时间动态显示 |--时间之自动任务ScheduledExecutorService |--时间之记时器 |--时间日期格式化 |--服务之判断是否处于运行状态 |--服务之定义录音机 |--服务之应用内绑定服务调用方法 |--服务之电话...

    AndroidStudio项目制作倒计时模块的方法

    AndroidStudio项目制作倒计时模块的难度,不是很大,就是主要用了Timer和TimerTask这两个,接着就是现实界面的一些基础效果。 设计界面 做个倒计时的界面就比较好想了,就如下界面控件 填写倒计时时间 获取倒计时...

    Android 双击Back键退出应用的实现方法

    双击退出程序的原理无非就是设置一个退出标识(询问是否退出),如果改变了这个标识(确认退出),则再次点击时立马退出,如果规定时间内没有退出,则延时重置这个标识(不退出)。 延时重置: 使用 Java API 提供...

    Android时分秒计时器的两种实现方法

    主要介绍了Android时分秒计时器的两种实现方法,分别是Chronometer控件和handler+timer+timerTask方式,非常不错,感兴趣的朋友一起看下吧

    androidMP3播放器

    android播放器 private MediaPlayer mediaPlayer; private ListView mListView; private SlidingDrawer slidingDrawer ; // 定义SlidingDrawer private ImageView handle; //歌曲数据库 Cursor cur; // ...

    Android实现定时器的3种方法

    在Android开发中,定时器一般有以下3种实现方法: 一、采用Handler与线程的sleep(long)方法 二、采用Handler的postDelayed(Runnable, long)方法 三、采用Handler与timer及TimerTask结合的方法 下面逐一介绍: 一、...

    应用启动页自定义跳转计时器View Demo

    * 设置倒计时总时间。 * * @param timeMillis 毫秒。 */ public void setTimeMillis(long timeMillis) { this.timeMillis = timeMillis; invalidate(); } /** * 拿到进度条计时时间。 * * @return 毫秒...

    Android定时器Timer的停止和重启实现代码

    本文介绍了Android定时器Timer的停止和重启实现代码,分享给大家,具体如下: 7月份做了一个项目,利用自定义控件呈现一幅动画,当时使用定时器来控制时间,但是当停止开启时总是出现问题。一直在寻找合理的方法...

    Android中使用的定时针(刷新页面请求服务器)详解

    timer.scheduleAtFixedRate(new TimerTask() { @Override public void run() { Message message=new Message(); message.what=1; handler.sendMessage(message); } }, 1000,5000); 2.在线程中创建Handle

    Android计时与倒计时实现限时抢购的5种方法

    在购物网站的促销活动中一般都有倒计时限制购物时间或者折扣的时间,这些都是如何实现的呢? 在一个安卓客户端项目中恰好遇到了类似的问题,一开始使用的是Timer与 TimerTask, 虽然此方法通用,但后来考虑在安卓中是否...

    Android实现倒计时30分钟功能

    以30分钟为例写的一个倒计时: 直接上代码 public class MainActivity extends AppCompatActivity { private int minute = 30;... private TimerTask timerTask; //这是接收回来处理的消息 private Handler h

    Android RxJava创建操作符Interval

    Interval操作符:用于创建Observable,跟TimerTask类似,用于周期性发送信息,是一个可以指定线程的TimerTask 首先添加类库 // RxAndroid compile 'io.reactivex:rxandroid:1.2.1' // RxJava compile 'io.reactivex...

    timer+thread 入门,简单封装

    我们平时经常会用到timer,不过将timer放在主线程...所以我们更倾向于使用多线程实现timer,每隔一段时间再通知主线程更新ui 大致思路: 使用thread,run,handler,msg实现多线程 使用timer,timerTask实现定时器功能

Global site tag (gtag.js) - Google Analytics