您的位置:首页 > 其它

alibaba-ARouter(1)—Hello ARouter

2018-02-05 09:45 183 查看

前言

aRouter是阿里巴巴推出的一个类库。术语路由,github:https://github.com/alibaba/ARouter

它解决了项目中子moudle之间无法互访的痛点。注意是子moudle之间

它通过注解方式定义一个url来标识一个组件,譬如一个activity(但不仅限于acitvity),并且它提供了更多的高级注解实现更为复杂的功能。(本系列后面的文章详细说明),最简单的:

@Route(path = “/app/mainactivity”)

public class MainActivity extends AppCompatActivity {



}

它是我们android项目内做模块化架构的一把利器。(本系列后面的文章详细说明)

本文内容比较简单,作为一个切入点开始进行学习。

引入

github上的依赖指南。

android {
defaultConfig {
...
javaCompileOptions {
annotationProcessorOptions {
arguments = [ moduleName : project.getName() ]
}
}
}
}

dependencies {
// 替换成最新版本, 需要注意的是api
// 要与compiler匹配使用,均使用最新版可以保证兼容
compile 'com.alibaba:arouter-api:x.x.x'
annotationProcessor 'com.alibaba:arouter-compiler:x.x.x'
...
}
// 旧版本gradle插件(< 2.2),可以使用apt插件,配置方法见文末'其他#4'
// Kotlin配置参考文末'其他#5'


注意dependencies内的版本号,一般来说,取最新的即可,在github上有个”最新版本”的提示条,引入之前看看版本号即可。

这俩条配置是需要每个moudle都需要进行依赖的。注意是每个moudle,annotationProcessor注解性质的库都是如此,譬如butterKnife。

还有不要忘记在宿主app内进行业务模块的依赖:

//compile project

compile project(‘:moudle_home’)

compile project(‘:moudle_user’)

}

Hello ARouter

拿起梭子就开干吧,先看下项目目录结构。



这里就只实现了简单的页面跳转。

这里的逻辑是:

“app” ——> “home” ——> “user”

跳转

app:

ARouter.getInstance().build(“/home/mainactivity”).navigation();

home:

ARouter.getInstance().build(“/user/usermainactivity”).navigation

user:

ARouter.getInstance().build(“/home/mainactivity”).navigation();

Demo

http://download.csdn.net/download/user11223344abc/10240192
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: