下面我们就从配置开始一步步的讲怎么使用ARouter
增加必要的配置
basiclib模块中增加以下依赖,basiclib是组件化框架中共用的依赖库:
compile ‘com.alibaba:arouter-api:1.3.0’
在跳转的目标组件的build.gradle中,增加以下配置:
android {
defaultConfig {
…
javaCompileOptions {
annotationProcessorOptions {
arguments = [ moduleName : project.getName() ]
}
}
}
}
dependencies {
annotationProcessor ‘com.alibaba:arouter-compiler:1.1.4’
…
}
在组件化框架中,我们的示例是从readercomponent跳转到sharecomponent,所以上述配置增加在sharecomponent下面的build.gradle中。
在目标页面增加相应的注解
我们以“分享图书” 页面为例
@Route(path = “/share/shareBook”)
public class ShareActivity extends AppCompatActivity {
在进入这个页面,需要传入两个参数,一个是String类型的bookName,一个是自定义类型Author的author
@Autowired
String bookName;
@Autowired
Author author;
如何传递自定义类型
由于自定义类型Author需要跨组件传递,我们知道,DDComponent的核心之处就是在组件之间见了一堵墙,在编译期代码和资源都是完全隔离的,所以Author必须定义在share组件向外提供的服务中。所以我们在component中,定义Author类:
public class Author {
private String name;
p