安卓EventBus的订户索引使用

1、在app的build文件中配置

android {
    defaultConfig {
        javaCompileOptions {
            annotationProcessorOptions {
                arguments = [ eventBusIndex : 'com.xunua.MyEventBusIndex' ]//这里随便填入一个都可以,前面的是包名,最后一个是文件名,比如我这个 构建好之后就build-->rebuild之后。切换到project视图,
                //在这个路径生成了一个MyEventBusIndex文件,   app\build\generated\ap_generated_sources\debug\out\com\xunua\MyEventBusIndex.java
            }
        }
    }
}

dependencies {
    def eventbus_version = '3.2.0'
    implementation "org.greenrobot:eventbus:$eventbus_version"
    annotationProcessor "org.greenrobot:eventbus-annotation-processor:$eventbus_version"
}

2、在Application中的onCreate()中写入这条

EventBus.builder()
	.addIndex(new MyEventBusIndex())//MyEventBusIndex就是我们在build中配置好的文件,可以点进去看到这个文件里面存好了我们在项目中写了@Subscribe的方法的所在类的类名和方法名。
	.installDefaultEventBus();//这个意思就是将现在对EventBus的修改应用到EventBus.getDefault()中,这样的话每次注册都是用的我们修改好了的。

3、(个人理解,未使用)如果要给库添加这个索引的话 那么就在库的build文件按照上面第一步做一次(arguments 的路径 不要与app的文件名相同),然后再到当前App(不是库,是app!)的Application类中再增加一个addIndex(new 这个库生成的索引文件名());

索引文件目录:
eventbus_usage\app\build\generated\ap_generated_sources\debug\out\com\xunua\MyEventBusIndex.java

展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客
应支付0元
点击重新获取
扫码支付

支付成功即可阅读