Android组件化,阿里ARouter的集成

一、概述

组件化开发优点多多,我也不多讲。但怎么样去搭建一个组件化的项目?下面就带大家一步步的集成,少走点弯路。

二、创建组件化项目

1.首先创建项目,项目结构如下:
app关联lib-main、lib-personal 两个模块
模块 lib-main、lib-personal 关联lib-core
模块 lib-core 关联lib-base模块。


Android组件化,阿里ARouter的集成_第1张图片
无标题.png
二、集成阿里的ARouter
  1. 阿里GitHub的ARouter
  2. 集成ARouter的顺序:
    2.1 在lib-base模块build.gradle文件关联阿里的API库:compile 'com.alibaba:arouter-api:1.3.1'
    2.2 在app、lib-main、lib-personal 三个模块的build.gradle文件加上编辑生成代码的依赖,如下图:


    Android组件化,阿里ARouter的集成_第2张图片
    编辑生成代码的依赖.png

    2.3 在app项目里面的build.gradle文件添加组件:apply plugin: 'com.alibaba.arouter'
    2.4 在整个项目最外面的build.gradle添加:classpath "com.alibaba:arouter-register:1.0.2"

三、在Application里初始化ARouter
  ARouter.init(this); // 尽可能早,推荐在Application中初始化
四、在Activity上添加注解
@Route(path = "/app/main/activity")
public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
    public void home(View view){
        ARouter.getInstance().build("/main/home/activity").navigation();
    }

    public void login(View view){
        ARouter.getInstance().build("/personal/login/activity").navigation();
    }
}
五、测试ARouter
ARouter.getInstance().build("/personal/login/activity").navigation();
六、特别注意

ARouter允许一个module中存在多个分组,但是不允许多个module中存在相同的分组,会导致映射文件冲突。意思就是说不同的module第一个路径要不一样,比如:path = "/app/main/activity" 和path="/personal/login/activity" 这两个路径是不同的module,如果都以/app或者/personal开头是不行的。

七、关于模块间数据的交互
1. 小数据,个人推荐用GSON转成Json字符串进行交互。
2. 大数据,可以参考ARouter的开发文档,上面有作介绍。

你可能感兴趣的:(Android组件化,阿里ARouter的集成)