繁体   English   中英

如何在多模块动态特性应用程序中进行通信

[英]how to communicate in multi module dynamice feature Application

我有像这样的项目结构

应用程序:

即时应用:

图书馆:

动态功能1:

动态特征2:

动态特征3:

现在动态特性1和动态特性2之间存在一些依赖关系。 现在,如果我将它作为依赖项添加到 dynamic-feature2 build.gradle 中,那么它将导致循环依赖。 以上只是一个例子,还有很多其他情况。 如何正确处理此类依赖冲突或任何建议?

从主应用模块通信到动态功能模块

您可以通过 Java 中的反射来做到这一点。 确保您的 class 和方法名称在动态模块中没有被混淆。

从模块获取片段/活动或其他 class:

method.invoke(objectYouWantToInvokeTheMethodOn);

从您的 class 获取方法:

 Method method = class.getMethod("GenerateQuestion");

调用方法:

 method.invoke(objectYouWantToInvokeTheMethodOn);

从动态功能模块到主模块的通信

要获取动态功能模块片段的父活动,您可以执行以下操作:

 @Override public void onAttach(Context context) { super.onAttach(context); activity = (Activity) context; }

然后,您可以调用该活动的方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM