wordpress整站手机端,网站开发设计过程,wordpress站群功能,做网站优化哪家公司好背景在某些应用中#xff0c;为了实现应用apk资源放入重复利用#xff0c;或者使用反射得到本应用的资源#xff0c;需要使用反射方式获得#xff0c;但Resources类中也自带了这种获取方式#xff0c;并且功能更加强大你可以获取string,color,drawable,raw,xml等文件… 背景在某些应用中为了实现应用apk资源放入重复利用或者使用反射得到本应用的资源需要使用反射方式获得但Resources类中也自带了这种获取方式并且功能更加强大你可以获取string,color,drawable,raw,xml等文件因此也就意味着这里可以获取的资源是res中已定义的资源对于控件id的获取暂时无法做到public int getIdentifier(String name, String defType, String defPackage) {if (name null) {throw new NullPointerException(name is null);}try {return Integer.parseInt(name);} catch (Exception e) {// Ignore}return mAssets.getResourceIdentifier(name, defType, defPackage);
}获取资源的Id获取当前应用的资源Idint drawableId mContext.getResources().getIdentifier(ic_launcher,drawable, mContext.getPackageName());
mImageView.setImageResource(drawableId);获取其他应用的资源Idint id mContext.getResources().getIdentifier(icon, drawable, com.android.testproject);
// 或者
int id mContext.getResources().getIdentifier(com.android.testproject:drawable/icon, null, null);整合到一起public static int getResourceId(Context context, String name, String type, String packageName){Resources themeResourcesnull;PackageManager pmcontext.getPackageManager();try {themeResourcespm.getResourcesForApplication(packageName);return themeResources.getIdentifier(name, type, packageName);} catch (NameNotFoundException e) {e.printStackTrace();}return 0;
}获取系统资源Idint id getResources().getIdentifier(actionbar_bg, drawable,android); //注意最后一个参数必须是“android”获取资源的Uriandroid系统中应用的资源存储时也通常会被存入 数据库也可以被共享
因此来说资源也可以获得uripublic static Uri getResourceUri(int resId,String packageName) {return Uri.parse(android.resource://packageName/resId);
}