Android studio 事件总线RxBus学习总结

本文总结了Android Studio中使用RxBus进行事件交互和数据传递的方法,强调了在目标页面已创建的前提下才能传递数据。首先在build.gradle文件添加依赖,然后创建带有事件标签的类。在发送数据的Activity中实现发送操作,在接收数据的Activity中需继承BusActivity以正确接收事件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

RxBus 使用:

      Rxbus基于事件交互模式,可以很好的进行页面之间的数据传递。(Android studio环境下)。  

注意:传递数据到下一个页面必须在下一个页面已经创建的前提下!

一、在build.gradle添加依赖的包

compile 'com.hwangjr.rxbus:rxbus:1.0.5'
二、注册事件基类

创建一个添加事件标签的类:其中LogIn_Home是事件的标签。

public enum BusAction {
    ;
    public static final String LogIn_Home="LogIn_Home";

}
创建一个注册事件的基类:

public class BusActivity<StringValue> extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        RxBus.get().register(this);
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        RxBus.get().unregister(this);
    }
}

三、发送数据的Activity

在需要发送数据的地方写:

RxBus.get().post(BusAction.LogIn_Home,data);  

四、接受数据的Activity

注意:接收数据的Activity必须继承 BusActivity

    @Subscribe(tags = {@Tag(BusAction.LogIn_Home)})
    public void ToeastInfo(byte[] info) {
        System.out.println(info);    //info即为收到的数据
        
         startActivity(new Intent(LoginActivity.this, HomeActivity.class));

        }

    }

其中,Rxbus发送数据不能发送int类型,亲测,目前还没找到原因,其他诸如byte、String 类型等都可以传递


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值