`
mmdev
  • 浏览: 12957179 次
  • 性别: Icon_minigender_1
  • 来自: 大连
文章分类
社区版块
存档分类
最新评论

Handler: Activity 之间通过 Handler 通信

 
阅读更多

假设你已经明白下面的内容,那么这篇博客很适合您!

<1> Application 的作用及用法

<2> Activity、Task 以及 Application 之间的关系

<3> Handler 的用法

真的很感谢anhenzhufeng 这位 CSDN 好友,如果不是他的虚心和认真,恐怕这篇文章难以问世!

再次感谢他在我的博客http://blog.csdn.net/androidbluetooth/article/details/6384641#reply的提问,这篇文章送给他以及有需要的朋友们。希望这篇博客能够帮到您!

读这篇博客之前,我们看看 anhenzhufeng 的问题,见截图,如下:


大致说一下我的思路吧!

多个 Activity 之间可以通过 Application 共享数据,在这里我就让两个 Activity 共享 Handler(更新UI,我一般使用 Handler),主 Activity 中更新 UI,另一个 Activity 发送更新UI的消息。这样就达到在主Activity更新UI的目的。好吧,具体看代码!

1. 主 Activity 的 main.xml

2.主 Activity 的Java 代码

3. 自实现Application

对于Application可以参考sdk api文档。在这里,我就直接使用,不做解释!

4. 改变主Activity UI 的Activity

该 Activity 是ToChangeViewActivity,Java、以及布局文件 show.xml 代码如下。

5. 修改manifest.xml文件
这里主要注意两点:

<1> 声明 Application

<2> 注册ToChangeViewActivity

代码,如下:

6. 运行效果

点击 " To OtherActivity",进入ToChangeViewActivity


再点击“ change the MasterActivityView...”


改变效果


7. 最后思考

这里只是两个Activity之间交互,多个 Activity 之间需要考虑设置launchMode 即 Activity 的加载模式,更多关于这方面的知识可以参考:

http://blog.csdn.net/androidbluetooth/article/details/6547670

http://download.csdn.net/source/3368975


本篇博客源码下载地址:http://download.csdn.net/source/3447670



分享到:
评论

相关推荐

    android 实例 Activity 之间通过 Handler 通信

    android 实例 Activity 之间通过 Handler 通信

    bindService实现将Service中的数据展示到activity中

    描述:实现展示Service中的数据到activity 主要实现思路:回调接口+handler 回调接口:用来获取Service中的数据 handler:用来完成线程之间的通信(数据是在线程中打印的)

    Service与Activity的通信

    写的一个Service与Activity的相互通信,Service发送数据更新绑定的Activity的UI

    Handler和广播在多个页面间通信

    利用广播和Handler进行多个页面间通信,比如ActivityA,ActivityB,ActivityC三个页面,从A-&gt;B -&gt;C C做完某些操作后,需要更新A和B中的页面或者调用A和B中的方法时,在此例子中能找到你想要的!

    Android中子线程和UI线程通信详解

    Android中子线程和UI线程之间通信的详细解释 1.在多线程编程这块,我们经常要使用Handler,Thread和Runnable这三个类,那么他们之间的关系你是否弄清楚了呢?下面详解一下。 2.首先在开发Android应用时必须遵守单...

    Handler+Looper+MessageQueue+Message机制

    当子线程中进行耗时操作后需要更新UI时,通过Handler将有关的UI操作切换到主线程中执行。 四要素: Message(消息):需要被传递的消息,其中包含了消息标识(what),消息处理数据和处理对象(arg1,arg2,obj),发送...

    Android中使用开源框架eventbus3.0实现fragment之间的通信交互

    1.概述 ...作用是可以代替传统的Intent,Handler,Broadcast或接口函数在Fragment、Activity、Service、线程之间传递数据进行通信,执行方法。做为消息总线,有三个主要元素: (1)Event:事件 (2)Subs

    android 面试2

     Looper:是Handler和消息队列之间通讯桥梁,程序组件首先通过Handler把消息传递给Looper,Looper把消息放入队列。Looper也把消息队列里的消息广播给所有的    Handler,Handler接受到消息后调用handleMessage...

    HandlerStudy

    ##Handler机制:###1、Handler是什么?handler是Android给我们提供来更新UI的一套机制,也是一套消息处理的机制,我们可以发送消息,也可以通过它来处理...自己创建的线程通过handler和主线程通信,调用post和sendMessa

    Android在后台最小化的多线程下载程序实例.rar

    service 与activity 之间的消息通信 既是activity向service发消息 需要实现ServiceConnection接口 绑定服务, 第一次启动BackStage的Activity时启动接收广播,需要知道当前SD卡的目录,Environment....

    ( 第一个Android的完整程序(UDP通讯工具)

    Android UDP通信之Handler、Activity、UI更新

    双鱼林安卓Android代码生成器 v2.0.zip

    提供通过使用面向对象的方法,设计所需系统中的基础对象(类),并根据专业级的“三层架构模板”生成专业级的界面和源代码,同时设计系统和数据库:采用“数据映射”建立基础对象(类)与数据表之间的关系,在设计类...

    server无内存泄露.rar

    使用Handler实现Service和Activity之间的双向通信,使用handler时,使用弱引用,无内存泄露,经验证。

    android开发秘籍

    3.2 线程之间的消息机制:handler 46 3.2.1 秘诀17:从主线程调度runnable 任务 46 3.2.2 秘诀18:使用倒数计时器 49 3.2.3 秘诀19:处理耗时的初始化工作 50 3.3 服务 51 3.4 添加broadcast receiver 56 3.5 ...

    Android 线程开发 开发实例

    andriod提供了 Handler 和 Looper 来满足线程间的通信。例如一个子线程从网络上下载了一副图片,当它下载完成后会发送消息给主线程,这个消息是通过绑定在主线程的Handler来传递的。 在Android,这里的线程分为有...

    工作中经常用到的android开发代码2

    7. activity 间互相通信Intent通信 onActivityResult的使用 8. activity 传递数据 10. SharedPreferences 11.RelativeLayout 控件位置的摆放 12.菜单 13.android模拟器设置为WVGA800时窗口只占半屏解决方法 14.获取...

    Android实例代码

    3.5、Handler消息传递机制: 第4章、深入理解Activity 4.1、建立、配置和使用Activity: 4.2、Activity的回调机制: 4.3、Activity的生命周期: 第5章、使用Intent和IntentFilter进行通信 5.1、Intent对象详解...

    疯狂Android讲义(第2版)源代码 第6章~第9章

    3.5、Handler消息传递机制: 第4章、深入理解Activity 4.1、建立、配置和使用Activity: 4.2、Activity的回调机制: 4.3、Activity的生命周期: 第5章、使用Intent和IntentFilter进行通信 5.1、Intent对象详解...

    ARM Cortex-A8和Android 4.x联动报警系统

    第一部分课程从最基础的Android应用开发环境搭建开始,简单讲解了Android界面及事件处理之后,深入剖析Android Handler多线程机制,重点讲解Android NDK应用层与驱动的通信; 第二部分内容,先简单讲解Android系统...

Global site tag (gtag.js) - Google Analytics