如何在同一 Java 类中使用 app 和 Android 库模块中的资源

How to use Resources from app and Android library module in the same Java class

提问人:Niklas Dada 提问时间:1/26/2022 更新时间:1/26/2022 访问量:745

问:

我想将资源提取到 Android 库中。 我有一个 Java 类,它需要从主应用程序库访问资源。

import com.myapp.R;

public class IconSupport {

  public static int getAppDrawable() {
      // this resource is in the app module
      return R.drawable.special_app_icon;
    }

  public static int getLibraryDrawable() {
      // this resource is in the library module
      return R.drawable.library_info_icon;
    }

}

此代码将不起作用,因为我导入但想要访问其中的代码com.myapp.Rlibrary_info_iconcom.mylibrary.R

请注意,资源文件具有不同的名称,因此这不是名称冲突,可以像 Android 库文档中建议的那样在库资源前加上前缀来解决

我知道 Java 中没有导入别名,所以我不能给库资源一个不同的命名空间。

那么,我该如何解决这个问题呢?Android 库旨在提取这样的资源,在同一个文件中使用它们可能不是这样的特例。我错过了什么?

Java Android 命名空间 资源 android

评论

2赞 Mike M. 1/26/2022
不必使用语句。只需根据需要使用完全限定的名称即可。import
0赞 Niklas Dada 1/27/2022
这确实是一个解决方案!谢谢。然而,这确实炸毁了代码。我无法想象没有比这更优雅/更好的阅读解决方案了。但就目前而言,这解决了我的问题。谢谢!

答: 暂无答案