Android获取所有应用的资源id和对应的uri
来源:互联网 发布:怪物猎人ol激活码淘宝 编辑:程序博客网 时间:2024/06/05 16:04
背景
在某些应用中,为了实现应用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
- 获取当前应用的资源Id
int drawableId = mContext.getResources().getIdentifier("ic_launcher","drawable", mContext.getPackageName());mImageView.setImageResource(drawableId);
- 获取其他应用的资源Id
int 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 themeResources=null; PackageManager pm=context.getPackageManager(); try { themeResources=pm.getResourcesForApplication(packageName); return themeResources.getIdentifier(name, type, packageName); } catch (NameNotFoundException e) { e.printStackTrace(); } return 0;}
获取系统资源Id
int id = getResources().getIdentifier("actionbar_bg", "drawable","android"); //注意,最后一个参数必须是“android”
获取资源的Uri
android系统中,应用的资源存储时也通常会被存入数据库,也可以被共享,
因此来说资源也可以获得uri
public static Uri getResourceUri(int resId,String packageName) { return Uri.parse("android.resource://"+packageName+"/"+resId);}
作者:蚊子Skeeter
链接:http://www.jianshu.com/p/d3aed93dfbc6
阅读全文
0 0
- Android获取所有应用的资源id和对应的uri
- android使用获取所有应用的资源id和uri
- android使用获取所有应用的资源id和uri
- android使用获取所有应用的资源id和uri
- 获取所有应用的资源id和uri
- Android:根据图片的名称获取对应的资源id
- Android:资源 id 及资源 id 的动态获取和反射获取
- android简单的从资源 id 转换成 Uri
- Android 资源 id 转换成 Uri 的小助手
- Android之根据图片的Uri获取对应的路径
- Android中获取资源的id和url方法总结
- Android:资源 id 及资源 id 的动态获取
- Android:资源 id 及资源 id 的动态获取
- Android:资源 id 及资源 id 的动态获取
- Android:资源 id 及资源 id 的动态获取
- Android:资源 id 及资源 id 的动态获取
- Android:资源id及资源id的动态获取
- Android:资源 id 及资源 id 的动态获取
- Gradle快速
- HashMap源码解读
- leetcode49. Group Anagrams
- 转录组分析的正确姿势
- 【JAVA】Netty5.x入门小程序解析
- Android获取所有应用的资源id和对应的uri
- Android打包
- websocket搭建网页端聊天室
- FastJSON
- Android图片加载框架Glide用法
- Hibernate的注解方式:多对多双向关系基于外键关联
- redis使用之利用jedis实现redis消息队列
- win10下vs2015配置Opencv3.3.1过程详解
- 对于数组指针—指针数组;函数指针—函数指针数组,指向函数指针数组的指针,的理解