基于 Otto 事件总线的类间通信
Otto 是一个 Android 事件总线库,可以简化应用程序组件之间的通信。
在 Otto 中,可以通过以下步骤实现两个类之间的参数传递:
- 创建事件类: 定义一个 Java 类来表示要传递的事件。该类应包含需要传递的任何数据。
```java
public class DataEvent {
private String data;
public DataEvent(String data) {
this.data = data;
}
public String getData() {
return data;
}
}
```
- 注册订阅者: 在接收事件的类中,使用
@Subscribe
注解标记一个方法,并将事件类作为参数。
java
public class ReceivingClass {
@Subscribe
public void onDataReceived(DataEvent event) {
// 处理接收到的数据
String data = event.getData();
}
}
- 发布事件: 在发送事件的类中,获取 Otto
Bus
实例并使用post()
方法发布事件。
```java
public class SendingClass {
private Bus bus;
// ...
public void sendData(String data) {
bus.post(new DataEvent(data));
}
}
```
通过以上步骤,SendingClass 就可以将数据封装在 DataEvent 对象中,并通过 Otto 事件总线发送给 ReceivingClass。ReceivingClass 中使用 @Subscribe 注解标记的 onDataReceived() 方法将会接收到该事件,并可以从中提取数据进行处理。
19.07MB
文件大小:
评论区