首页
学习
活动
专区
圈层
工具
发布

Android根据资源名获取资源ID

接触过Android开发的同学们都知道在Android中访问程序资源基本都是通过资源ID来访问。这样开发起来很简单,并且可以不去考虑各种分辨率,语言等不同资源显式指定。...痛点 但是,有时候也会有一些问题,比如我们根据服务器端的值取图片,但是服务器端绝对不会返回给我们的是资源id,最多是一种和文件名相关联的值,操作资源少的时候,可以维护一个容器进行值与资源ID的映射,但是多的话...便捷的方法 在这种情况下,使用文件名来得到资源ID显得事半功倍。 通过调用Resources的getIdentifier可以很轻松地得到资源ID。...ID 完整的资源名为package:type/entry,如果资源名这个参数有完整地指定,后面的defType和defPackage可以省略。...defType和defPackage省略时,需要将其设置成null 注意这个方法不提倡,因为直接通过资源ID访问资源会更加效率高 如果资源没有找到,返回0,在Android资源ID中0不是合法的资源ID

4.4K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

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

    文章目录 一、自动移除无用资源 ( 不推荐使用 ) 二、直接引用资源与动态获取资源 1、直接引用资源 2、动态获取资源 id 三、Lint 检查资源 四、参考资料 一、自动移除无用资源 ( 不推荐使用...) ---- 自动移除无用资源 : Android Studio 重构工具中 , 给出了一个自动移除无用资源的工具 , 可以一键移除没有被引用的资源 ; " 菜单栏 / Refactor / Remove...等方式引用了该资源 , 表示该资源被直接使用了 ; 动态引用的资源不包括在上述情况中 , 如果移除了动态引用资源 , 运行时会崩溃 ; 二、直接引用资源与动态获取资源 ---- 1、直接引用资源 直接引用图片示例...id 动态获取图片资源示例 : 该获取的资源值就是 R.drawable.ic_plane 值 , 是 int 类型 ; // 动态获取图片资源 int var drawable2..., 则显示在 " Inspection Result " 面板中 , 面板右侧可以选择对该未引用的资源处理 , 此处可以对不同的资源进行不同处理 , 如果确定某个资源没有使用过 , 可以是手动删除该资源

    2.1K40

    JVM 如何获取当前容器的资源限制?

    GC 线程数量和CPU数一致 如果 CPU 核心数大于 8,则前 8 个核,每个核心对应一个 GC 线;其他核,每 8 个核对应 5 个 GC 线程 但是被提醒,发现即使在分配 4 核的容器上,GC 线程数也为...然后就想到应该和容器的资源限制有关——jvm 可能无法觉察到当前容器的资源限制。...翻了下代码,发现最新版本的 Java 是能感知容器的资源限制的,就按照 jdk 版本再翻了下代码: 线上的 jdk(jdk8u144) Cloud Native 写一个 sleep 1000s 的程序...如何获取容器资源配额呢?...Cloud Native 结合这个日志和代码,我们也可以看到如何获取容器配额: 首先从 /proc/self/mounts 中读取对应的资源的 mount 位置,比如 CPU 就是在 /sys/fs/cgroup

    1.4K10

    WPF 已知问题 资源字典树引用与资源寻找的坑

    大家都知道,在 WPF 里面,可以让资源字典合并其他资源字典,从而定义出资源字典引用树。然而在资源字典引用树里面,如果没有理清关系,将可以作出一个超级复杂的引用关系网。...也就是说,如果正常的做,是不会踩到坑的,只有在进行不良设计时才会踩坑 在 App.xaml 里面是作为资源字典的引用的 Root 最顶层,基础玩法都是在 App.xaml 引用其他资源字典,引用顺序基本上基础库...DictionaryC 那么将让 DictionaryC 被创建两次。...也就是说在不同的两个资源字典树,一个在 DictionaryA 一个在 DictionaryC 字典树上的资源,是可以相互寻找到的 更新之后的代码放在 github 和 gitee 欢迎访问 同理,再次提升层级进行测试...github 和 gitee 欢迎访问 通过以上的测试可以了解到,在去掉 App.xaml 这个 Root 顶层资源之后的多个不同的资源字典树,多个资源字典树的资源是可以被跨资源字典树进行引用的,和存放的层级无关

    1.3K10

    干货分享-Prelude的安装方法+如何获取资源

    【使用Prelude整理媒体并创建粗略的汇编】 了解如何从头开始使用Prelude媒体组织器工具来确保Premiere Pro项目的组织性 快速标记和转码视频素材,并使用Prelude(视频记录和摄取工具...【使用Prelude整理媒体并创建粗略的汇编】 了解如何从头开始使用Prelude媒体组织器工具来确保Premiere Pro项目的组织性 您可以使用 Adobe Prelude 来收录剪辑、转码素材、...Adobe Prelude(Pl)2021软件下载: [软件名称]:Adobe Prelude 2021 [软件语言]:中文简体 [系统环境]:Win7/Win8/Win10/Win11 软件获取: 首先...id=sdfsdfsd 搜索结果中会显示出相关的软件供下载。 →粘贴浏览器搜索即可 [安装前工作]:安装过程须断网和关闭杀毒软件,否则易安装失败。...1.把资源下载到电脑上面,右键压缩包选择解压到当前文件夹。

    1.1K10

    【编程基础】Android中如何获取资源的尺寸?

    在Android中为了实现不同屏幕的适配,经常会用到在不同dimen.xml文件中对于同一dimen ID定义不同的大小,然后在代码中通过getDimension函数来获取,下面就来说说几种getDimension...getDimension()是基于当前DisplayMetrics进行转换,获取指定资源id对应的尺寸。文档里并没说这里返回的就是像素,要注意这个函数的返回值是float,像素肯定是int。...getDimensionPixelSize()与getDimension()功能类似,不同的是将结果转换为int,并且小数部分四舍五入。...getDimensionPixelOffset()与getDimension()功能类似,不同的是将结果转换为int,并且偏移转换(offset conversion,函数命名中的offset是这个意思...getDimension和getDimensionPixelOffset的功能类似,都是获取某个dimen的值,但是如果单位是dp或sp,则需要将其乘以density,如果是px,则不乘,并且getDimension

    3.2K70

    信息寻宝指南:如何高效获取优质资源?

    因此,我们在搜索过程中需要花费更多的时间和精力来筛选和过滤搜索结果,才能找到真正需要的信息 今天给各位读者分享一个实用小技巧,帮助你在特定网站中高效搜索你想要的信息资源!...首先漫游指南会给读者们分享一些在Github上的好资源,比如教育优惠合集:利用学生、教职工身份可以享受到的相关学生优惠、教育优惠或教师优惠的权益(比如Github、JetBrains开发工具、Apple...Music等专属权益)这类资源一般都是Github的开发者策展整理好的优质信息,能够帮助我们在购买工具服务省不少钱。...那么我想要在Github中找到更多类似的教育优惠信息那该如何是好?...其实「site:xxx.com」这串神秘字符是搜索引擎的高级功能,只需要输入「site:」后面附上你的目标网址就能够在搜索这个网站内的资源。

    49110

    Vue cli 资源文件的引用 原

    no-repeat} 或者                 titlebg{background:url(assets/image/logo.png) no-repeat} 1-2 其它模板页面 其它的页面都是按照正常的引用...,每个模板看做单独的页面,按我们正常路径引用 如components->footer.vue                 作为图片:<img src="...../static/image/logo.png) no-repeat} 总结:关于在开发环境中的引用资源的路径,其实与我们普通开发一样,只需关注当前文件与资源文件的路径关系(每个模板文件就当做一个普通的html...页面) 资源放置方法,通常是一些固定的资源(如第三方插件,像jQuery等)与图片放在根目录下的static文件夹中,自己可能修改(自己写的js或者css)的文件放在assets文件夹下。...引用jQuery简单的方法在index.html页面中通过script标签引入 (

    1.2K20

    在maven中引用github上的资源

    很多人选择在Github上开源项目,但很多开源项目要依赖一些自己写的jar。如何让用户(使用者)可以通过互联网自动下载所依赖的jar呢? ...下面介绍下通过GitHub做maven repository的过程;  1、在GitHub上创建项目(这步操作不细说了,过程很简单,用过GitHub的大家都懂的)  例如:我创建的项目名叫fengyunhe-wechat-mp...2、把本地maven项目Build,build生成的maven文件夹上传到Giuhub  3、本地新建maven项目如果需要依赖jar,在pom.xml中增加  ...id>fengyunheid> fengyunhe https://raw.github.com/fengyunhe/fengyunhe-wechat-mp.../master/ 备注:  1、上面的地址直接输入返回为404,页面是无法看到的  2、master 一定要写上,否则会无法下载  3、如果本地项目依赖的groupId、artifactId跟本地项目中的

    5.6K10

    iOS学习--通过ipa包如何获取图片资源

    在我们解压的.ipa 文件,我们可以获取一些app的相关资源,先简单介绍下怎么打开 .ipa 文件; 其实 .ipa 实际上就是一个压缩包,所以使用任何解压工具即可打开。...当然我们可以直接将ipa文件的后缀改成.zip格式,然后使用解压软件就可以直接解压了。 打开后,在 Payload 文件夹中有我们需要的资源,打开 Payload 后是这么个文件: ?...然后,选中,右键,选择 显示包内容,即可看到所有的资源文件; 有很多图片资源如果是放在 Bundle 中,那么在打开的文件夹中都可以看到;但是,如果放在 Assets.xcassets 中的图片资源,就会被加密成一个...Release 链接,点击即可下载最新的软件,当然也可以自己将项目克隆下来,自己编译,但是我在编译的时候,缺少两个私有的 framework,没有成功,就直接使用他们编译好的了。...找到你的 .car 文件即可打开! 打开后如何需要对应的图片资源,可以选择 File--> Export All Images...

    2.8K20

    Fragment找不到资源Id引起的线上Crash

    一、问题起因线上报了较多Fragment资源id找不到的Crash。...找到对应资源int id fl_about_container 0x7f090283图片从堆栈看全部在系统调用,首先想到先结合异常源码看看:图片从代码片段看是当前Fragment.mContainerId...的AboutContainerFragment的布局容器id,如果fl_settings_container被SettingsFragment替换了,那么这里有可能导致AboutFragment找不到AboutContainerFragment...在布局定义的fl_about_container的控件对象猜是猜了,如何去验证这一猜测呢?...中间梳理过程就省略了,完整的调用时序如下:1、当应用切到后台,且被系统销毁后,重新切回前台onCreate时序图片这个链路调用没有问题,但不同于正常点击菜单跳转。

    1.4K40

    Hook:如何高效双向链接不同类型的信息资源?

    在这次直播里,我提到了一款自己常用的工具,可以把操作系统中各种不同类型的信息资源加以双向链接整合。 许多小伙伴当即在直播留言区表示,从来没有听说过这款工具,希望我多讲讲。...通过《如何用好 Roam Research ?...你可以在笔记软件中放一个网页的 Web 链接。你下次打开这则笔记,可以通过这个链接找到该网页。但是你下次按照网址输入,或者搜索引擎查找打开这个网页的时候,却无法立即看到自己的某条笔记曾经引用过它。...而如果你把许许多多的信息资源利用 Hook 这样的形式进行了链接,那就大不同了。在写作之前,你已经有了足够多的拼图组块。...申请需要使用教育邮箱,我尝试的申请过程很顺利。 小结 本文我为你介绍了 Hook 这款工具。它可以帮助你把各种不同类型、散布在操作系统各个角落、甚至是不同应用「孤岛」内的信息资源双向链接。

    1.7K20

    【Android 安装包优化】开启资源压缩 ( 资源压缩配置 | 启用严格模式的资源引用检查 | 自定义保留移除资源配置 | 资源压缩效果 )

    文章目 一、开启资源压缩 二、启用严格模式的资源引用检查 三、自定义保留/移除资源配置 四、资源压缩效果 五、完整配置 1、keep.xml 配置 2、build.gradle 构建脚本 六、参考资料...getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } } 二、启用严格模式的资源引用检查...---- 资源压缩器 压缩资源时 , 默认使用比较保守的模式 , 通过动态 id 获取资源不会被移除 ; 动态 id 获取资源 , 参考 【Android 安装包优化】移除无用资源 ( 自动移除无用资源...| 直接引用资源 | 动态获取资源 id | Lint 检查资源 ) 二、直接引用资源与动态获取资源 2、动态获取资源 id 博客章节 ; 保守模式下进行资源压缩 , 没有任何效果 , 因此这里要启用严格模式...---- 启动资源压缩后 , 压缩后的布局资源变成了如下内容 , 程序中没有引用该资源 , 在编译时 , 该资源自动替换成如下类型 ; <?

    2.1K40

    X#中如何根据不同的区域设置显示项目资源中不同语言的文件

    这里所说的区域设置,应该是 OS 的区域设置,换句话说,是中文环境还是其他语言的环境。...上一篇解释了如何将窗体控件的 Text (按照 VFP 习惯的说法,就是控件的 Caption)实现多语言的方法,今天来看一下控件根据不同的区域设置显示不同语言文件内容的方法。...一个英文的,一个中文的。假设,它们分别是 Warning.rtf 和 Warning_CN.rtf。...打开 VS IDE,创建基于模板的项目,如下图所示: 我将项目命名为 Demo 更改项目属性,将所使用的方言更改为 Visual FoxPro,并更改“语言”和“方言”中的选项以“适配”所选方言。...在项目中添加“现有项”--事先准备好的RTF文件。 然后在项目属性的资源中,也添加这两个文件。

    5K10

    如何通过 Github Action 获取静态资源部署服务

    因此印记中文的主站采取的策略是 HTML 文件部署在云服务器,其它的静态资源部署在云开发作为加速。...SECRET_KEY和云开发发ENV_ID ?...忽略文件,是通过 skipFiles 填入的数据参数实现的,而全量发布,可以通过给isForce传入true值达成。那究竟如何实现增量发布的呢? 一般来说,增量发布有两种方式,见下图: ?...增量发布两种方案 方案一是最精确的做法,就是每次都去检测现网,看看资源是否存在,而对于 Web 入口的 HTML 文件还要多检测一次 MD5——那是为大多数非 HTML 资源,都会在文件名里加上 MD5...自此,通过组合自研的和别人的Github Action,基本实现了常见的不同情况的静态资源部署。

    1.7K20
    领券