android组件化 组件怎么互相调用,Android组件化二【跨Module调用方法】

本文介绍了如何在Android组件化环境中,使用AppJoint实现不同Module间的Activity启动。通过创建接口和使用ServiceProvider注解,实现了food模块调用movie模块的Activity,同时解决了单独运行模块时的依赖问题。
摘要由CSDN通过智能技术生成

Android组件化二【跨Module调用方法】

经过前一篇的文章,我们已经可以将Module单独运行了,这一篇的话,我们继续探索下组件化(其实是模块化)的内容。

我们这次使用的是AppJoint的组件化方案,仍旧使用上篇文章的代码来做演示。

Appjoint的详细说明文档在 回归初心:极简 Android 组件化方案 — AppJoint !

一、目标

这次我们的目标是在app模块的MainActivity中启动food模块的FoodActivity,然后在food模块的FoodActivity中启动movie模块中的MovieActivity。其实但是启动Activity的话我们可以直接采取Arouter的路由方案来进行,但是这里的话我们不使用Arouter,而是使用AppJoint提供的方法来演示。

二、准备工作

在food模块中创建FoodActivity,在movie模块中创建MovieActivity,app模块中有默认的MainActivity。创建好必备的Activity后我们就需要准备跨模块来启动Activity了。

三、方案

其实当两个模块之间想要通讯的话,我们一般需要暴漏出来一个接口,然后给另一个模块调用,然而这样的话可能就会发生一个模块依赖另一个模块的问题了,所以我们需要将这个接口单独暴漏出来,这时有两种方案:

添加一个基础路由模块例如叫router,统一声明所有对外暴漏的接口。所有需要实现或者调用其他模块的都要依赖该router模块。

每个需要对外暴漏方法的模块添加一个专门对外暴漏接口的模块。例如movie模块想暴露出来一个方法,那么添加一个movieApi模块,该模块只声明对外暴漏的接口,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值