gpt4 book ai didi

android - lib模块和主模块之间如何通信

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:54:07 26 4
gpt4 key购买 nike

构造

我有 2 个模块:

  • app(应用程序)
  • box(库模块)

问题

我正在尝试使用 box 模块中的部分 app 模块。问题是 app 模块依赖于 box 模块,因此我不能指向 box 模块,因为那样会产生循环依赖。

如何从 box 模块获取 app 模块方法?

或者

如何通知app模块中的一些接收者有一些数据要获取?

编辑

我以第三个模块 common 结束,它包含模块 appbox 的交集。

最佳答案

您不能直接调用依赖于您的库的模块。这种依赖会破坏图书馆的目的。但是您可以在 Box 模块中定义一个接口(interface),该库的客户端必须实现该接口(interface)才能正常运行。

例子:在您的 Box 模块中定义一个接口(interface)

interface ThereIsSomeDataToGet(){
void doSomething();
}

在你的应用模块中,你可以调用

Box.registerCallback(new ThereIsSomeDataToGet(){...})

现在在 box 模块中你有一个回调到你的应用程序模块,没有任何硬依赖,当库有一些新数据时,你只需要调用

ThereIsSomeDataToGet.doSomething();

关于android - lib模块和主模块之间如何通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32438751/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com