EvenBus:Android应用组件之间高效通信的开发库
2014-09-04 09:54
295 查看
当一个Android应用功能越来越多的时候,保证应用的各个部分之间高效的通信将变得越来越困难。如何优雅地解决这个问题?这时候,就需要使用到EventBus。
EventBus是GreenRobot出品的Android系统的一个Event Bus类库,使用起来和之前我们所介绍的Square的Otto差不多,都是用来简化应用组件之间的通信。
安装
1 使用gradle
2使用 maven
使用如下:
Implement any number of event handling methods in the subscriber:
Register subscribers:
Post events to the bus:
Unregister subscriber:
EventBus提供了几种ThreadMode线程模型来处理事件,这个本身是可以扩展的,你完全可以按照自己的需要来自定义你所需要的线程模型:
PostThread:事件响应就在事件发布的线程,即时响应。
MainThread::事件响应在android的主线程也即UI线程,即时响应。
BackGroundThread:事件响应在后台线程。当事件发布在工作线程时,事件处理就在这个工作线程;当事件发布在主线程时,就另开一个唯一的工作线程来线性的响应事件。即时响应:
Asyn:事件响应在一个独立的工作线程,与事件发布的线程和主线程不同。一般用来来处理一些耗时的操作如网络数据等,尽量避免同时触发大量的异步线程,EventBus内部使用了一个线程池来复用线程。
而下面使用的示例,就是如果网络连接丢失,该如何通知一个活动:
GitHub:https://github.com/greenrobot/EventBus
EventBus是GreenRobot出品的Android系统的一个Event Bus类库,使用起来和之前我们所介绍的Square的Otto差不多,都是用来简化应用组件之间的通信。
安装
1 使用gradle
Implement any number of event handling methods in the subscriber:
public void onEvent(AnyEventType event) {}
Register subscribers:
eventBus.register(this);
Post events to the bus:
eventBus.post(event);
Unregister subscriber:
eventBus.unregister(this);
EventBus提供了几种ThreadMode线程模型来处理事件,这个本身是可以扩展的,你完全可以按照自己的需要来自定义你所需要的线程模型:
PostThread:事件响应就在事件发布的线程,即时响应。
MainThread::事件响应在android的主线程也即UI线程,即时响应。
BackGroundThread:事件响应在后台线程。当事件发布在工作线程时,事件处理就在这个工作线程;当事件发布在主线程时,就另开一个唯一的工作线程来线性的响应事件。即时响应:
Asyn:事件响应在一个独立的工作线程,与事件发布的线程和主线程不同。一般用来来处理一些耗时的操作如网络数据等,尽量避免同时触发大量的异步线程,EventBus内部使用了一个线程池来复用线程。
而下面使用的示例,就是如果网络连接丢失,该如何通知一个活动:
相关文章推荐
- Prism应用开发(八)——松耦合组件之间通信
- 【Android 应用开发】Activity生命周期 与 Activity 之间的通信
- 【Android应用开发技术:应用组件】Handler组件通信机制
- 【Android 应用开发】Activity生命周期 与 Activity 之间的通信
- Android应用开发教程:两个运行的Activity之间的通信
- Prism应用开发(八)——松耦合组件之间通信
- Android开发:Handler Runnable和Thread之间的区别和联系 应用
- Android软件开发之应用程序之间的通信介绍(十八)
- Android桌面组件Widge开发及应用
- iPhone开发之—守护进程和前台进程之间的通信-前台应用发信息给后台的守护进程
- Android平台下实现音视频通信的应用开发
- Android开发之Android应用组件的生命周期
- Android开发:Handler Runnable和Thread之间的区别和联系 应用
- iPhone开发之—守护进程和前台进程之间的通信-前台应用发信息给后台的守护进程
- Android应用开发之即时通信
- android应用安全——组件通信安全(Intent)
- android开发中fragment的引用以及fragment与activity之间通信的概述
- Android应用的各项组件之间的通讯 - Intent的应用
- Android软件开发之应用程序之间的通信介绍(十八)
- Android 程式开发:(三)初识Fragment —— 3.4fragments实例之间的通信