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相关文章推荐
- [Alibaba-ARouter]浅谈简单好用的Android页面路由框架
- [Alibaba-ARouter] 简单好用的Android页面路由框架
- [Alibaba-ARouter] 简单好用的Android页面路由框架
- [Alibaba-ARouter] 简单好用的Android页面路由框架
- android. ARouter使用 theres no route matched! “找不到”!ARouter::No postcard!
- Hello F#
- Hello CSDN!
- 深入浅出的webpack4构建工具---webpack+vue+router 按需加载页面(十五)
- router 配置 (转载)
- Code Hunters: Hello, world!
- 学习使用ExpressJS 4.0中的新Router的用法
- Hello CSDN Blog
- 1031. Hello World for U
- A "Hello World" Program for Java
- angularjs:[1] ui-router 权限控制
- alibaba面试题
- libevent代码阅读(9)——“hello-world.c”之 创建事件处理器
- hello模块的成功
- 【ahk】操作word文件,替换x为hello
- Cisco Router and switch 配置命令(八)