组件化ARoute使用总结

ARouter

项目结构

app为壳,commonlib为公共组件库,chat,home等为模块

gradle配置

gradle.properties里配置组件化开关

#isNeedHomeModule=true
isNeedHomeModule=false
#isNeedChatModule=true
isNeedChatModule=false
#isNeedFindModule=true
isNeedFindModule=false
#isNeedMineModule=true
isNeedMineModule=false

app的gradle里配置依赖

dependencies {
   if (isNeedHomeModule.toBoolean()) {
        implementation project(':home')
    }
    if (isNeedFindModule.toBoolean()) {
        implementation project(':find')
    }
    if (isNeedChatModule.toBoolean()) {
        implementation project(':chat')
    }
    if (isNeedMineModule.toBoolean()) {
        implementation project(':mine')
    }
    implementation project(':commonlib')
}

chat模块目录
if (!isNeedChatModule.toBoolean()) {
    apply plugin: 'com.android.application'
} else {
    apply plugin: 'com.android.library'
}
defaultConfig {
        if (!isNeedChatModule.toBoolean()) {
            applicationId "tsou.cn.module_chat"
        }
        sourceSets {
            main {
                if (!isNeedChatModule.toBoolean()) {
                    manifest.srcFile  'src/main/manifest/AndroidManifest.xml'
                } else {
                    manifest.srcFile  'src/main/AndroidManifest.xml'
                }
       }
}

区分清单文件,别忘了在注册application同时初始化ARouter

跳转

传值

ARouter.getInstance().build("/chat/main")
                        .withLong("key1", 123)
                        .withString("key3", "456")
                        .navigation();

接收,Route注解注册路径,Autowired注解传递参数

@Route(path = "/chat/main")
public class MainActivity extends AppCompatActivity {

    private TextView text;

    @Autowired
    public String key3;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);
        ARouter.getInstance().inject(this);
        Toast.makeText(this, "收到传送过来的数据:" + key3, Toast.LENGTH_LONG).show();
        text = findViewById(R.id.text);
        text.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                onBackPressed();
            }
        });
    }
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值