安卓(android)饭堂广播【Android移动开发基础案例教程(第2版)黑马程序员】
一、实验目的(如果代码有错漏,可查看源码)
1.熟悉广播机制的实现流程。
2.掌握广播接收者的创建方式。
3.掌握广播的类型以及自定义官博的创建。
二、实验条件
熟悉广播机制、广播接收者的概念、广播接收者的创建方式、自定广播实现方式以及有序广播和无需广播的工作流程。
三、实验内容
1.搭建饭堂广播界面布局。
2.实现饭堂广播界面的功能。
3.运行测试广播程序。
四、实验指导
1.搭建饭堂广播界面布局
在饭堂广播项目程序中只显示一个首页界面(饭堂广播界面),该界面主要拥有展示喇叭图片、食物图片、兔子图片和两个以上对话气泡为背景的文本提示信息,
(1)创建项目程序。创建一个CanteenRadio项目,指定项目包名。
(2)导入界面图片。将饭堂广播界面所需要的图片资源content_left_bg.png、content_right_bg.png、foods.png、horn.png、rabbit.png导入到程序中创建的drawable-hdpi文件夹中。
(3)添加界面控件。在activity_main.xml布局文件中,添加三个ImageView控件分别用于显示喇叭图片、食物图片和兔子图片,两个TeatView控件分别用于显示喇叭提示的“点击喇叭”或 “开饭啦!”,布局界面实现代码如下:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:padding="8dp"
android:background="@drawable/item_bg">
<ImageView
android:id="@+id/iv_photo"
android:layout_width="60dp"
android:layout_height="60dp"
android:layout_centerVertical="true"
app:srcCompat="@drawable/user" />
<TextView
android:id="@+id/tv_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/iv_photo"
android:layout_marginTop="5dp"
android:layout_toEndOf="@+id/iv_photo"
android:layout_marginStart="20dp"
android:textColor="@color/black"
android:text="李雷" />
<TextView
android:id="@+id/tv_phone"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/iv_photo"
android:layout_marginBottom="5dp"
android:layout_toEndOf="@+id/iv_photo"
android:layout_marginStart="20dp"
android:textColor="@color/black"
android:text="13520677894" />
</RelativeLayout>
(4)修改默以标题栏的名称。将饭堂广播程序的默认标题CanteenRadio修改为“饭堂广播”,需要修改res→values目录下的strings.xml文件,在该文件中找到属性name的位为app_Name的标签,将该杯签中app_name的值设置为 “饭堂广播”,具体代码如下所示:
<string name="app_name">饭堂广播</string>
2.实现饭堂广播界面的功能
在饭堂广播项目程序中,当点击饭堂广播界面中的喇叭图片时,喇叭对应的气泡中的文字会由默认的“点击喇叭”替换为“开饭啦!”,同时程序会通过发送广播的形式将开饭的消息发送给界面下方的小兔子。当小兔子通过广播接收者收到开饭的消息时,程序会将小兔子对应的气泡设置为显示状态,并在该气泡中显示接收到的“开饭啦!”消息。具体实现代码如下:
package cn.itcast.contacts;
public class ContactInfo {
private String contactName;
private String phoneNumber;
public String getContactName() {
return contactName;
}
public void setContactName(String contactName) {
this.contactName = contactName;
}
public String getPhoneNumber() {
return phoneNumber;
}
public void setPhoneNumber(String phoneNumber) {
this.phoneNumber = phoneNumber;
}
}
package cn.itcast.canteenradio;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.util.Log;
class MyBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals("Open_Rice")){
Log.i("MyBroadcastReceiver","自定义的广播接收者,接收到了发送开饭信号的广播消息");
}
Log.i("MyBroadcastReceiver",intent.getAction());
}
}
五、代码下载地址:
android: 实现注册界面、实现注册界面、饭堂小广播、音乐播放器、记事本、读取手机通讯录、学生管理系统 - Gitee.com