第7章Android_组件通信与广播消息
BroadcastReceiverDemo示例 BroadcastReceiverDemo示例说明了如何在应用程序中注册BroadcastReceiver组件,并指定接收广播消息的类型。BroadcastReceiverDemo示例的界面如图所示,在点击“发生广播消息”按钮后,EditText控件中内容将以广播消息的形式发生出去,示例内部的BroadcastReceiver将接收这个广播消息,并显示在用户界面的下方。 7.3 广播消息 BroadcastReceiverDemo示例用户界面 7.3 广播消息 7.3 广播消息 BroadcastReceiverDemo示例 BroadcastReceiverDemo.java文件中包含发送广播消息的代码,其关键代码如下 <?xml version="1.0" encoding="utf-8"?> BroadcastReceiverDemo示例 在代码的第14行中创建了一个节点,在第15行中声明了Intent过滤器的动作为“edu.hrbeu.BroadcastReceiverDemo”, 这与BroadcastReceiverDemo.java文件中Intent的动作相一致,表明这个BroadcastReceiver可以接收动作为“edu.hrbeu.BroadcastReceiverDemo”的广播消息 7.3 广播消息 7.3 广播消息 BroadcastReceiverDemo示例 MyBroadcastReceiver.java文件创建了一个自定义的BroadcastReceiver,其核心代码如下: 代码第1行首先继承了BroadcastReceiver类,并在第3行重载了onReveive()函数。当接收到AndroidManifest.xml文件定义的广播消息后,程序将自动调用onReveive()函数进行消息处理。 代码第4行通过调用getStringExtra()函数,从Intent中获取标识为message的字符串数据,并使用Toast()函数将信息显示在界面 public class MyBroadcastReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { String msg = intent.getStringExtra("message"); Toast.makeText(context, msg, Toast.LENGTH_SHORT).show(); } } 简述Intent的定义和用途。 简述Intent过滤器的定义和功能。 简述Intent解析的匹配规则。 编程实现具有“登录”按钮的主界面,点击“登录”按钮后打开一个新的Activity,新打开的Activity上面有输入用户名和密码的控件,在用户关闭这个Activity后,将用户名和密码传递到主界面的Activity中。 习题: *