DRouter:简单易用的支持多进程架构的组件化方案

欢迎star/issue,项目地址:https://github.com/Dovar66/DRouter

写在开头

组件化技术适用于需要多人协作的中大型项目,如果是一个人的项目且开发人员未实践过组件化方案则不建议采用。

组件化的优点

  1. 业务隔离,使得各业务模块专注于自己的业务实现,而不必关心其他业务模块.
  2. 单独调试,每个模块可以独立运行,方便开发调试.
  3. 组件可复用性,针对有重叠业务的不同APP,可直接使用组件来组装.
  4. 适合AOP.
  5. 可以更细粒度的设置组员的代码修改权限.

DRouter:简单易用的支持多进程架构的组件化方案

demo下载

DRouter目前已应用于触电新闻

DRouter主要提供三大功能:界面路由、动作路由和事件总线,帮助Android开发者更容易地完成项目的组件化改造.
特别是对于多进程应用,引入DRouter能够让开发者在不用了解AIDL的情况下就可以进行跨进程通信.

框架特点

* 完美支持多进程,且不需要使用者去bindService或自定义AIDL.
* 页面路由:支持给Activity定义url,然后通过url跳转到Activity,支持添加拦截器.
* 支持跨进程的API调用(动作路由).
* 支持跨进程的事件总线.
* 基于AOP引导Module的初始化以及页面、拦截器、Provider的自动注册.

如何配置

1.在项目根目录的 build.gradle 中添加 JitPack 仓库:

allprojects {
	repositories {
		...
		maven { url 'https://jitpack.io' }
	}
}

2.在BaseModule中添加依赖:

api 'com.github.Dovar66.DRouter:router-api:1.0.8'

3.在其他需要用到DRouter的组件中添加注解处理器的依赖:

annotationProcessor 'com.github.Dovar66.DRouter:router-compiler:1.0.8'

同时在这些组件的defaultConfig中配置注解参数,指定唯一的组件名:

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

4.多进程配置:

* 如果你的项目需要使用多进程广域路由,那么请让你的Application实现 IMultiProcess 接口,广域路由默认是关闭状态,只有实现了该接口才会启用。

* 在App module的build.gradle文件中,且必须在apply plugin: 'com.android.application'之后引用编译插件RouterPlugin,具体如下:

    apply plugin: 'com.android.application'

    apply plugin: "com.dovar.router.plugin" //必须在apply plugin: 'com.android.application'之后,否则找不到AppExtension

    buildscript {
        repositories {
            google()
            maven {
                url "
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值