android基础:broadcast广播简单实例

main.xml

<RelativeLayout 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:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.mytest.testbroadcast.MainActivity" >

    <EditText
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:hint="@string/param_input"
        android:id="@+id/param_input"/>
    <Button
        android:id="@+id/send_button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@id/param_input"
        android:text="@string/send_button"
        android:onClick="SendBroadCast" /> 

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/param_input"
        android:text="@null"
        android:id="@+id/view_result"
       />    

</RelativeLayout>

AndroidMainFest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.mytest.testbroadcast"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="14"
        android:targetSdkVersion="21" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <!-- 注册广播接收类 -->
        <receiver android:name=".MyBroadCastReceiver">
            <intent-filter>
                <action android:name="com.mytest.testbroad.intent"/>
            </intent-filter>

        </receiver>
    </application>

</manifest>

MainActivity.java 发送广播

package com.mytest.testbroadcast;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends Activity {

    private EditText paramText;
    private TextView resultView;
    private final String ACTION_INTENT_TEST="com.mytest.testbroad.intent";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        paramText = (EditText) this.findViewById(R.id.param_input);
        resultView = (TextView) this.findViewById(R.id.view_result);
    }

    /**
     * 发送广播按钮onclick事件
     * @param view
     */
    public void SendBroadCast(View view){
        String param = paramText.getText().toString();

        //创建发送intent
        Intent intent = new Intent(this.ACTION_INTENT_TEST);
        //绑定参数
        intent.putExtra("user_input", param);
        //发送广播
        this.sendBroadcast(intent); 

        resultView.setText("发送广播成功,参数值为:"+param);

    }

}

MyBroadCastReceiver接收广播

package com.mytest.testbroadcast;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.widget.Toast;

public class MyBroadCastReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        // TODO Auto-generated method stub
        String user_input = intent.getStringExtra("user_input");
        Toast.makeText(context,"接收到广播,得到参数值为"+user_input,Toast.LENGTH_SHORT).show();

    }

}

案例实现小结:
1、定义ACTION,并建立发送Intent,调用sendBroadcast方法发送广播;
2、创建广播接收类。类要继承BroadcastReceiver,并重写onReceive方法;
3、在AndroidManifest.xml中注册广播接收对象,在intent-filter中添加ACTION。

时间: 2024-10-17 11:01:40

android基础:broadcast广播简单实例的相关文章

android基础----&gt;Broadcast的使用

在Android中,Broadcast是一种广泛运用的在应用程序之间传输信息的机制.而BroadcastReceiver是对发送出来的 Broadcast进行过滤接受并响应的一类组件. 目录导航: 广播Broadcast的简要说明 广播Broadcast的准备工作 Broadcast广播的测试 友情链接 广播Broadcast的简要说明 一. 广播的种类:标准广播和有序广播 标准广播:是一种完全异步执行的广播,在广播发出之后,所有的广播接收器几乎都会在同一时刻接收到这条广播消息,因此它们之间没有

android基础:广播BroadCast简单案例

运行效果 string.xml <?xml version="1.0" encoding="utf-8"?> <resources> <string name="app_name">TestBroadcast</string> <string name="param_input">请输入发送参数</string> <string name="

&lt;Android基础&gt;(五) 广播机制 Part 1

1)接收系统广播:a.动态注册监听网络变化 b.静态注册实现开机启动 2)发送自定义广播:a.发送标准广播 b.发送有序广播 3)使用本地广播 第五章 5.1 广播机制 Android中的每个程序都可以对自己感兴趣的广播进行注册.发送广播的方法借助Intent,接收广播的方法则为广播接收器(Broadcast Receiver). 广播可分为两种. 1.标准广播 (Normal broadcasts):完全异步执行的广播,在广播发出之后,所有广播几乎会在同一时刻接收到这条广播信息,没有任何先后顺

【Android 多语言切换简单实例分享】

一.Android多语言切换 Android应用的开发不可能只针对某一个国家或者区域使用,各国间语言文化各不相同,因此一个优秀的APP必须支持多种语言,为了实现这个特性,Android给出了一个解决方式,在res目录下通过values+语言编码来实现多国语言的支持(中间采用连字符号-连接),例如:values-es代表英文,如果你决定了你的应用要支持多国语言,那么你就必须新建多种values-XXX的多语言支持文件,下面通过一个例子来看看基本的使用方式,先看下效果图: 1.工程结构 注:主要看下

android 连接网络的简单实例

1.android有两种连接网络的类HttpURLConnect和HttpClient,但是HttpClient已逐渐被HttpURLConnect类代替所以就不提及. 2.实例 String address = "http://www.baidu.com"; URL url = new URL(address);//将String类型转化成URL类型 HttpURLConnect con = (HttpURLConnect)url.openConnection();//创建一个指向要

Android 中 ViewFlipper 的简单实例

main.xml <RelativeLayout 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" tools:co

ARM汇编基础--几个简单实例

实例1: 求1+2+3+......+100的和, 并将结果存入0x80000100地址空间中. 1 area text, code, readonly 2 entry 3 code32 4 start 5 mov r1, #0 6 mov r2, #100 7 loop 8 add r3, r3, r1 ;累加 9 add r1, r1, #1 ;自增 10 cmp r1, r2 11 ble loop 12 ldr r2, =0x80000100 13 str r3, [r2] ;保存结果

Android 面试题总结之Android 基础(四)

Android 面试题总结之Android 基础Service(四) 在上一章节Android 面试题总结之Android 基础Broadcast Receiver(三) 我们讲了Broadcast Receiver基础知识.本节主要讲解Service相关基础知识,Service也是我们开发过程中经常使用到. 在阅读过程中有任何问题,请及时联系.如需转载请注明 fuchenxuan de Blog 本章系<Android 之美 从0到1 – 高手之路>Android基础Service 总结了A

Android基础-08

Android基础-08 广播与服务 01_start开启服务的生命周期(重点) 服务的特点: 生命周期的回调方法: onCreate: 初始化service的实例对象: onStartCommand:开启服务: onDestroy:销毁实例对象之前调用这个方法做扫尾工作: onResume.onPause.onStop.onRestart等生命周期的都没有,因为没有界面: 02_bind方式开启服务的生命周期(重点) 使用的方法: bindService:绑定服务.开启服务: unbindSe