`

使用Runnable和Handler做定时任务

阅读更多
1.定义Handler:
    Handler onlineHandler = new Handler() {

        @Override
        public void handleMessage(Message msg) {
            super.handleMessage(msg);
            switch (msg.arg1) {
                case 0: {
                    home_0.setImageResource(R.drawable.home_2_style);
                    break;
                }
                case 1: {
                    home_0.setImageResource(R.drawable.home_2_status_style);
                    break;
                }
            }
            home_0.postInvalidate();
        }

    };

2,定义Runnable:
   Runnable onlineRunnable = new Runnable() {

        @Override
        public void run() {
            Message m = new Message();
            if (readRd() != null && readRd().trim().equals("0")) {
                m.arg1 = 0;
            } else {
                m.arg1 = 1;
            }
            onlineHandler.sendMessage(m);
//每隔5秒执行一次
            onlineHandler.postDelayed(onlineRunnable, 5000);
        }

3.启动线程:
onlineHandler.post(onlineRunnable);

   
分享到:
评论

相关推荐

    android demo,使用Runnable和Handler的特性实现每个3s的定时器

    通过运行这个示例,开发者可以直观地理解`Runnable`和`Handler`的结合使用方式,以及它们在实现定时任务中的功能。 总结起来,这个`android demo`提供了一个实用的示例,帮助开发者掌握如何在Android环境中利用`...

    Android Handler定时更新UI

    4. **取消定时任务**:在必要时,例如在Activity的onPause或onDestroy方法中,需要取消已调度的Runnable,防止内存泄漏。 ```java @Override protected void onPause() { super.onPause(); handler....

    6.2 创建定时和周期任务

    在"TimingDemo"这个例子中,我们可以推测它可能包含了一个或多个上述的定时任务实现,可能通过创建Handler、TimerTask、AlarmManager的实例或者使用WorkManager来演示如何在Android中创建和管理定时和周期任务。...

    Handler使用

    本篇文章将深入探讨`Handler`的使用方法,包括其基本概念、工作原理以及如何避免内存泄露和实现定时任务。 ### 1. Handler基本概念 `Handler`是Android消息处理机制的核心部分,它与`Looper`和`Message`共同协作,...

    Handler和TimerTask实现的简易定时器

    总结起来,通过Handler和TimerTask实现的简易定时器利用了Java的定时任务机制和Android的消息处理机制,可以在指定的间隔内周期性地执行任务。这种实现方式简单易懂,适用于许多基本的定时需求。但在复杂的应用场景...

    ViewPager和Handler结合使用实现轮播图

    在本项目中,ViewPager与Handler结合,创建了一个定时任务,使得图片能够按照设定的时间间隔自动切换。Handler是Android中处理消息和线程通信的关键工具,它可以在主线程中更新UI,避免了线程同步的问题。通常,我们...

    Handler的介绍和使用方法

    在实际项目中,`Handler`常常用于异步操作的结果回调、定时任务、页面间的通信等场景。然而,过度依赖`Handler`可能导致内存泄漏问题,因为`Handler`持有对创建它的上下文(通常是Activity)的引用,如果未正确关闭...

    Android中handler的使用

    可以通过`sendMessageDelayed()`或`postDelayed()`方法设置消息的延迟发送时间,实现定时任务。 5. **Looper和MessageQueue**: Looper是消息循环的驱动力,它不断从MessageQueue中取出Message,然后交给相应的...

    android中的handler的使用方法

    - 定时任务:`postDelayed()`可用于安排未来某个时间执行的任务。 - 异步通信:在多个线程之间传递数据和控制流程。 6. **注意事项** - 由于Handler通常与主线程关联,确保不要在Handler中执行耗时操作,否则...

    Android 定时任务过程详解

    在Android开发中,通过以下三种方法定时执行任务: 一、采用Handler与线程的sleep(long)方法(不建议使用,java的实现方式) 二、采用Handler的postDelayed... 一、Timer 实现定时任务 Timer timer; void onCreate

    handler详解

    这个例子展示了Handler如何与Runnable结合使用来实现定时任务,并且如何通过点击事件控制这些任务的启动和停止。这只是一个基础示例,实际应用中,Handler可以配合Message对象处理更复杂的逻辑,例如传递不同类型的...

    Android定时重复任务demo

    对于简单的定时任务,开发者还可以使用`Handler`和`Runnable`组合。创建一个`Runnable`对象并在`Handler`的`postDelayed()`方法中指定延迟时间,可以实现定时执行任务。然而,这种方法并不适合长时间或跨组件的任务...

    定时器理论

    * Handler 与线程的 sleep(long) 方法使用线程来暂停和恢复执行,可以实现复杂的定时任务,但是需要注意线程的同步问题。 * Handler 的 postDelayed(Runnable, long) 方法比较简单,适合简单的定时任务,但是不能...

    Android中定时执行任务的3种实现方法(推荐)

    在Android应用开发中,有时我们需要实现定时执行...选择哪种方法取决于具体需求,如定时任务的执行频率、是否需要精确控制以及对性能和资源消耗的考虑。在实际开发中,应根据项目需求权衡利弊,选择最适合的实现方式。

    使用handler 实现预约时间功能

    在Android开发中,`Handler`类是一个至关重要的组件,它主要用于在不同的线程间通信,尤其是在处理异步任务和定时操作时。标题“使用Handler实现预约时间功能”指的是利用Handler来实现在特定时间执行预定任务的功能...

    Android Handler的使用1

    总的来说,Android的Handler机制是实现线程间通信的重要手段,它提供了灵活的消息传递方式,包括直接传递Message、使用Runnable以及定时或延迟执行任务。理解和熟练使用Handler对于编写高效的Android应用至关重要。

    Android Handler Looper

    在实际开发中,Handler、Looper和Message的组合广泛应用在异步任务、定时任务、事件驱动编程等场景。合理利用它们,可以有效地避免在非UI线程直接操作UI引发的异常,保证应用的稳定性和用户体验。同时,需要注意的是...

    Android Handler AsyncTask 异步加载

    3. 使用Handler的`post()`方法(处理Runnable)或`sendMessage()`方法(处理Message)将任务发送到主线程的消息队列。 4. 在Handler的`handleMessage()`方法或`run()`方法中处理接收到的任务并更新UI。 **AsyncTask...

    Android中的Handler的具体用法

    - 延迟执行:`Handler`可以设置延迟发送消息,实现定时任务或延时操作。 - 事件回调:在多个组件间传递事件,实现回调机制。 6. **`Handler`与`AsyncTask`、`IntentService`等的对比** - `AsyncTask`:轻量级的...

    handler全面分析

    除了基本的发送和处理消息,Handler还支持延时发送和定时发送消息,通过`sendMessageDelayed()`和`sendMessageAtTime()`方法可以实现。这在需要延迟执行某些操作或者按时间间隔执行任务时非常有用。 在面试中,面试...

Global site tag (gtag.js) - Google Analytics