ARouter 引用

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

 

posted @ 2019-01-05 09:26  后天打老虎  阅读(585)  评论(0编辑  收藏  举报