Android 广播数据如何写入界面

如何将广播数据写入界面

首先我说明一下我所建的对象都是根据中文拼音所创建的,大家更能够理解

第一步,新建一个项目,在activity_main.xml文件下添加button控件与Text View控件

xml完整代码如下:
Android 广播数据如何写入界面

第二步:在MainActivity里将按钮获取,写发送

代码如下:
Button b1=findViewById(R.id.button);
b1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent=new Intent(“CCTV_1”);
intent.putExtra(“xigua”,“6.5”);
intent.setPackage(“com.example.myapplication”);//com.example.myapplication是你自己的项目,不一定是和我一样
sendBroadcast(intent);
}
});

第三步:新建一个广播MyReceiver

创建MyReceiver的方法,鼠标右击项目app>new >other>BroadcastReceiver输入广播名称MyReceiver

第四步:在MainActivity里注册一个动态广播

代码如下:
private MyReceiver myReceiver;
myReceiver=new MyReceiver();
IntentFilter intentFilter=new IntentFilter(“CCTV_1”);
registerReceiver(myReceiver,intentFilter);

第五步:在MyReceiver写接收广播

代码如下:
String str=intent.getStringExtra(“xigua”);//写入界面的tv之中
daiLi.xieRu(str);
Toast.makeText(
context,
str,
Toast.LENGTH_LONG
).show();

第六步:在MyReceiver定义chuangshong方法与DaiLi类

代码如下:
private DaiLi daiLi;
interface DaiLi{
void xieRu(String s);
}
public void chuanShongZhiJi(DaiLi d){
daiLi=d;
}
}

第七步:在mainActivity中定义TextView tv

代码如下:
tv=findViewById(R.id.textView);

第八步:将mainActivity继承DaiLi接口implements MyReceiver.DaiLi

第九步:重写onDestroy方法

代码如下:
@Override
protected void onDestroy() {
super.onDestroy();
unregisterReceiver(myReceiver);
}
第十步 在mainActivity中添加写入方法
public void xieRu(String s){
tv.setText(s);
}
就这样轻轻松松将数据写入界面
完整代码如下:
MainActivity完整代码:
Android 广播数据如何写入界面
MyReceiver完整代码:
Android 广播数据如何写入界面
作者还是小白,做的不好望各位大佬指点