Android中通過反射獲取資源Id(特別用在自己定義一個工具將其打成.jar包時,特別注意資源的獲取)

           在我轉載的一篇名爲:Android中利用java反射機制Reflect   介紹了,什麼是反射機制,以及他的具體使用。接下來我將簡單介紹一下,在Android中是如何通過反射獲取資源的ID的。廢話不說,先看代碼:

在將自己寫的工具打成.jar包的時候,有時候會需要引用到res中的資源,這時候不能將資源一起打包,只能通過反射機制動態的獲取資源.

[java] view plain copy
  1. /** 
  2.  * 反射得到組件的id號 
  3.  */  
  4. public static int getCompentID(String packageName, String className,String idName) {  
  5.     int id = 0;  
  6.     try {  
  7.         Class<?> cls = Class.forName(packageName + ".R$" + className);  
  8.         id = cls.getField(idName).getInt(cls);  
  9.     } catch (Exception e) {  
  10.         LogUtil.LogPrint(LogUtil.LOG_ERROR, "缺少" + idName + "文件!");  
  11.         e.printStackTrace();  
  12.     }  
  13.     return id;  
  14. }  
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章