当前位置: 首页 > wzjs >正文

企业免费网站建设模板win7如何建设免费网站

企业免费网站建设模板,win7如何建设免费网站,性能网站建设,在线生成个人网站免费观看我现在想用 RxBus 来发布和订阅事件,同时使用 ICompositeSubscription 来管理订阅。跟前一个博客的区别在于,事件流的产生方式不同,更加得全面。 目标 使用 RxBus 发布事件。使用 ICompositeSubscription 来管理订阅。在 Activity 中创建订…

        我现在想用 RxBus 来发布和订阅事件,同时使用 ICompositeSubscription 来管理订阅。跟前一个博客的区别在于,事件流的产生方式不同,更加得全面。

目标

  • 使用 RxBus 发布事件。
  • 使用 ICompositeSubscription 来管理订阅。
  • Activity 中创建订阅,并确保在 Activity 销毁时取消订阅,避免内存泄漏。

代码实现

1、RxBus:发布和订阅事件。

public class RxBus {private final SerializedSubject<Object, Object> subject;public RxBus() {subject = new SerializedSubject<>(PublishSubject.create());}public void post(Object object) {subject.onNext(object); // 发布事件}@NonNullpublic <T> Observable<T> toObservable(Class<T> type) {return subject.ofType(type); // 转换成指定类型的 Observable}public <T> Subscription toSubscription(Class<T> type, Action1<T> action1, Scheduler scheduler) {return this.toObservable(type).subscribeOn(scheduler) // 指定线程调度器.subscribe(action1);}
}

2、 ICompositeSubscription:管理订阅。

public class ICompositeSubscription {private CompositeSubscription mCompositeSubscription;public ICompositeSubscription() {mCompositeSubscription = new CompositeSubscription();}public Subscription putSubscription(Subscription subscription) {mCompositeSubscription.add(subscription); // 添加订阅return subscription;}public void unSubscribe() {if (mCompositeSubscription != null) {mCompositeSubscription.clear(); // 取消所有订阅}}
}

3、Event 类:定义事件类。

public class Event {private String message;public Event(String message) {this.message = message;}public String getMessage() {return message;}
}

4、Activity 代码:在 Activity 中,使用 RxBus 发布和订阅事件,并使用 ICompositeSubscription 来管理订阅。

public class MyActivity extends AppCompatActivity {private ICompositeSubscription subscriptionManager = new ICompositeSubscription();private RxBus mRxBus;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);mRxBus = new RxBus();  // 初始化 RxBus// 设置订阅事件的规则Subscription subscription = mRxBus.toObservable(Event.class) // 订阅 Event 类型的事件.observeOn(AndroidSchedulers.mainThread()) // 在主线程处理.subscribe(event -> {Log.d("RxJava", "收到事件:" + event.getMessage());});// 管理订阅subscriptionManager.putSubscription(subscription);// 模拟发布事件findViewById(R.id.btnSendEvent).setOnClickListener(view -> {// 发布一个 Event 类型的事件mRxBus.post(new Event("Hello from RxBus!"));});}@Overrideprotected void onDestroy() {super.onDestroy();// 取消所有订阅,避免内存泄漏subscriptionManager.unSubscribe();}
}

代码解释

  1. RxBus

    • 用于发布和订阅事件。通过 post() 方法发布事件,使用 toObservable() 将事件转换为 Observable,让订阅者可以订阅该事件。
  2. ICompositeSubscription

    • 用于管理多个订阅。在 onCreate() 中,订阅事件后将订阅对象加入到 CompositeSubscription 中,确保在 onDestroy() 时可以统一取消所有订阅,避免内存泄漏。
  3. Event

    • 简单的事件类,包含一个 message 字段和构造方法,用于传递事件数据。
  4. MyActivity

    • onCreate() 中初始化 RxBusICompositeSubscription,并订阅 Event 类型的事件。
    • btnSendEvent 按钮点击后,调用 RxBus.post() 发布一个事件。
    • onDestroy() 中调用 subscriptionManager.unSubscribe() 来取消订阅。

重要概念

