您的位置:首页 > 移动开发 > Android开发

Android中通过反射获取资源Id(特别用在自己定义一个工具将其打成.jar包时,特别注意资源的获取)

2016-06-23 10:31 696 查看
           在我转载的一篇名为:Android中利用java反射机制Reflect 
 介绍了,什么是反射机制,以及他的具体使用。接下来我将简单介绍一下,在Android中是如何通过反射获取资源的ID的。废话不说,先看代码:

在将自己写的工具打成.jar包的时候,有时候会需要引用到res中的资源,这时候不能将资源一起打包,只能通过反射机制动态的获取资源.

[java] view
plain copy

/** 

 * 反射得到组件的id号 

 */  

public static int getCompentID(String packageName, String className,String idName) {  

    int id = 0;  

    try {  

        Class<?> cls = Class.forName(packageName + ".R$" + className);  

        id = cls.getField(idName).getInt(cls);  

    } catch (Exception e) {  

        LogUtil.LogPrint(LogUtil.LOG_ERROR, "缺少" + idName + "文件!");  

        e.printStackTrace();  

    }  

    return id;  

}  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: