背景在某些应用中,为了实现应用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 themeResources=null;PackageManager pm=context.getPackageManager();try {themeResources=pm.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);
}

Android获取所有应用的资源id和对应的uri相关推荐

  1. android 指定资源id,Android平台下如何固定资源ID

    文章转自半导体人社群芯方式 [QUESTION] 如何固定资源ID [ANSWER] 一般情况,同一个资源,因为程序的不停修改,不同版本编译后,这个资源产生的ID可能会变化.对于一个独立的apk来说, ...

  2. android获取drawable路径,从资源文件中获取drawable

    丑话说前头,本文转自: http://stackoverflow.com/questions/29041027/android-getresources-getdrawable-deprecated- ...

  3. android 获取应用的资源id和uri

    2019独角兽企业重金招聘Python工程师标准>>> 在某些应用中,为了实现应用apk资源放入重复利用,或者使用反射得到本应用的资源,需要使用反射反射方式获得,但Resources ...

  4. android获取导航栏宽高,Android获取屏幕的宽高度、状态栏、标题栏、导航栏、编辑区域高度...

    目录 0.相关文章: 1.获取屏幕款高度 代码: /** * 获取屏幕宽度 * * @param context 上下文对象 * @return int */ public static int ge ...

  5. 【Android 安装包优化】移除无用资源 ( 自动移除无用资源 | 直接引用资源 | 动态获取资源 id | Lint 检查资源 )

    文章目录 一.自动移除无用资源 ( 不推荐使用 ) 二.直接引用资源与动态获取资源 1.直接引用资源 2.动态获取资源 id 三.Lint 检查资源 四.参考资料 一.自动移除无用资源 ( 不推荐使用 ...

  6. Android开发之SDK开发获取资源id报错的问题

    我们在开发SDK的时候有时候需要兼容Eclipse版本和AS版本,AS版本就不说了没多大问题,主要是Eclipse版本会有问题.当开发之使用Eclipse开发的时候接入jar包(AS打包成aar,解压 ...

  7. Android之使用getIdentifier()获取资源Id

    使用getIdentifier()方法可以方便的获各应用包下的指定资源ID. 主要有两种方法: (1)方式一 Resources resources = context.getResources(); ...

  8. android 指定资源id,Android 通过名称获取资源ID

    当我们获取网络数据的时候,解析之后往往都是一个字符串,而不是资源id,所有我们没有办法直接使用,只能通过名称来获取到资源id, package com.example.administrator.de ...

  9. android工程换背景图片,android换肤功能 如何动态获取控件中背景图片的资源id?

    这个是在在做一个换肤功能时遇到的问题. 对于换肤,网上都有示例,可以从别的皮肤安装包中读取所要的资源,前提是你必须先持有这个资源的引用名称,像R.drawable.background(喂,这不是废话 ...

最新文章

  1. 微信小程序之wx:if视图层的条件渲染
  2. socket 编程入门教程(一)TCP server端:3、sockaddr与sockaddr_in
  3. php 多个数组乘积_VLOOKUP参数使用数组
  4. 关于linux LVM
  5. 牛客 - 斐波那契和(杜教BM)
  6. zabbix常见配置集合
  7. 【bzoj2151】种树
  8. HDU 6599 I Love Palindrome String (回文树+hash)
  9. 使用C语言构造一个简单计算器
  10. ovm安装过程及中断处理
  11. Python3 粗略计算PI的值
  12. java代码自动抠图_Opencv java实现人脸抠图和行为识别
  13. Maxent模型预测
  14. 【NOIP模拟】我的天
  15. 一篇小论文:VGGish-BiGRU网络
  16. hadoop错误org.apache.hadoop.yarn.exceptions.YarnException Unauthorized request to start container
  17. 图解机器人瓦力_从机器人瓦力看爱情
  18. 张量的向量化vectorization、模n(mode-n)展开
  19. 我想去 河南省 郑州春苑置业有限公司 上班 待遇好不好
  20. android添加内存卡,SD卡变RAM 增加虚拟内存方法

热门文章

  1. ora-01113 oracle8i,ora-01113解决办法
  2. Maven配置nexus
  3. 云计算技术背后的天才程序员:Open VSwitch鼻祖Martin Casado
  4. 关于C编程的一点感受
  5. Windows下的FFmpeg 、MEncoder、MPlayer下载地址
  6. Eclipse GCC 入门
  7. 设置 shell 脚本中 echo 显示内容带颜色
  8. 集合去重 (集合元素为引用类型)--- java 8 新特性 --- 根据元素单属性、多属性实现去重
  9. Docker 环境:Nexus3.x 的私有仓库
  10. 注解驱动的 Spring cache 缓存介绍