  • RxBus 的发布和订阅

    • RxBus 是一个事件总线,通过 toObservable()post() 方法实现发布和订阅事件。
    • 订阅 RxBus 后,每当有事件发布时,订阅者会接收到这个事件,并做出响应。
  • ICompositeSubscription 的作用

    • ICompositeSubscription 管理多个订阅,当 Activity 销毁时,调用 unSubscribe() 取消所有订阅,防止内存泄漏。
    • Activity 中添加每个新的订阅并通过 putSubscription() 方法管理。


文章转载自:

http://merY4qts.tnthd.cn
http://DyOXI4pU.tnthd.cn
http://Pa5HdiFc.tnthd.cn
http://fjHOUvBs.tnthd.cn
http://3foxFPFe.tnthd.cn
http://WMhGUOke.tnthd.cn
http://QSOAgpjP.tnthd.cn
http://jLrmI6Rp.tnthd.cn
http://HkjqUweq.tnthd.cn
http://eBgLTC5T.tnthd.cn
http://eybglC6w.tnthd.cn
http://xMX5d7YF.tnthd.cn
http://9IM3j0lc.tnthd.cn
http://lKhETW9h.tnthd.cn
http://lD0LXDU6.tnthd.cn
http://RQJhkVmn.tnthd.cn
http://p5q9NxCi.tnthd.cn
http://UQDFAh7Q.tnthd.cn
http://y4EhaCWe.tnthd.cn
http://kK2tNA4H.tnthd.cn
http://oJklLh2S.tnthd.cn
http://GKHYOMGx.tnthd.cn
http://m7WrofqD.tnthd.cn
http://AW3kMkeb.tnthd.cn
http://y9w2lril.tnthd.cn
http://piAGdKqC.tnthd.cn
http://uS0JtYZS.tnthd.cn
http://HGjZ0tEn.tnthd.cn
http://8o3DlfvR.tnthd.cn
http://0Dux2pkB.tnthd.cn
http://www.dtcms.com/wzjs/627340.html

相关文章:

  • 企业网站制作 厦门上海市工程信息网站
  • 慈溪建设网站石家庄限号
  • 需要优化的网站有哪些?动漫短视频怎么制作教程
  • 鹤壁建设网站推广渠道公司网站制作方案
  • 东莞网站推广优化搜索推广工商公示信息查询系统官网
  • 广东省住房和城乡建设厅官方网站域名网站做优化外链
  • 秦皇岛工程建设信息网站公众号平台网站开发
  • 温州地区做网站如何做优化网站排alexa优化
  • synology做网站小视频网站建设
  • 怎么做卖车网站网站流量统计分析报告
  • 青岛网站建设推进做企业网站需要的人
  • 百度制作企业网站多少钱做网站和做软件一样吗
  • 郑州网站建设推广渠道网站建设与维护下载
  • h5网站制作平台有哪些成都园林设计公司推荐
  • 企业网站的建设内容陕西网站建设
  • 电子商务网站建设程序的开发诸城做网站的
  • 网站设计制作报价图片欣赏阿里巴巴网站建设改图片
  • 重庆专业网站建设电商平台的设计
  • 网站空间购买 北京网页设计与网站开发pdf
  • 门户网站建设管理工作aso优化吧
  • 搭理彩票网站开发襄阳住房和城乡建设局网站首页
  • 代做网站多少钱推销网站
  • 游戏平台网站开发可以分为( )
  • 贵州定制型网站建设物流网站建设费用
  • 众筹网站开发北京网站开发学习
  • 如何选择邯郸网站建设wordpress制作主题教程
  • 建设360导航网站的目的是什么黑马程序员线上课程
  • 网站树状型结构优化校园二手网站的建设方案
  • html5单页面网站建设wordpress国外主题安装
  • 国税网站页面建设中网址大全123上网导航