获取其他应用程序的资源

Jak*_*ieł 10 android android-resources

假设我有2个申请A和B.

我想从A应用程序访问B应用程序的资源(drawables,图像,字符串).我该怎么办?

编辑:

您还可以将Android项目指定为库项目,以允许它与依赖它的其他项目共享.将Android项目指定为库项目后,无法将其安装到设备上.

这是否意味着我不能在Android市场上使用我的库?我的目标是使用应用程序A的默认资源,但如果有人可以下载应用程序B并使用它资源.

Pet*_*ego 22

如果您是这两个应用程序的开发人员,那么正确的方法是创建一个Android库项目并在应用程序之间共享.

Nevertheles,您仍然可以从其他应用访问资源,即使这不是您的应用:

Resources res = context.getPackageManager().getResourcesForApplication("com.example.foo")
Run Code Online (Sandbox Code Playgroud)

  • 试试`Resources.html#getIdentifier(..)`::(http://developer.android.com/reference/android/content/res/Resources.html#getIdentifier(java.lang.String,%20java.lang.String ,%20java.lang.String) (2认同)

小智 5

如果这两个应用程序都是您自己的,并且您希望在构建时捆绑这些资源:

创建一个Android库项目,将所有需要的资源放入其中,并从您的应用程序中引用它.


编辑到您的编辑:您可以在Android市场中使用该库.你不能单独使用它(编译它).您必须构建一个使用该库的应用程序.当您构建该应用程序时,所有需要的内容基本上从库中获取并复制到您的apk.您可以像往常一样投放市场.

当您想要从运行时下载到设备上的应用程序访问资源时,这不起作用.在构建使用它的应用程序时,库项目会捆绑所有资源.在运行时访问时,Peter Knego的回答是正确的.