`
zheyiw
  • 浏览: 1019867 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

android 三种定时器的写法

    博客分类:
  • JAVA
阅读更多

一、 使用Timer 和 TimerTask
Timer timer = new Timer();
MyTimerTask timerTask = new MyTimerTask();
timer.schedule(timerTask, 3000, 1); // 延迟3秒钟,执行1次
//timer.cancel();// 取消

class MyTimerTask extends TimerTask {
	@Override
	public void run() {
                //这里不能处理UI操作
		// do something
	}
}
	
------------------------------------------------------------------------
二、采用Handler的sendMessageDelayed(Message, long)
public void startAutoFlowTimer() {
	handler = new Handler() {
		@Override
		public void handleMessage(Message msg) {
			// do something

			Message message = handler.obtainMessage(0);
			sendMessageDelayed(message, 1000);
		}
	};

	Message message = handler.obtainMessage(0);
	handler.sendMessageDelayed(message, 1000);
}

handler.removeMessages(0) //结束调用

---------------------------------------------------------------------------
三、采用Handler的postDelayed(Runnable, long) 方法,这个实现比较简单一些:
1. Handler handler=new Handler();
Runnable runnable=new Runnable(){
	@Override
	public void run() {
		// do something
		handler.postDelayed(this, 2000); //在这里实现每两秒执行一次
	}
};

handler.postDelayed(runnable, 2000);//启动,两秒后执行runnable.

handler.removeCallbacks(runnable);  //停止

---------------------------------------------------------------------------

//延迟执行
// 设置异步线程,
Handler handler = new Handler() {
	public void handleMessage(Message msg) { // handle message
		switch (msg.what) {
		case 1:
			//ui 方法
		}
		super.handleMessage(msg);
	}
};

Message message = handler.obtainMessage(1);
handler.sendMessageDelayed(message, 3000); // 发送message,3秒后隐藏提示框

分享到:
评论
1 楼 androidwifi 2016-03-13  
sendMessageDelayed 不能实现循环, 看看这个方法的含义就知道了

相关推荐

    Android Service 与 定时器

    在Android应用开发中,`Service`和定时器是两个重要的组件,它们被广泛用于实现后台任务和周期性操作。本文将深入探讨`Android Service`和定时器的基本概念、使用方法以及如何结合它们来实现每3秒打印一次日志的功能...

    android 定时器的三种方法

    在android中,经常用到的定时器主要有以下几种实现: 一、采用Handler与线程的sleep(long )方法 二、采用Handler的postDelayed(Runnable, long) 方法 三、采用Handler与timer及TimerTask结合的方法。 三种方法都有...

    android 中定时器的3个实现方法(均测试通过)

    android 中定时器的3个实现方法(均测试通过) 一、采用Handler与线程的sleep(long)方法 二、采用Handler的postDelayed(Runnable, long)方法 三、采用Handler与timer及TimerTask结合的方法

    android 定时器demo

    本示例“android 定时器demo”主要聚焦于Android的定时器使用,通过源码分享,帮助开发者深入理解并掌握如何在Android应用中实现定时任务。下面将详细解释相关知识点。 1. **AlarmManager**: `AlarmManager` 是...

    [代码】android定时器的三种实现方式

    ### Android定时器的三种实现方式 在Android应用开发过程中,定时任务是非常常见的一种需求场景,例如更新UI界面、定期检查网络状态或者定时提醒等。本文将详细介绍三种常用的Android定时器实现方式及其具体应用...

    Android中使用定时器TimerTask类介绍.txt

    Android中使用定时器TimerTask类介绍.txt Android中使用定时器TimerTask类介绍.txt

    android多种定时器实现

    本文将详细探讨在Android中实现定时器的几种常见方式:Timer、CountDownTimer、Handler配合postDelay以及Handler配合sendEmptyMessageDelayed。 1. **Timer与TimerTask** `Timer` 是Java中的一个类,它提供了调度...

    Android三种不同实现方式的定时器

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

    Android 三种实现定时器详解及实现方法

    本文将详细介绍三种实现Android定时器的方法,并提供相应的代码示例。 ### 方法一:Handler + Thread 这种方法利用了Android的消息机制。首先创建一个`Handler`对象,然后在一个后台线程(通常是一个`Thread`)中...

    android 应用 源代码——定时器

    三、创建和使用定时器 下面是如何在Android应用中创建和使用定时器的一个简单示例: ```java // 创建一个Timer对象 Timer timer = new Timer(); // 创建一个TimerTask实例 TimerTask myTask = new MyTimerTask(); ...

    Android中定时器Timer和TimerTask的启动,停止,暂停,继续等操作

    下面是一个在Android中使用定时器Timer和TimerTask的启动,停止,暂停,继续等操作的demo。 需要注意的问题主要有两点: 1、Timer和TimerTask在调用cancel()取消后不能再执行 schedule语句 2、只能在UI主线程中更新...

    andriod studio 定时器启动显示和停止的例子

    首先,我们需要了解Android中的定时器主要分为两种:`java.util.Timer`和`android.os.Handler`。在这个例子中,我们可能会使用到`Handler`来实现定时任务,因为它更适用于UI线程的更新。 1. **创建项目与布局**: ...

    android时间定时器

    首先,我们来了解Android中的两种主要定时器:`AlarmManager`和`Handler`。`AlarmManager`是系统级服务,适用于需要长时间间隔或精确到毫秒的定时任务。而`Handler`则更适合用来进行短时间间隔的重复任务,如界面的...

    Android定时器

    在Android开发中,定时器(Timer)是一个非常重要的工具,用于在特定时间间隔执行预定的任务。在游戏开发中,定时器常被用来实现动画效果、更新游戏状态或执行周期性操作。本示例展示了如何在Android应用中使用...

    android平台定时器介绍

    本文将详细介绍三种常见的Android定时器机制及其使用区别。 首先,我们来看第一种方式,即通过Handler与线程的`sleep(long)`方法配合。这种方式的核心在于创建一个Handler实例来处理接收到的消息,以及一个实现了...

    Android 对话框、进度条、定时器

    在实际开发中,根据需求,你可能需要结合使用这三种组件,比如在后台任务执行过程中,通过对话框显示进度条,并利用定时器更新进度条的状态。以上就是关于Android对话框、进度条和定时器的基本介绍和使用方法,希望...

    Android中使用CountDownTimer封装CountDownUtil,制作一个简易定时器

    Android中使用CountDownTimer封装CountDownUtil,制作一个简易定时器,详细了解请移步:http://blog.csdn.net/zxc514257857/article/details/75022049

    Android中使用定时器的三种方法

    本文将介绍在Android中使用定时器的三种方法,帮助开发者灵活地处理定时任务。 **第一种方法:Thread.sleep()** 这种方式是最简单直接的,通过在线程中调用`Thread.sleep(毫秒数)`来实现延时。例如: ```java ...

    C#三种定时器实现例子:Timer_Test.rar

    本示例项目“Timer_Test.rar”提供了三种不同类型的定时器的实现:System.Windows.Forms.Timer、System.Timers.Timer和System.Threading.Timer。每种定时器都有其特定的应用场景和特性,下面将详细介绍这三种定时器...

    Android-这是一个高仿Nubia定时器的一个自定义view实现了nubia定时器的大部分效果。

    本项目"Android-这是一个高仿Nubia定时器的一个自定义view实现了nubia定时器的大部分效果"就是这样一个例子,它展示了如何通过自定义View来实现类似努比亚(Nubia)手机内置定时器的功能。 首先,我们要理解什么是...

Global site tag (gtag.js) - Google Analytics