1.计时器Timer基本用法,完成倒计时

public class TimeActivity extends AppCompatActivity {private Timer timer;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);timer = new Timer(true);timer.schedule(timerTask, 1000, 1000); //延时1000ms后执行,1000ms执行一次}TimerTask timerTask = new TimerTask() {public void run() {Message message = new Message();message.what = 1;handler.sendMessage(message);}};Handler handler = new Handler() {@Overridepublic void handleMessage(Message msg) {if (msg.what==1){//回到主线程执行结束操作Log.e("=====", "结束计时");}}};
}

代码很简单,先创建了 handler ,执行在主线程的操作;其次创建了 TimerTask ,在里面执行发送消息的操作;最后,在 onCreate() 方法中初始化 Timer 对象并开始开始执行方法;

2.计时器Timer基本用法,打断倒计时并重新开始计时

public class TimeActivity extends AppCompatActivity {private Timer mTimer; //计时器,每1秒执行一次任务private MyTimerTask mTimerTask; //计时任务,判断是否未操作时间到达3sprivate long mLastActionTime; //上一次操作时间private Button button1;//重新开始计时按钮@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);button1 = findViewById(R.id.button1);//重新计时按钮button1.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {mLastActionTime = System.currentTimeMillis();}});//开始计时startTimer();}Handler handler = new Handler() {@Overridepublic void handleMessage(Message msg) {if (msg.what == 1) {//回到主线程执行结束操作Log.e("=====", "结束计时");}}};private class MyTimerTask extends TimerTask {@Overridepublic void run() {//3s未操作,则结束计时if (System.currentTimeMillis() - mLastActionTime > 3000) {//结束计时removeTimer();// 停止计时任务stopTimer();}}}//开始计时private void startTimer() {mTimer = new Timer(true);mTimerTask = new MyTimerTask();mTimer.schedule(mTimerTask, 0, 1000); //延时1000ms后执行,1000ms检查一次// 初始化上次操作时间为登录成功的时间mLastActionTime = System.currentTimeMillis();}//倒计时完毕的操作private void removeTimer() {Message message = new Message();message.what = 1;handler.sendMessage(message);}// 停止计时任务private void stopTimer() {mTimer.cancel();}
}

上面代码也很简单,主要有:

  • 计时器:每一秒都会执行一次计时器
  • 计时任务:主要是判断时间有没有超过三秒,超过三秒做操作
  • 重新计时按钮:使计时器重新开始计时

结合上面的内容看代码应该非常简单了~~

Android 计时器Timer用法相关推荐

  1. Android 计时器Timer,时间格式化以时分秒显示

    在开发中我们有时会有这样的需求,即在固定的每隔一段时间执行某一个任务.比如UI上的控件需要随着时间改变,我们可以使用Java为我们提供的计时器的工具类,即Timer和TimerTask. API Ti ...

  2. android 计时器 三种,Android计时器的三种实现方式(Chronometer、Timer、handler)

    本文实例为大家分享了Android计时器的三种方法,具体内容如下 目录: 1.借助Timer实现 2.调用handler.sendMessagedely(Message msg, long delay ...

  3. android计时器代码百度网盘下载,计时器timer app下载

    计时器timer安卓最新版可以很好的进行时间管理,还可以模拟时钟表盘,支持静音操作,按照时间的设定会出现表盘逐渐消失的特效,提高自己的专注力,可以自定义设置白噪音,喜爱的朋友赶快下载体验吧! 官方介绍 ...

  4. Android 计时器实现

    Android 计时器实现 一.CountDownTimer 二.handler.postDelayed 三.Handler + Timer + TimerTask 四.Handler + Threa ...

  5. android的timertask,Android 中 Timer 和 TimerTask的使用

    Android中Timer是一个普通的类,其中有几个重要的方法:而TimerTask则是一个抽象类,其中含有一个抽象方法run(). 使用Timer类中的schedule()方法可以完成对TimerT ...

  6. android计时器正确写法,Android计时器正确应用方式解析

    昨天晚上在写一个Android计时器,开始认为很容易,用Java一般写法,结果发现计时器根本不能运行,但却不报任何错误,当时就呆在那了,不知道该怎么办了,后来在网上查了一下,Android考虑到线程安 ...

  7. Android定时器Timer简单使用

    Android定时器Timer简单使用 Timer简介 Timer使用 总结 Timer简介 Timer(计时器)位于 java.util包下,可用于创建定时任务,任务可以安排为一次性执行,也可以定期 ...

  8. android倒计时框_在提示框中:视频游戏播放时间,维修电脑鼠标和极简主义的Android计时器...

    android倒计时框 Once a week we round up some great reader tips and share them with everyone. This week w ...

  9. 施乐202打印监视器_在“提示”框中:打印和玩游戏,DIY管道监视器支架和Android计时器...

    施乐202打印监视器 It's that tips box time of week again; read on to see how you can print games for cheap e ...

  10. Android之Adapter用法总结

    本文转自http://kb.cnblogs.com/a/2328334/,转载请注明原出处. Android之Adapter用法总结 作者:Devin Zhang  来源:博客园  发布时间:2012 ...

最新文章

  1. rbf神经网络_基于RBF神经网络的监督控制(09)
  2. java接口构建英雄属性_Java开发学习心得(三):项目结构
  3. matlab产生扫频余弦信号 chirp用法
  4. 流水线上的思考——异步程序开发模型(2)
  5. MachineLearning(10)-聚类
  6. 中国工商银行的 Service Mesh 探索与实践
  7. Android技能树 — 网络小结(6)之 OkHttp超超超超超超超详细解析
  8. Python实现小球游戏
  9. python中的numpy模块和pandas模块的区别_python的numpy模块- 01.pandas基本数据类型
  10. usb audio知识点
  11. c++ opengl 三维图形中显示文字_opengl基本流程
  12. DataTable转成字符串复制到txt文本
  13. 中国银行业发展前景预测与未来战略规划建议报告2022-2028年版
  14. Android音频播放器
  15. java架构师线下培训,万分膜拜!
  16. android 输入法字典_Android输入法-创建输入法
  17. python数据分析怎么画_跟小白学Python数据分析——绘制维恩图
  18. 最新智云全能API接口查询PHP源码V1.1
  19. Activity跳转后自动执行了onDestroy
  20. 2020-MyBatis面试题

热门文章

  1. html a标签填写header,header中添加a标签,点击无反应
  2. java生成pdf旋转_Java 设置PDF页面大小/旋转、纸张方向、页边距
  3. 计算机组装图纸手画,手工绘图的方法和步骤 -工程
  4. 前端合并单元格(行合并、列合并)
  5. php查询快递,php查询快递的类
  6. c语言入门这一篇就够了-学习笔记(一万字)
  7. 微信隐藏代码功能大汇总-你不知道的微信命令行.doc
  8. ipv6看电视的链接
  9. 微软“玻璃硬盘”问世:2毫米杯垫大小可存储75.8G数据,1000年不坏!
  10. python解二元一次方程组 迭代法_解二元一次方程组多种方法