ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

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

2019-08-28 20:25:43  阅读:296  来源: 互联网

标签:android android-gradle build-gradle android-build android-gradle-2-2


我在单个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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有