1、功能简述
用于模块间解耦
2、module的gradle接入
android {
defaultConfig {
javaCompileOptions {
annotationProcessorOptions {
//ARouter
def projectName = project.getName()
projectName = projectName.replace("-", "")
arguments.put('moduleName', projectName)
}
}
}
}
dependencies {
implementation('com.alibaba:arouter-api:?', {
exclude group: 'com.android.support', module: 'support-v4'
})
annotationProcessor('com.alibaba:arouter-compiler:?')
}
3、初始化使用
if (isDebug()) { // These two lines must be written before init, otherwise these configurations will be invalid in the init process
ARouter.openLog(); // Print log
ARouter.openDebug(); // Turn on debugging mode (If you are running in InstantRun mode, you must turn on debug mode! Online version needs to be closed, otherwise there is a security risk)
}
ARouter.init(mApplication); // As early as possible, it is recommended to initialize in the Applicatio
4、使用配置
// Add annotations on pages that support routing (required)
// The path here needs to pay attention to need at least two levels : /xx/xx
@Route(path = "/test/activity")
public class YourActivity extend Activity {
...
}
5、使用执行
// 1. Simple jump within application (Jump via URL in 'Advanced usage')
ARouter.getInstance().build("/test/activity").navigation();
// 2. Jump with parameters
ARouter.getInstance().build("/test/1")
.withLong("key1", 666L)
.withString("key3", "888")
.withObject("key4", new Test("Jack", "Rose"))
.navigation();
来源:https://github.com/alibaba/ARouter