我正在开发一个包含字符串和布局资源的 Android 库。
如何在不创建 Activity 类的情况下获取它们?
我不想访问“主项目”资源,我读了很多关于那个的问题:P,我在模块内的“普通类”中,我需要模块资源。
最佳答案
我能够通过像往常一样从我的库的内部处理资源来实现这一点,以创建可重用的自定义对话框:
customView = inflater.inflate(R.layout.fragment_dialog, container, false);
这里的问题似乎是你如何构建/导入这个库。我认为默认情况下,将项目标记为库将其打包为 jar
文件。但是,我能够通过打包为 Android 应用程序资源 (aar
) 文件来获取这些资源。如果比较这些文件的结构,您会发现 aar
将包含 res/
目录下的所有内容,而不仅仅是类文件(如 jar
)。
我正在使用 maven,所以我使用了这样构建我的包:
<groupId>com.mycompany</groupId>
<artifactId>my-library</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>aar</packaging>
<name>My Library</name>
然后,在将我的库导入我的项目时,我确保指定类型
:
<dependency>
<groupId>com.mycompany</groupId>
<artifactId>my-library</artifactId>
<version>1.0-SNAPSHOT</version>
<type>aar</type>
</dependency>
这也适用于 Gradle - 如果需要,您可以指定 aar
作为您的存档类型:
compile 'my.company:my-library:1.0-SNAPSHOT@aar'
关于android - 如何访问android库自己的资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23152083/