Skip to content

cangwang/ModuleBus

Repository files navigation

ModuleBus

Module Bus is use for diffent modules communication.

ModuleBus in 3 steps

  1. Define events:

    public static class MessageClient extend IBaseClient { /* Additional fields if needed */ }
  2. Prepare ModuleEvent and function: Declare and annotate your subscribing method.

    @ModuleEvent(coreClientClass = MessageClient.Class)  
    public void fun(Object...args) {/* Do something */};

    Register and unregister your ModuleBus. For example on Android, activities and fragments should usually register according to their life cycle:

     @Override
     public void onStart() {
         super.onStart();
         ModuleBus.getInstance().register(this);
     }
    
     @Override
     public void onDestroy() {
         super.onStop();
         ModuleBus.getInstance().unregister(this);
     }
  3. Post function:

     ModuleBus.getInstance().post(MessageClient.class,"fun",Object...args);

Add ModuleBus to your project

Gradle:

compile 'com.cangwang.core:modulebus:2.0.0'

Maven:

<dependency>
  <groupId>com.cangwang.core</groupId>
  <artifactId>modulebus</artifactId>
  <version>2.0.0</version>
  <type>pom</type>
</dependency>

*Important
need to set base module depend with ModuleBus and ,other communicated modules depend with base module.

*2016.12.12 update
(1)Use ArrayMap to change with HashMap.
(2)Add startModuleActivity function.
(3)Fix bugs and develop speeds in ModuleBus.

*2017.2.27 update
(1) Add Module architecture inclue activity,fragment and view.
(2) Add Application util ModuleImpl.

*2017.3.3 update moduleBus 2.0.0
(1) update Module architecture inclue activity,fragment and view.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages