MessagesCenter bases on android support-v4 LocalBroadcastManager is a library. Server side sends messages to client side with actionName.
LEARN MORE ABOUT MessagesCenter:
- activity-to-activity, fragment-to-fragment, activity-to-fragment.
- one-to-one, one-to-many, many-to-many.
- MessagesCenter supports String, int, double, bundle...etc.
3 EASY STEPS TO START:
- build.gradle in your module:
dependencies {
compile 'catherine.mobile:messagescenter:+'
}
- Server side (fragments or activities)
AsyncResponse ar = new AsyncResponse() {
@Override
public void onFailure(int errorCode) {
switch (errorCode) {
case ErrorMessages.NULL_POINTER:
//Action names or messages are null.
Log.e("MainActivity", "MULTIPLE_VALUE");
break;
case ErrorMessages.MULTIPLE_VALUE:
//You can't send multiple types of broadcast messages with same actionName at the same time, You need to rename this action.
Log.e("MainActivity", "NULL_POINTER");
break;
}
}
};
Server sv = new Server(MainActivity.this, ar);
//There are pushInt(), pushBundle()...whatever you need
sv.pushString("I'm actionName A001", "Hi, bro!");
- Client side (fragments or activities)
CustomReceiver cr = new CustomReceiver() {
@Override
public void onBroadcastReceive(Result result) {
//Use getInt(), getBundle()...ect, depending on what your server side sends
String messages = result.getString();
Log.d("Fragment","I got:" + messages);
}
};
client = new Client(getActivity(), cr);
client.gotMessages("I'm actionName A001");
- Unregister on client side
@Override
public void onDestroy() {
super.onDestroyView();
client.release();
}
- If you would like to show logs, you need following codes
Config.showDebugLog = true;
1.0.0