从Android中的库项目访问可绘制资源

从Android中的库项目访问可绘制资源,android,image,shared-libraries,Android,Image,Shared Libraries,我正在尝试从我的库项目中搜索android资源文件中的可绘制(图片)是否可能,而不需要实际android项目的上下文,或者我是否需要将其添加到中?另外,我如何通过我的库项目找到一个ID,方法是使用字符串作为ID的名称,然后将其转换为适当的整数来设置后台资源 这就是我到目前为止所尝试的:这是可行的,但只查看库项目中的资源,我需要查看当前应用程序项目中的资源 try { Class res = R.drawable.class;

我正在尝试从我的库项目中搜索android资源文件中的可绘制(图片)是否可能,而不需要实际android项目的上下文,或者我是否需要将其添加到中?另外,我如何通过我的库项目找到一个ID,方法是使用字符串作为ID的名称,然后将其转换为适当的整数来设置后台资源

这就是我到目前为止所尝试的:这是可行的,但只查看库项目中的资源,我需要查看当前应用程序项目中的资源

  try
            {
                Class res = R.drawable.class;
                Field field =
                    res.getField("string_ID_I_want");
                drawableId = field.getInt(null);
            }

实际的可绘制资源被编译到您的应用程序中,因此访问它们与访问普通应用程序资源没有什么不同


假设图书馆中可绘图的ID是大图。然后R.drawable.big_picture是您要加载的可绘制文件的ID。你不必自省。如果R.drawable.big_图片不可用,则说明项目设置有问题(或编译错误)。

库项目的包名是什么

如果您的包名为
com.examplelib.blahblah
,并且您的绘图名为
myicon
,请确保

导入com.examplelib.blablah.R


然后,在导入此R的同一文件中,您可以键入
R.drawable.myicon

什么是我不知道编译时资源的名称,但我知道它将与每个用户单独创建的文本文件的输入字符串对齐。从本质上讲,我可以从字符串转换为查找ID并仍然获取可绘制的?如果在编译时不知道ID,那么在运行时,您需要读取文件,而不是查找可绘制的资源,因为可绘制的没有
setID()
getID
方法,您将无法按id引用它们。或者您想尝试此链接。
Context context = getApplicationContext();
Resources r = context.getResources();
r.getDrawable(id);  //pass your drawable id in it, could be R.id.whatever