我最终还是把日记移回到了博客中。的确,我的日记只是每天写点自己在Android中的心得,很难保证质量,发在论坛里是不合适,对大家造成的影响表示歉意。
前几天家里的网一直不好,所以欠下了几篇日记,我已经补齐了,现在就都慢慢发上来吧。
项目中用到了Timer,毕竟也是第一次用,就自己写点东西总结下吧,当然,写得不好,也请包涵。
Timer是一个时间控制器,一般来说,和TimerTask一起用,由Timer来控制时间,TimerTask来控制执行的任务。
先来看下Timer提供的方法:
cancel():取消当前正在准备的任务,当前正在执行的任务并不会取消,但是,其后的任务不会执行。
purge():删除任务队列中的已取消的任务。
接下来的6个方法,我就按照类别说下了,就提出了3个,另外的3个只是把delay这个参数改成Date就行了,用法并没有太大区别。
void schedule(TimerTask task, long delay) :在delay时间后执行task,只执行一次。
void schedule(TimerTask task, long delay, long period) :在delay时间后执行task,以period时间间隔循环执行task任务。
void scheduleAtFixedRate(TimerTask task, long delay, long period) :同上一个方法一样,也是在delay时间后执行task,以period时间间隔循环执行task任务。
但是,两者还是有区别的,使用schedule()的话,如果在循环中,执行task之前有任务正在执行的话,那task就会被延后执行,而scheduleAtFixedRate()则会一直执行,并不会被其他任务干扰。
同时还要注意一点,TimerTask类似于起一个线程,所以,在通过TimerTask来执行UI方面的操作的话,必须用Handler,我想,很多新手和我一样,知道Android使用线程更新UI需要用Handler,但是在写代码的时候往往都不会注意到,知道程序报错了才反应过来。
一般的使用就是分别实例化Timer和TimerTask,在TimerTask中通过run()来进行相关操作,Timer就使用上面讲的方法来调用TimerTask。
分享到:
相关推荐
在Android开发中,有时我们需要实现一个定时执行的任务,比如定期检查更新、自动同步数据或执行某种后台服务。这时,`TimerTask` 和 `Timer` 类就派上了用场。本篇将详细介绍如何在Android中使用`TimerTask`来实现...
2. **自定义Service结合Timer/TimerTask**:另一种方式是在自定义Service中直接使用Timer和TimerTask。首先,在Service的onCreate()或onStartCommand()方法中初始化Timer,然后创建一个TimerTask实例,设置其执行...
### MSP430功能模块详解之——Timer A 在深入探讨MSP430单片机中的Timer A之前,我们先来了解下该模块的基本概念及其重要性。Timer A是MSP430系列微控制器中一个非常重要的功能模块,主要用于实现定时与计数功能。...
下面是一个在Android中使用定时器Timer和TimerTask的启动,停止,暂停,继续等操作的demo。 需要注意的问题主要有两点: 1、Timer和TimerTask在调用cancel()取消后不能再执行 schedule语句 2、只能在UI主线程中更新...
本篇文章将详细探讨Android中的Timer类以及如何使用它来实现定时任务。 `Timer`类是Java.util包下的一个工具类,它提供了调度任务在未来某个时间点执行的功能。虽然在Android中,我们更倾向于使用`Handler`、`...
在Android开发中,`Timer`类是一个非常关键的组件,用于执行延时或者周期性的任务。这个类在很多场景下都是不可或缺的,比如动画、定时更新数据、倒计时等。下面将详细介绍`Timer`的使用及其相关知识点。 首先,`...
其中,定时器是其核心功能之一,对于实时性要求高的应用至关重要。本文将详细介绍TMS320C6713中的定时器功能及其使用方法。 一、TMS320C6713定时器概述 TMS320C6713内置了多个定时器模块,包括通用定时器(General...
这篇博客"android学习日记-3 Timer"深入探讨了`Timer`类的使用方法及其背后的原理。下面将详细阐述`Timer`类的核心概念、工作原理以及如何在Android应用中合理利用它。 `Timer`类是Java提供的一个非线程安全的调度...
本知识点将详细讲解如何在Android项目中使用RxJava2的`Timer`功能。 首先,RxJava2是RxJava的第二代版本,它提供了一个灵活的事件流处理库,允许开发者通过观察者模式处理异步数据流。`Timer`是RxJava2中的一个操作...
今天我们要探讨的是一个经典的Android项目——"jwood-standup-timer",它是一个简洁而实用的站立会议计时器。通过分析这个项目,我们可以深入理解Android应用开发中的核心概念和技术。 1. **站立会议(Standup ...
在C#编程中,`Timer`和串口通讯(Serial Communication)是两个非常重要的概念,它们在各种实际应用中有着广泛的应用。`Timer`组件常用于实现周期性任务,而串口通讯则允许设备间通过串行接口进行数据交换。 **一、...
在Android应用开发中,定时器(Timer)是一个非常重要的组件,它允许开发者在特定的时间间隔执行某些任务。本文将深入探讨Android中的定时器机制,包括基本概念、使用方法以及源代码解析。 一、定时器(Timer)基础...
在Android平台上,计时器(Timer)是一种非常实用的功能,它可以帮助我们实现各种定时操作,例如倒计时、定期更新UI、执行特定任务等。在Android应用开发中,计时器通常通过`java.util.Timer`类或者使用Android提供...
相比之下,`CountDownTimer`是Android专门为倒计时设计的一个类,它提供了更精确的倒计时控制,并且易于使用。 首先,让我们来看看如何使用`CountDownTimer`。这个类有两个必须传入的参数:总时长(以毫秒为单位)...
在编程领域,时间控制语句和控件是创建动态应用的关键元素之一,它们允许程序按照预设的时间间隔执行特定操作。本主题将深入探讨“Timer”控件的使用,它是.NET框架中一个非常实用的组件,常用于Windows Forms应用...
C语言02-Timer0-Timer1-Timer2-Timer3-Timer4测试程序(STC32G-DEMO-CODE-220311kw)C语言02-Timer0-Timer1-Timer2-Timer3-Timer4测试程序(STC32G-DEMO-CODE-220311kw)C语言02-Timer0-Timer1-Timer2-Timer3-Timer4...
没事儿时用VB写的holtek 46x单片机 定时器1 的初值计算。没有作错误处理,慎重使用!
自动切换——Timer + Handler** 为了实现自动切换,我们可以使用`Timer`和`Handler`。首先创建一个Handler实例,然后定义一个Runnable对象,在run方法中更新ViewPager的当前页,并将Runnable对象postDelay到...
这份"IOS应用源码——timer.rar"压缩包包含了一个关于iOS计时器使用的示例项目,我们可以从中学习到如何在Objective-C或者Swift中有效地使用NSTimer和CADisplayLink。 首先,我们要了解iOS中的两种主要计时器类型:...
在这种场景下,Android提供了多种机制来实现定时任务,包括`Timer`、`TimerTask`以及`Handler`。这三种工具可以协同工作,确保数据更新和View更新的同步,从而避免界面卡顿和不流畅的问题。 1. **Android Timer** ...