android: 用eventbus传递消息
一,安装第三方库:
库地址:
https://mvnrepository.com/artifact/org.greenrobot/eventbus
编辑build.gradle,
添加以下内容:
// https://mvnrepository.com/artifact/org.greenrobot/eventbus
implementation 'org.greenrobot:eventbus:3.3.1'
然后点击 Sync Now
二,代码:
1,接收的activity
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
EdgeToEdge.enable(this);
setContentView(R.layout.activity_main);
//获取默认的EventBus对象(单例),并把当前对象注册为Subscriber。
//注意:当销毁当前实例的时候必须注销这个Subscriber。一般与Activity的生命周期绑定
EventBus.getDefault().register(this);
}
//activity退出时要解绑eventbus的订阅
@Override
protected void onDestroy(){
super.onDestroy();
//注销当前Subscriber
EventBus.getDefault().unregister(this);
}
//接收消息的方法
@Subscribe
public void onEvent(MessageModel event){
System.out.println("接收到了消息");
System.out.println("id:"+event.getId());
System.out.println("message:"+event.getMessage());
}
}
2,发送的activity
//给按钮增加点击事件(发送消息)
Button myButton = findViewById(R.id.savebutton);
myButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// 处理点击事件,发送消息
EventBus.getDefault().post(new MessageModel(33,"王富贵"));
System.out.println("点击完成");
}
});
三,测试效果:

浙公网安备 33010602011771号