关闭

使用Broadcast实现android组件之间的通信

标签: androidbroadcast组件通信
1183人阅读 评论(0) 收藏 举报
分类:

android组件之间的通信有多种实现方式,Broadcast就是其中一种。在activity和fragment之间的通信,broadcast用的更多本文以一个activity为例。
效果如图:
这里写图片描述

布局文件:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/hello_world" />

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/textView1"
        android:layout_marginLeft="27dp"
        android:layout_marginTop="26dp"
        android:text="发送广播" />

</LinearLayout>

MainActivity.java

public class MainActivity extends Activity {

    private Button btn;
    private TextView tv;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        tv = (TextView) this.findViewById(R.id.textView1);

        //接收广播
        LocalBroadcastManager broadcastManager = LocalBroadcastManager
                .getInstance(MainActivity.this);
        IntentFilter intentFilter = new IntentFilter();
        intentFilter.addAction("com.example.test1");
        BroadcastReceiver mItemViewListClickReceiver = new BroadcastReceiver() {
            @Override
            public void onReceive(Context context, Intent intent) {
                tv.setText("1111");
            }
        };
        broadcastManager.registerReceiver(mItemViewListClickReceiver,
                intentFilter);

        btn = (Button) this.findViewById(R.id.button1);
        btn.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {

                //发送广播
                Intent intent = new Intent("com.example.test1");
                LocalBroadcastManager.getInstance(MainActivity.this)
                        .sendBroadcast(intent);
            }
        });
    }
}
0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

用广播(Broadcast)实现不同app之间的通信

Android中广播类型可以分为2种,一种是系统的自动广播,比说说:电量偏低,网络状态改变,系统时间改变等等。另外一种是我们自己自定义的广播,这种就最常见了。 系统发送来的广播可以被我们自己的或是第...
  • huang_xiao_yu
  • huang_xiao_yu
  • 2015-12-26 11:37
  • 3997

android进程间通信之Broadcast

由于android系统中应用程序之间不能共享内存。因此,在不同应用程序之间交互数据(跨进程通讯)就稍微麻烦一些。 这里利用广播接收器来解决不同应用间的通信问题,以及广播接收器使用上的一点总结
  • YLBF_DEV
  • YLBF_DEV
  • 2016-02-18 13:54
  • 1387

Android前台画面和后台service之间通信的方法之Broadcast

Android中service的作用相信大家都很清楚了,主要是在后台执行操作,没有画面,类似于windows中的服务(service); 并且可以在前台activity画面退出时,继续执行后台的服务。...
  • zjy_hll
  • zjy_hll
  • 2014-07-22 13:13
  • 674

Android前台画面和后台service之间通信的方法之Broadcast

Android中service的作用相信大家都很清楚了,主要是在后台执行操作,没有画面,类似于windows中的服务(service); 并且可以在前台activity画面退出时,继续执行后台的服务。...
  • ameyume
  • ameyume
  • 2011-03-30 22:12
  • 9953

Android Service与Activity之间通信:通过Binder对象、Broadcast广播

Android Service与Activity之间通信:通过Binder对象、Broadcast广播 2014年09月05日 ⁄ 综合 ⁄ 共 15251字 ⁄ 字号 小 中 大 ⁄ 评论关闭...
  • qweawdqq
  • qweawdqq
  • 2016-01-28 14:28
  • 261

Android Service与Activity之间通信的几种方式(1)---通过broadcast(广播)的形式

当我们的进度发生变化的时候我们发送一条广播,然后在Activity的注册广播接收器,接收到广播之后更新ProgressBar,代码如下: package com.example.communicat...
  • cxy407
  • cxy407
  • 2015-07-31 22:38
  • 292

Android中BroadCast与Activity之间的通信

在看本文之前,如果你对于Android的广播机制不是很了解,建议先行阅读我转载的一篇博文:图解 Android 广播机制。 由于本案例比较简单,故直接在此贴出代码,不做过多的阐述。 先上效果截图: ...
  • gc_gongchao
  • gc_gongchao
  • 2014-10-09 11:49
  • 6261

Android四大组件之Broadcast使用及运行机制

广播介绍 1.安卓四大组件之一 2.广播使用了观察者模式 3.进程间通信 广播发送 广播分类 1.普通广播(Broadcast) .发送一个广播,所有监听该广播的广播接收者都可以监听...
  • sgzy001
  • sgzy001
  • 2016-03-24 23:18
  • 529

android四大组件之Broadcast(广播)使用详解

一 概述 Broadcast作为android中的四大组件,其重要性可想而知, 在android系统中,广播(Broadcast)是在组件之间传播数据(Intent)的一种机制;这些组件甚至是可以位于...
  • AirMario
  • AirMario
  • 2016-12-23 11:24
  • 1895

Android创建Service后台常驻服务并使用Broadcast通信

本文基于Broadcast通信方式实现了一种Service Thread与Activity异步工作的方法
  • stayneckwind2
  • stayneckwind2
  • 2015-04-19 20:35
  • 2183
    个人资料
    • 访问:1781046次
    • 积分:18154
    • 等级:
    • 排名:第603名
    • 原创:320篇
    • 转载:1篇
    • 译文:2篇
    • 评论:933条
    更多JavaEE资料请关注公众号
    博客专栏
    最新评论