我的应用程序中有一个条件,那就是如何控制计时器。我想要的是恰好在15秒后启动功能,并意味着它应该被取消,并且随着功能结束,它从零开始重新开始。

到目前为止,我所做的是使用timer,并为其设置了1500个延迟和15个重复,但是它一次又一次地启动该功能,我想我在这一行做错了:timer.schedule(doAsynchronousTask, 1500,1 );

这是我完整的计时器代码

private final Handler handler = new Handler();

private final Timer timer = new Timer();

private final TimerTask task = new TimerTask() {

public void run() {

handler.post(new Runnable() {

public void run() {

launchFunction();

}

});

}

};

timer.schedule(doAsynchronousTask, 1500,1 );

void launchFunction(){

Log.d("timer","running");

timer.cancel();

}

但是它没有按预期工作,请帮助我。

最佳答案

阅读文档/**

* Schedule a task for repeated fixed-delay execution after a specific delay.

*

* @param task

* the task to schedule.

* @param delay

* amount of time in milliseconds before first execution.

* @param period

* amount of time in milliseconds between subsequent executions.

* @throws IllegalArgumentException

* if {@code delay < 0} or {@code period <= 0}.

* @throws IllegalStateException

* if the {@code Timer} has been canceled, or if the task has been

* scheduled or canceled.

*/

public void schedule(TimerTask task, long delay, long period) {

if (delay < 0 || period <= 0) {

throw new IllegalArgumentException();

}

scheduleImpl(task, delay, period, false);

}

将时间表设置为timer.schedule(doAsynchronousTask, 15000,15000 );并

维持一个计数器以计数是否达到15次

java 计时器归零_java - 如何每15秒运行一次计时器并取消并重新启动相关推荐

  1. java生日正则表达式_Java编程基础15——正则表达式常用工具类

    1_正则表达式的概述和简单使用 A:正则表达式 是指一个用来描述或者匹配一系列符合某个语法规则的字符串的单个字符串.其实就是一种规则.有自己特殊的应用. 作用:比如注册邮箱,邮箱有用户名和密码,一般会 ...

  2. java 不退出_Java项目不挂断运行,即当账户退出或终端关闭时,程序仍然运行,并附上执行脚本...

    把打包好的jar包上传服务器以后,直接运行java -jar+文件名 命令即可以完成启动. 若需要在公网上如何不挂断开启程序,可以使用nohup java -jar +文件名 &命令,其中no ...

  3. java 设置系统参数_Java如何设置系统参数和运行参数

    系统参数 系统级全局变量,该参数在程序中任何位置都可以访问到.优先级最高,覆盖程序中同名配置. 系统参数的标准格式为:-Dargname=argvalue,多个参数之间用空格隔开,如果参数值中间有空格 ...

  4. java 3d 配置_Java 3D简介及安装运行

    简介 Java 3D是对Java的一个用来显示三维图形的扩展.用Java 3D编写的程序可以运行在很多不同类型的计算机或互联网上. Java 3D类库提供了比其它多数图形库更简单的接口,但仍有足够的能 ...

  5. java 引用队列_Java中的方法队列

    我的目标是在扩展Thread的类中包含一个方法调用队列,该类的run方法每15秒将一次方法调用从队列中弹出一次.可以在庞然大物的开关盒中使用Strings,int或chars以一种可遮盖的方式完成此操 ...

  6. java中如何使用add方法_使用Java中的Calendar.add()方法将秒添加到当前日期

    为Java中的Calendar类导入以下软件包.import java.util.Calendar; 首先,创建一个Calendar对象并显示当前日期和时间.Calendar calendar = C ...

  7. java jpanel隐藏_java – 绘制JPanel隐藏菜单

    我有一个JPanel,在其上执行自定义绘画,可能需要15秒. 问题是当我在绘制JPanel的同时点击一个菜单时,绘画正在菜单上完成,并且选项不可见. (见图中扭曲的文字) 如果我在绘画完成后单击菜单, ...

  8. java 日历工具_java之日历处理工具类Calendar类

    编程语言 java之日历处理工具类Calendar类 字号+ 作者:小虾米 2016-11-08 12:43 Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEAR.MONTH.DAY_O ...

  9. java 微秒 时间_Java中的当前时间(以微秒为单位)

    Java 9和更高版本:捕获当前时刻时,分辨率高达纳秒.那是9位数的小数. Instant.now() 2017-12-23T12:34:56.123456789Z 要限制为微秒,请截断. Insta ...

最新文章

  1. atexit()函数
  2. 【 MATLAB 】rem 函数介绍
  3. 华为鸿蒙10月17日,华为宣布10月17日重磅新机:鸿蒙系统+全球首发屏下摄像头...
  4. .net core实践系列之短信服务-架构优化
  5. 数据结构--链式线性表
  6. 时下超火的在线教育移动应用UI套件设计素材
  7. inode结构详解(深层次理解拷贝,删除,移动的本质)以及硬链接和软链接的区别(图文)
  8. java反射——构造方法
  9. 五子棋java源代码博客园_来来来,五子棋源代码
  10. php100视频教程75到100讲的解压密码
  11. STEP 7 MicroWin SP9 帮助文档修复
  12. Ques核心思想——CSS Namespace
  13. java 栈队列区别是什么意思_Java实现数据结构栈stack和队列Queue是什么?
  14. 中美将改头换面融为一体----中美“一体化”
  15. AES解密失败 WxMaCryptUtils.decrypt(sessionKey,encryptedData, iv)
  16. MissionPlanner日志保存方法
  17. C++取整,四舍五入
  18. 4417. 神奇的字符串
  19. AMD RX 6600 XT怎么样
  20. Solr基础教程之环境搭建(一)

热门文章

  1. 开门红讨采头,开工喜庆红色PSD分层海报模板
  2. 设计灵感|简约复古风格海报设计这样玩
  3. 设计专业作品展示舞台,灵感源泉
  4. 感性精品高清PSD美手分层海报,一键替换,奢华品、首饰、护肤品推荐临摹应用
  5. 源码编译构建安装内核kernel
  6. TCP/IP:TCP SYN Flood攻击原理与实现
  7. Seastar:多核机器上编写高效复杂的服务器应用程序的 C++ 库
  8. C++ STL 教程
  9. C MySql封装类 高性能连接池_在vc中通过连接池操作mysql(api方式),附c++访问mysql的封装类...
  10. python之类的封装、多态、继承