一、采用Handler与线程的sleep(long)方法
二、采用Handler的postDelayed(Runnable, long)方法
三、采用Handler与timer及TimerTask结合的方法
下面逐一介绍:
一、采用Handle与线程的sleep(long)方法
Handler主要用来处理接受到的消息。这只是最主要的方法,当然Handler里还有其他的方法供实现,有兴趣的可以去查API,这里不过多解释。
Handler handler = new Handler() { public void handleMessage(Message msg) { // 要做的事情 super.handleMessage(msg); } };
public class MyThread implements Runnable { @Override public void run() { // TODO Auto-generated method stub while (true) { try { Thread.sleep(10000);// 线程暂停10秒,单位毫秒 Message message = new Message(); message.what = 1; handler.sendMessage(message);// 发送消息 } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } }
new Thread(new MyThread()).start();
4. 启动线程后,线程每10s发送一次消息。
二、采用Handler的postDelayed(Runnable, long)方法
这个实现比较简单一些。
Handler handler=new Handler(); Runnable runnable=new Runnable() { @Override public void run() { // TODO Auto-generated method stub //要做的事情 handler.postDelayed(this, 2000); } };
handler.postDelayed(runnable, 2000);//每两秒执行一次runnable.
handler.removeCallbacks(runnable);
三、采用Handler与timer及TimerTask结合的方法
private final Timer timer = new Timer(); private TimerTask task; Handler handler = new Handler() { @Override public void handleMessage(Message msg) { // TODO Auto-generated method stub // 要做的事情 super.handleMessage(msg); } };
task = new TimerTask() { @Override public void run() { // TODO Auto-generated method stub Message message = new Message(); message.what = 1; handler.sendMessage(message); } };
timer.schedule(task, 2000, 2000);
1. 定时器任务(TimerTask)顾名思义,就是说当定时器到达指定的时间时要做的工作,这里是想Handler发送一个消息,由Handler类进行处理。
2. java.util.Timer.schedule(TimerTask task, long delay):这个方法是说,dalay/1000秒后执行task.只执行一次。
java.util.Timer.schedule(TimerTask task, long delay, long period):这个方法是说,delay/1000秒后执行task,然后进过period/1000秒再次执行task,这个用于循环任务,执行无数次,当然,你可以用timer.cancel();取消计时器的执行。
相关推荐
android 中定时器的3个实现方法(均测试通过) 一、采用Handler与线程的sleep(long)方法 二、采用Handler的postDelayed(Runnable, long)方法 三、采用Handler与timer及TimerTask结合的方法
在提供的压缩包文件`TimerTest` 中,可能包含了对这些定时器实现的测试代码,通过阅读和分析这些代码,你可以更深入地理解它们的工作原理和用法。同时,实践是最好的老师,动手尝试编写和调试这些定时器,将有助于你...
在android中,经常用到的定时器主要有以下几种实现: 一、采用Handler与线程的sleep(long )方法 二、采用Handler的postDelayed(Runnable, long) 方法 三、采用Handler与timer及TimerTask结合的方法。 三种方法都有...
以上介绍了三种不同的Android定时器实现方式,每种方法都有其适用的场景。开发者可以根据实际需求选择最合适的方式来实现定时任务。需要注意的是,在实际开发中,还需要考虑内存泄漏等问题,确保应用程序的稳定性和...
本文将详细介绍Android中如何实现定时器功能,包括两种主要的定时机制:`Handler`与`AlarmManager`。 一、基于Handler的定时器 `Handler`是Android消息处理机制的一部分,它可以配合`Looper`和`Message`实现延时或...
1. **Android定时器(Timer)** Android中的定时器并非直接内置在SDK中,而是通过Java的标准库`java.util.Timer`和`java.util.TimerTask`来实现。`Timer`类用于调度任务在未来某个时间点或定期执行,而`TimerTask`...
本文将详细介绍三种实现Android定时器的方法,并提供相应的代码示例。 ### 方法一:Handler + Thread 这种方法利用了Android的消息机制。首先创建一个`Handler`对象,然后在一个后台线程(通常是一个`Thread`)中...
下面是一个在Android中使用定时器Timer和TimerTask的启动,停止,暂停,继续等操作的demo。 需要注意的问题主要有两点: 1、Timer和TimerTask在调用cancel()取消后不能再执行 schedule语句 2、只能在UI主线程中更新...
总之,理解并掌握这些定时器实现方式对Android开发者来说非常重要,因为它们在各种场景下都能发挥关键作用,如定期检查网络状态、执行后台任务或实现动画效果等。选择合适的方法可以提高程序性能和用户体验。
本文将详细介绍在Android中实现定时器的三种方法。 1. **Thread.sleep()** 方法 这种方法是通过在线程中调用`Thread.sleep(millis)`来实现定时。它会使得当前线程暂停执行指定的毫秒数。以下是一个简单的示例: ``...
本示例“android 定时器demo”主要聚焦于Android的定时器使用,通过源码分享,帮助开发者深入理解并掌握如何在Android应用中实现定时任务。下面将详细解释相关知识点。 1. **AlarmManager**: `AlarmManager` 是...
在Android开发中,定时器一般有以下3种实现方法: 1、采用Handler与线程的sleep(long)方法 2、采用Handler的postDelayed(Runnable, long)方法 3、采用Handler与timer及TimerTask结合的方法
本文将深入探讨`Android Service`和定时器的基本概念、使用方法以及如何结合它们来实现每3秒打印一次日志的功能。 **Android Service** `Android Service`是一种在后台运行且不与用户界面直接交互的应用组件。它...
Android提供了两种主要的定时器实现:Java.util.Timer和AlarmService。这两种方法各有特点,适用于不同的场景。 首先,Java.util.Timer是Java标准库中的类,它允许开发者安排在特定时间运行的任务。在Android中,...
跟handler自身实现的定时器相比,Timer可以做一些复杂的处理,例如,需要对有大量对象的list进行排序,在TimerTask中执行不会阻塞子线程,常常与handler结合使用,在处理完复杂耗时的操作后,通过handler来更新UI...
总结起来,Android定时器结合Handler和Message是实现UI动态更新的有效方式,尤其在游戏开发中,这种机制常用于创建流畅的动画效果和实时的游戏逻辑。通过合理使用这些组件,开发者可以为用户提供更丰富的交互体验。
在Android开发中,闹钟(Alarm)和定时器(Timer)是两个常用的功能,它们用于在特定的时间点或间隔执行任务。本示例主要讲解如何使用Android的`AlarmManager`来实现一个简单的闹钟定时器功能。由于Android系统的...
"基于Android中实现定时器的3种解决方法" Android中实现定时器的3种解决方法是Android开发中非常重要的技术之一。在Android开发中,定时器一般有以下3种实现方法:一、采用Handler与线程的sleep(long)方法;二、...
Android中实现定时器的四种方式 第一种方式利用Timer和TimerTask 1、继承关系 java.util.Timer 基本方法 schedule 例如: timer.schedule(task, delay,period); //delay为long,period为long:从现在起过delay毫秒...