gpt4 book ai didi

android - 如何从 Android 中的库类访问应用程序模块类?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:26:49 27 4
gpt4 key购买 nike

我在单个 android 项目中创建了两个模块。

  1. 应用模块(这是我的默认应用模块)

  2. 和另一个添加的库模块。

现在应用模块有很多java类。我想访问库模块中应用程序模块的 .Java 类

模块应用程序在包 xyz 中有一个类 DatabaseHelper

现在我想在 Library 模块中导入类 DatabaseHelper

DatabaseHelper 无法被 android 识别。

问题,

是否可以将类从应用模块导入到另一个模块?

任何其他方式。

我的文件

build.gradle(应用程序)

compile project(':materialList')

设置.gradle

include ':app', ':Library'

最佳答案

Is it possible to import Class from a app module to another module?

这是不可能的,因为这将创建循环依赖。

然而,在这种情况下可以使用一种模式:

  • library 模块中定义数据类型:DatabaseHelperContent
  • 在库模块中定义一个接口(interface) DatabaseHelperI,其实现者应该提供数据。
  • 创建一个实现 DatabaseHelperI 接口(interface)的 DatabaseHelperImpl 类,提供数据(此类在 app 模块中)
  • 在Application类中引用时将接口(interface)初始化为类ABC的实例,这样类中的数据就可以动态传递给子模块。

This would become even simpler with some dependency-injection framework like Dagger where you can just specify provider of the interface in the @Module class and use the injected data from the common provider everywhere.

关于android - 如何从 Android 中的库类访问应用程序模块类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40609547/

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