1. 程式人生 > >Android 封裝jar包,反射機制獲取資源

Android 封裝jar包,反射機制獲取資源

public class ResourceUtil {        public static int getLayoutId(Context paramContext, String paramString) {          return paramContext.getResources().getIdentifier(paramString,  "layout"
,                  paramContext.getPackageName());      }        public static int getStringId(Context paramContext, String paramString) {
         return paramContext.getResources().getIdentifier(paramString,  "string" ,                  paramContext.getPackageName());     
}        public static int getDrawableId(Context paramContext, String paramString) {          return paramContext.getResources().getIdentifier(paramString,                  "drawable" , paramContext.getPackageName());      }        public static int getStyleId(Context paramContext, String paramString) {          return paramContext.getResources().getIdentifier(paramString,                  "style" , paramContext.getPackageName());      }        public static int getId(Context paramContext, String paramString) {          return paramContext.getResources().getIdentifier(paramString, "id" , paramContext.getPackageName());      }        public static int getColorId(Context paramContext, String paramString) {          return paramContext.getResources().getIdentifier(paramString,                  "color" , paramContext.getPackageName());      }      public static int getArrayId(Context paramContext, String paramString) {          return paramContext.getResources().getIdentifier(paramString,                  "array" , paramContext.getPackageName());      } }

< string name = "version_update_schedule" >已下載%1$s請稍等&amp;#8230;</ string >
String text=mContext.getResources().getString(CPResourceUtil.getStringId(mContext,  "version_update_schedule" ));

TextView.setText(String.format(text, p+”%”));

version_update_schedule 是string檔案中name



獲取Class物件有三種方式:

 

1.通過Object類的getClass()方法。例如:

Class c1 = new String("").getClass();

2.通過Class類的靜態方法——forName()來實現:

Class c2 = Class.forName("MyObject");

3.如果T是一個已定義的型別的話,在java中,它的.class檔名:T.class就代表了與其匹配的Class物件,例如:

Class c3 = Manager.class;

Class c4 = int.class;

Class c5 = Double[].class;