首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Android根据资源名获取资源ID

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

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

Android中使用Drawbl资源

Drawble是Android应用中使用最灵活,也是最广泛的资源,不仅可以直接使用".png",“.jpg”,".9.png"等图片做为资源,也可以直接使用多种XML文件作为资源。...只要一份XML文件可以被系统编译成Drawble子类的对象,那么这份XML文件就可以作为Drawble资源Drawble下图片资源最简单的资源,吧 “.png”,“.jpg”,".9.png"等格式放入.../res/ drawble-xxx目录下,Android应用在编译应用时会自佛呢及时加载图片,并在R清单类中生成该资源的索引Drawble下StateList Drawble资源用于组织多个 Drawble...-- 设置边框 --> Drawble下Clip Drawble资源代表从全位图上街区的一个图片的片段...:gravity="center">Drawble 下Animation Drawble资源代表一个动画,既支持传统的逐帧动画,也支持通过平移、变换计算出来的补间动画。

28520

Android插件化——资源加载

前言 资源,是APK包体积过大的病因之一。插件化技术将模块解耦,通过插件的形式加载。插件化技术中,每个插件都能够作为单独的APK独立运行。宿主启动插件的类,难免要涉及插件类中的资源问题。...那么,如何加载插件资源,就成为一个待解决的问题。...原理 参考APK打包流程:Android插件化基础-APK打包流程 Android工程在打包成apk时,会使用aapt将工程中的资源名与id在R.java中一一映射起来。...然后通过: Drawable drawable = resources.getDrawable(resId); 获取对应的资源。...总结 明确思路,通过获取插件的Resources和resId来加载资源 通过仿APK解析过程,获取插件Resources 通过对插件的R.java的反射,获取resId 完成加载

1.3K40

Android资源混淆打包方案

概述 我们知道在Android的打包过程中,有一个步骤是压缩,也是为了减少apk包的大小,其中在压缩的过程中,很大一部分就是对资源的压缩,除了系统的压缩方案之外,我们今天讲另外两种压缩方案:微信方案和美团方案...根据Android的编译流程,所有资源ID已经被编译成32位int值。...config, 即是Android用来描述资源维度,例如横竖屏,屏幕密度,语言等。...美团方案 Android查找资源的流程 在Android系统中,每一个应用程序一般都会配置很多资源,用来适配不同密度、大小和方向的屏幕,以及适配不同的国家、地区和语言等等。...这个查找过程对应用程序来说,是完全透明的,这个过程主要是靠Android资源管理框架来完成的,而Android资源管理框架实际是由AssetManager和Resources两个类来实现的。

2.5K70

Android资源混淆打包方案

概述 我们知道在Android的打包过程中,有一个步骤是压缩,也是为了减少apk包的大小,其中在压缩的过程中,很大一部分就是对资源的压缩,除了系统的压缩方案之外,我们今天讲另外两种压缩方案:微信方案和美团方案...根据Android的编译流程,所有资源ID已经被编译成32位int值。...config, 即是Android用来描述资源维度,例如横竖屏,屏幕密度,语言等。...美团方案 Android查找资源的流程 在Android系统中,每一个应用程序一般都会配置很多资源,用来适配不同密度、大小和方向的屏幕,以及适配不同的国家、地区和语言等等。...这个查找过程对应用程序来说,是完全透明的,这个过程主要是靠Android资源管理框架来完成的,而Android资源管理框架实际是由AssetManager和Resources两个类来实现的。

1.9K100

Android资源大小检查测试方案

比如dex、so、图片资源各自占比、是否有重复资源、是否有图片未压缩等. 如果能每个版本检查出上述问题并提出优化建议,那么在持续集成中价值就比较大....文件和src目录下源码一起编译成class文件 通过class文件生成成dex文件 将资源文件和dex文件一起打包,生成初始apk 对初始apk签名 资源组成 dex Android开发编写的是.java...通过Android Studio分析下dex文件,共有6个dex文件....这里提到了NDK工具,NDK提供了一系列的工具,帮助开发者快速开发C(或C++)的动态库,并能自动将so和java应用一起打包成apk. .png .png是常见的资源文件,在Android项目中路径是...未使用的资源文件 资源文件没有被真正引用到 重复的资源文件 资源目录下有两个一样的文件,根据对比文件md5 图片格式 webp格式比png、jpg体积小 项目地址 已经把Matrix-ApkChecker

63210

android 资源文字ids的作用

这些值可以在代码中用android.R.id引用到。若在ids.xml中定... ids.xml——为应用的相关资源提供唯一的资源id。...这些值可以在代码中用android.R.id引用到。 若在ids.xml中定义了ID,则在layout中可如下定义@id/price_edit,否则@+id/price_edit。...我们知道android的组件必须用一个int类型的id属性来标识其唯一性,id属性必须以@开头的值,例如,@id/abc、@+id/xyz等。...为了避免破坏兼容性,新的资源需加在同类资源的最后(主要ID值,按照ID值递增)。若是放置在中间会导致随后的同类资源被赋予新的ID值从而破坏兼容性。...3)在自己写的xml中,使用android:id = “@+id/id_name”的形式,就和在eclipse中一样,搜一下会发现android源码中也有这么用的,这样ids.xml和public.xml

1.6K50

Android中的资源复用小技巧

前言 做了很多项目,发现每个项目里都有大量的相似图标,比如每个颜色一种、每个角度一种(左箭头、右箭头)等等,虽然这些图标很小占用不了太多资源。...但是当我们需要change的时候就得一个个去替换,其实在android里有很多小技巧可以让这些资源进行复用,减少体积的同时也可以使项目结构更加清晰。...我们可以使用bitmap标签,在drawable下新建一个资源xml,如下: <?xml version="1.0" encoding="utf-8"?...,在drawable下新建一个资源xml,如下: <rotate xmlns:android="http://schemas.android.com/apk/res/android" android...组合 有时候我们有的资源是几个其他资源组合而成的,其实这时候我们没必要再重新切一个组合后的图。 使用layer-list即可,通过设置位置,并且通过上面所说的旋转等方法可以实现各种组合情况。

1K10
领券