编程语言
首页 > 编程语言> > 如何从Android中的库类访问应用程序模块类?

如何从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