欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

android hxgbus 待tag的消息传递

程序员文章站 2022-07-14 20:41:28
...

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

相关标签: 消息传递