1. 程式人生 > >android hxgbus 待tag的訊息傳遞

android hxgbus 待tag的訊息傳遞

hxgbus

引入方式

allprojects {
    repositories {
        ...
        maven { url 'https://jitpack.io' }
    }
}


dependencies {
    implementation 'com.github.huangxiaoguo1:hxgbus:1.0.0'
}

註冊

    @Override
    protected void onCreate(Bundle savedInstanceState) {

        HxgBus.getDefault().register(this
); }

清除註冊

    @Override
    protected void onDestroy() {

        HxgBus.getDefault().unregister(this);

    }

接收資料

方式一(什麼都沒帶)
    /**
     * 什麼都沒帶
     * 此時,資料接收依引數型別決定
     * @param name
     */
    @Subscriber()
    public void ShowNameNo(String name) {
        Log.e("huangxiaoguo"
, name + "---什麼都沒帶"); }
方式二(帶有tag標記)
    /**
     * 帶有tag標記 
     * 此時 資料接收依tag決定
     * @param name
     */
    @Subscriber(tag = Contant.tag)
    public void ShowNameTag1(String name) {
        Log.e("huangxiaoguo", name + "---只帶有tag");
    }
方式三(四種不同型別的執行緒接收,並帶有優先順序)
    /**
     * 主執行緒
     *
     * @param
name */
@Subscriber(threadMode = ThreadMode.MAIN, priority = 100) public void ShowName(String name) { Log.e("huangxiaoguo", name + "===100"); } /** * 非同步執行緒 * * @param name */ @Subscriber(threadMode = ThreadMode.ASYNC, priority = 500) public void ShowName2(String name) { Log.e("huangxiaoguo", name + "===500"); } /** * 子執行緒 * * @param name */ @Subscriber(threadMode = ThreadMode.BACKGROUND, priority = 600) public void ShowName3(String name) { Log.e("huangxiaoguo", name + "===600"); } /** * 相同執行緒 * * @param name */ @Subscriber(threadMode = ThreadMode.POSTING, priority = 700) public void ShowName4(String name) { Log.e("huangxiaoguo", name + "===700"); }
方式四(指定執行緒,指定tag,指定優先順序)
    /**
     * 主執行緒,帶有tag標記
     *
     * @param name
     */
    @Subscriber(threadMode = ThreadMode.MAIN, tag = Contant.tag, priority = 100)
    public void ShowNameTag(String name) {
        Log.e("huangxiaoguo", name + "---帶有tag===100");
    }

post資料

不帶tag
    HxgBus.getDefault().post( "111");
帶有tag

    HxgBus.getDefault().post( Contant.tag, "111");

github地址:https://github.com/huangxiaoguo1/hxgbus