赞
踩
如果我们要为某个已经存在的组件,重新开发一个新组件,将变得非常可行。
组件内的重构也将变得非常可行。
新的组件的设计只要保证对外提供的接口,完全符合,旧组件对外提供的接口
我们想象下,在APP运行时,business中的组件可以动态加载,也可动态卸载。
那么我们可以轻松实现组件的懒加载:用户用到的组件,那么就加载进来。用完之后便可以卸载。
大的android工程项目,build一次要到5分钟左右,太浪费时间了。
拆成多个组件之后,如果每个组件都能单独build,单独测试,那么将大大提升开发效率。
上面讨论的这些优势,并不是将简单将 单工程 拆分成 分层的多module工程结构 就能获得这些优势。
想要获得这些优势,还任重道远,我们还需要解决很多问题,才能让我们的项目具备上面的说的优势。
通过ARouter通信。
ARouter是阿里开源的一个项目。github.com/alibaba/ARo…
通过ARouter跨module跳转Activity
@Route(path = “/test/activity”)//申明路由
public class YourActivity extend Activity {
…
}
//通过路由启动Activity
ARouter.getInstance().build("/test/activity").withLong(“key1”, 666L).navigation();
通过ARouter在module间共享对象,实现module间通信。
比如:我们有一个账号模块 business:account ,提供了登录、登出、用户信息查询等业务。
同级的其他模块,如何跟账号模块通信?获取用户的登录状态以及用户相关信息?
public class AccountBean {
private String name;
private int age;
//…
}
public interface IAccountService extends IProvider {
void login(Context context);//登录</
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。