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

Activity与Thread之间的通讯(old)

阅读更多
在Android中要让Activity与Thread进行通讯 其实很简单。
重点就在于android .os.Handler、java.lang.Thread以及android.os.Message这三个类的整合应用
我们在Thread中可以通过Message来通知Handler,Handler在这里扮演着联系Acitivity与Thread之间的角色。

首先在Acitivity中我们要定义 一个常量来作为判断标示
private static final int GUINOTIFIER = 0x1234;
然后定义一些例子 里面需要的属性
public Calendar mCalendar;
public int mMinutes;
public int mHour;
public Handler mHandler;
private Thread mClockThread;
接着我们通过Handler来接收Thread所传递的信息
mHandler = new Handler() {
            public void handleMessage(Message msg) {
                switch (msg.what) {
                    case TestHandler.GUINOTIFIER://TestHandler是Activity的类名
                        //得到Handle的通知了 这个时候你可以做相应的操作,本例是使用TextView 来显示时间
                        mTextView .setText(mHour + " : " + mMinutes);
                        break;
                }
                super.handleMessage(msg);
            }
        };

接下来我们自定义一个Thread
class LooperThread extends Thread {
        public void run() {
            super.run();
            try {
                do {//每间隔一秒取一次系统 时间
                    long time = System.currentTimeMillis();
                    final Calendar mCalendar = Calendar.getInstance();
                    mCalendar.setTimeInMillis(time);
                    mHour = mCalendar.get(Calendar.HOUR);
                    mMinutes = mCalendar.get(Calendar.MINUTE);
                    Thread.sleep(1000);
                    //取得系统时间后发送消息给Handler
                    Message m = new Message();
                    m.what = Ex04_14.GUINOTIFIER;
                    Ex04_14.this.mHandler.sendMessage(m);
                } while (!LooperThread.interrupted());//当系统发出终端命令时停止循环
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    }

最后我们启动线程
mClockThread = new LooperThread();
mClockThread.start();
复制代码
利用上面的例子我们可以扩展更多的应用,比如使用Thread进行上传下载 操作,完成后通知主Activity等等
分享到:
评论

相关推荐

    Activity与Service通讯、进程通讯

    ### Activity与Service通讯、进程通讯 #### 概述 在Android开发中,组件间通信是一项基本且重要的功能。本文将详细介绍如何使用`Messenger`机制来实现`Activity`与`Service`之间的通信,以及如何进一步扩展这种...

    Fragment与Activity之间通信实例

    Fragment与Activity之间的通信是Android开发中常见的需求,特别是在创建复杂、动态布局时。本实例将深入探讨这一主题,讲解如何在Fragment和Activity之间有效地传递数据和执行操作。 首先,让我们了解Fragment和...

    详解Android activity与fragment之间的通信交互

    在开发过程中不可避免的会出现fragment与fragment,fragment与activity之间的通信交互问题。 本章讲述如何实现fragment与activity之间的通信。 一、APP构成 MainActivity+底部导航栏; 二、通信目的 MainActivity中...

    android:Fragment和Activity之间的通讯分享.pdf

    那么,为什么需要在 Fragment 和 Activity 之间通讯呢?这是因为 Fragment 不能单独使用,需要放在 Activity 中实现,因此需要一个接口来实现两个东西之间的通讯。例如,我们需要在一个 Fragment 中点击一个按钮,...

    Activity与Service之间通信

    Service的启动,Activity与Service之间数据传递,Binder利用bindService实现Service传递数据给Activity,Activity的成员Broadcast实现Service传递数据给Activity

    activity与activity之间的详解

    activity之间的传递数据的详解。代码简单易懂

    (Activity与Fragment之间进行传值

    本篇文章将深入探讨如何在Activity与Fragment之间进行有效的数据传递。 首先,理解Activity和Fragment的基本概念。Activity是Android应用程序中的一个独立窗口,它可以显示用户界面并与用户交互。而Fragment则是一...

    Android PopupWindow与Activity之间的数据传递.zip

    1. **Intent**:虽然Intent主要用于Activity之间的数据传递,但也可以用在PopupWindow与Activity之间。例如,当用户在PopupWindow中做出选择后,可以通过Intent将数据传回Activity,然后在Activity中处理这些数据。...

    Activity review activity之间的数据传递

    在Android应用开发中,Activity是用户界面的基本单元,它们之间常常需要进行数据的传递。"Activity review activity之间的数据传递"这个主题聚焦于如何在不同的Activity之间有效地传递信息。理解并熟练掌握这一技能...

    实现Activity之间跳转

    Activity之间的跳转是Android应用中常见的操作,用于实现用户在不同界面间的导航。下面将详细介绍如何在Android中实现Activity之间的跳转,并探讨相关的知识点。 1. **Intent的使用** Intent是Android中实现组件间...

    Fragment与Activity 之间的数据传输

    理解并熟练掌握Fragment与Activity之间的数据传输对于创建动态、可复用的用户界面至关重要。 **1. Fragment的基本概念** Fragment是Android中的一个组件,它允许我们在一个Activity中拆分用户界面,从而实现更灵活...

    Activity,Fragment通讯

    在复杂的业务逻辑和交互设计中,Activity与Fragment之间的通信以及Fragment之间的通信是必不可少的。本篇文章将深入探讨如何实现Activity与Fragment之间的有效通信,以及Fragment之间的通信策略。 首先,我们来看...

    Fragment 与 Activity之间传递数据

    本篇将深入探讨Fragment与Activity之间的数据传递,以及如何通过setArguments方法实现这一过程。 首先,了解Fragment的基本概念。Fragment具有自己的生命周期,可以有自己的布局,也可以处理用户事件。它可以在不同...

    activity之间传递文件

    在Android开发中,Activity之间的数据传递是一个常见的任务,特别是在处理文件操作时。"activity之间传递文件"这个主题涉及了Android的Intent机制、文件系统管理以及可能的存储权限问题。在这个场景下,用户需要将名...

    Android四大组件——Activity(一)Activity之间通信及其生命周期变化

    在Android应用开发中,Activity是四大组件之一,它是用户与应用程序交互的主要界面。理解Activity的通信方式和生命周期变化是每个Android开发者必须掌握的基础知识。在本篇内容中,我们将深入探讨Activity之间的通信...

    Activity之间的相互调用与传递参数

    此外,Android的Binder机制也可以实现Activity间的通信,但这通常用于更复杂的场景,如服务与Activity之间的通信,或者跨进程通信。 在实际应用中,有时需要处理Activity的生命周期问题。例如,当从一个Activity...

    Activity之间传递数据

    在Android应用开发中,Activity是用户界面的基本单元,它们之间的数据传递是十分常见的操作。"Activity之间传递数据"这一主题,主要涉及如何使用Intent对象在不同的Activity之间传递各种类型的数据,包括基本数据...

    android activity之间跳转的示例程序

    Activity之间的跳转是Android应用中常见的操作,用于实现不同界面之间的切换。本示例程序是针对初学者设计的一个简单教学项目,旨在帮助理解并掌握Android Activity间的跳转机制。 首先,了解Activity的基本概念。...

    android activity之间的跳转

    android activity之间的跳转

    activity与activity利用接口相互传递数据

    当我们需要在两个Activity之间传递数据时,通常有多种方法,如Intent、Bundle、静态变量、文件、数据库等。本教程将聚焦于一种更为灵活的方式:通过接口进行数据传递。这种方式在某些复杂场景下特别有用,例如当数据...

Global site tag (gtag.js) - Google Analytics