在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通讯、进程通讯 #### 概述 在Android开发中,组件间通信是一项基本且重要的功能。本文将详细介绍如何使用`Messenger`机制来实现`Activity`与`Service`之间的通信,以及如何进一步扩展这种...
Fragment与Activity之间的通信是Android开发中常见的需求,特别是在创建复杂、动态布局时。本实例将深入探讨这一主题,讲解如何在Fragment和Activity之间有效地传递数据和执行操作。 首先,让我们了解Fragment和...
在开发过程中不可避免的会出现fragment与fragment,fragment与activity之间的通信交互问题。 本章讲述如何实现fragment与activity之间的通信。 一、APP构成 MainActivity+底部导航栏; 二、通信目的 MainActivity中...
那么,为什么需要在 Fragment 和 Activity 之间通讯呢?这是因为 Fragment 不能单独使用,需要放在 Activity 中实现,因此需要一个接口来实现两个东西之间的通讯。例如,我们需要在一个 Fragment 中点击一个按钮,...
Service的启动,Activity与Service之间数据传递,Binder利用bindService实现Service传递数据给Activity,Activity的成员Broadcast实现Service传递数据给Activity
activity之间的传递数据的详解。代码简单易懂
本篇文章将深入探讨如何在Activity与Fragment之间进行有效的数据传递。 首先,理解Activity和Fragment的基本概念。Activity是Android应用程序中的一个独立窗口,它可以显示用户界面并与用户交互。而Fragment则是一...
1. **Intent**:虽然Intent主要用于Activity之间的数据传递,但也可以用在PopupWindow与Activity之间。例如,当用户在PopupWindow中做出选择后,可以通过Intent将数据传回Activity,然后在Activity中处理这些数据。...
在Android应用开发中,Activity是用户界面的基本单元,它们之间常常需要进行数据的传递。"Activity review activity之间的数据传递"这个主题聚焦于如何在不同的Activity之间有效地传递信息。理解并熟练掌握这一技能...
Activity之间的跳转是Android应用中常见的操作,用于实现用户在不同界面间的导航。下面将详细介绍如何在Android中实现Activity之间的跳转,并探讨相关的知识点。 1. **Intent的使用** Intent是Android中实现组件间...
理解并熟练掌握Fragment与Activity之间的数据传输对于创建动态、可复用的用户界面至关重要。 **1. Fragment的基本概念** Fragment是Android中的一个组件,它允许我们在一个Activity中拆分用户界面,从而实现更灵活...
在复杂的业务逻辑和交互设计中,Activity与Fragment之间的通信以及Fragment之间的通信是必不可少的。本篇文章将深入探讨如何实现Activity与Fragment之间的有效通信,以及Fragment之间的通信策略。 首先,我们来看...
本篇将深入探讨Fragment与Activity之间的数据传递,以及如何通过setArguments方法实现这一过程。 首先,了解Fragment的基本概念。Fragment具有自己的生命周期,可以有自己的布局,也可以处理用户事件。它可以在不同...
在Android开发中,Activity之间的数据传递是一个常见的任务,特别是在处理文件操作时。"activity之间传递文件"这个主题涉及了Android的Intent机制、文件系统管理以及可能的存储权限问题。在这个场景下,用户需要将名...
在Android应用开发中,Activity是四大组件之一,它是用户与应用程序交互的主要界面。理解Activity的通信方式和生命周期变化是每个Android开发者必须掌握的基础知识。在本篇内容中,我们将深入探讨Activity之间的通信...
此外,Android的Binder机制也可以实现Activity间的通信,但这通常用于更复杂的场景,如服务与Activity之间的通信,或者跨进程通信。 在实际应用中,有时需要处理Activity的生命周期问题。例如,当从一个Activity...
在Android应用开发中,Activity是用户界面的基本单元,它们之间的数据传递是十分常见的操作。"Activity之间传递数据"这一主题,主要涉及如何使用Intent对象在不同的Activity之间传递各种类型的数据,包括基本数据...
Activity之间的跳转是Android应用中常见的操作,用于实现不同界面之间的切换。本示例程序是针对初学者设计的一个简单教学项目,旨在帮助理解并掌握Android Activity间的跳转机制。 首先,了解Activity的基本概念。...
android activity之间的跳转
当我们需要在两个Activity之间传递数据时,通常有多种方法,如Intent、Bundle、静态变量、文件、数据库等。本教程将聚焦于一种更为灵活的方式:通过接口进行数据传递。这种方式在某些复杂场景下特别有用,例如当数据...