如何从Android中的库类访问应用程序模块类?
作者:互联网
我在单个android项目中创建了两个模块.
> app模块(默认是我的app模块)
>和另一个添加的库模块.
现在app模块有很多java类.我想在库模块中访问.Java类的app模块.
模块应用程序在xyz包中有一个DatabaseHelper类
现在我想在Library模块中导入类DatabaseHelper.
android不能识别DatabaseHelper.
问题,
是否可以将类从应用程序模块导入另一个模块?
任何其他方式.
我的文件
的build.gradle(APP)
compile project(':materialList')
setting.gradle
include ':app', ':Library'
解决方法:
Is it possible to import Class from a app module to another module?
这是不可能的,因为这将创建循环依赖.
但是,在这种情况下可以使用一种模式:
>定义数据类型:库模块中的DatabaseHelperContent
>在库模块中定义一个接口DatabaseHelperI,其实现者应该提供数据.
>创建一个实现DatabaseHelperI接口的DatabaseHelperImpl类,提供数据(此类在app模块中)
>在Application类中引用接口时将接口初始化为类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-gradle,build-gradle,android-build,android-gradle-2-2 来源: https://codeday.me/bug/20190828/1755190.html