# EventBus
**Repository Path**: BattleCall/EventBus
## Basic Information
- **Project Name**: EventBus
- **Description**: Event bus for Android and Java that simplifies communication between Activities, Fragments, Threads, Services, etc. Less code, better quality.
- **Primary Language**: Java
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2020-12-17
- **Last Updated**: 2020-12-19
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
Hey, do have a minute for a [quick survey](https://docs.google.com/forms/d/e/1FAIpQLSePA8NqA9Jlbvh28xcFVbmIGUzHW3dnsxuxi23-ZDPPfkWMSQ/viewform) on how we are doing with EventBus?
EventBus
========
EventBus is a publish/subscribe event bus for Android and Java.
EventBus...
* simplifies the communication between components
* decouples event senders and receivers
* performs well with Activities, Fragments, and background threads
* avoids complex and error-prone dependencies and life cycle issues
* makes your code simpler
* is fast
* is tiny (~50k jar)
* is proven in practice by apps with 100,000,000+ installs
* has advanced features like delivery threads, subscriber priorities, etc.
[](https://travis-ci.org/greenrobot/EventBus)
EventBus in 3 steps
-------------------
1. Define events:
```java
public static class MessageEvent { /* Additional fields if needed */ }
```
2. Prepare subscribers:
Declare and annotate your subscribing method, optionally specify a [thread mode](http://greenrobot.org/eventbus/documentation/delivery-threads-threadmode/):
```java
@Subscribe(threadMode = ThreadMode.MAIN)
public void onMessageEvent(MessageEvent event) {/* Do something */};
```
Register and unregister your subscriber. For example on Android, activities and fragments should usually register according to their life cycle:
```java
@Override
public void onStart() {
super.onStart();
EventBus.getDefault().register(this);
}
@Override
public void onStop() {
super.onStop();
EventBus.getDefault().unregister(this);
}
```
3. Post events:
```java
EventBus.getDefault().post(new MessageEvent());
```
Read the full [getting started guide](http://greenrobot.org/eventbus/documentation/how-to-get-started/).
Add EventBus to your project
----------------------------
Via Gradle:
```gradle
compile 'org.greenrobot:eventbus:3.1.1'
```
Via Maven:
```xml
org.greenrobot
eventbus
3.1.1
```
Or download [the latest JAR](https://search.maven.org/remote_content?g=org.greenrobot&a=eventbus&v=LATEST) from Maven Central.
Homepage, Documentation, Links
------------------------------
For more details please check the [EventBus website](http://greenrobot.org/eventbus). Here are some direct links you may find useful:
[Features](http://greenrobot.org/eventbus/features/)
[Documentation](http://greenrobot.org/eventbus/documentation/)
[ProGuard](http://greenrobot.org/eventbus/documentation/proguard)
[Changelog](http://greenrobot.org/eventbus/changelog/)
[FAQ](http://greenrobot.org/eventbus/documentation/faq/)
How does EventBus compare to other solutions, like Otto from Square? Check this [comparison](COMPARISON.md).
License
-------
Copyright (C) 2012-2017 Markus Junginger, greenrobot (http://greenrobot.org)
EventBus binaries and source code can be used according to the [Apache License, Version 2.0](LICENSE).
More Open Source by greenrobot
==============================
[__ObjectBox__](http://objectbox.io/) ([GitHub](https://github.com/objectbox/objectbox-java)) is a new superfast object-oriented database for mobile.
[__Essentials__](http://greenrobot.org/essentials/) ([GitHub](https://github.com/greenrobot/essentials)) is a set of utility classes and hash functions for Android & Java projects.
[__greenDAO__](http://greenrobot.org/greendao/) ([GitHub](https://github.com/greenrobot/greenDAO)) is an ORM optimized for Android: it maps database tables to Java objects and uses code generation for optimal speed.
[Follow us on Google+](https://plus.google.com/b/114381455741141514652/+GreenrobotDe/posts) or check our [homepage](http://greenrobot.org/) to stay up to date.