android - 如何访问android库自己的资源

标签 android resources android-resources android-library android-context

我正在开发一个包含字符串和布局资源的 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/

相关文章:

java - 如何将资源数组和普通数组绑定(bind)到一个数组中?

android - 在 Android App 中,资源什么时候加载到内存中?

android - mLayout.addView() 只工作一次

启动时选择的 Android Spinner 设置项

android - 如何在没有 Android 工具栏的 Fragment 中视差滚动布局到另一个布局

ASP.NET MVC - 非嵌入式资源文件

安卓图标没有出现

android - 在android中检测传入的电子邮件通知

amazon-web-services - 如何在 Terraform 子文件夹中声明托管资源

Android:有没有办法获取字符串属性名称?