`
coolerbaosi
  • 浏览: 727126 次
文章分类
社区版块
存档分类
最新评论

Android Resource处理流程分析-- R.java文件中资源ID的含义

 
阅读更多



在Android中资源的使用几乎无处不在,layout、string、drawable、raw、style、theme等等都是。
这些资源会在编译过程中被打包进APK中(res文件夹)或者被打包成独立的资源APK包(比如framework-res.apk)。
但是这些资源都会被赋予独一无二的ID即资源索引来方便系统访问。
这些资源索引由Android的工具AAPT(Android Asset Packing Tool)生成的八位十六进制整数型。

中间 02 所在位置值代表资源ID对应的资源的类型,分别是:
02:drawable
03:layout
04:values
05:xml
06:raw
07:color
08:menu

PS:分配resource id的主要逻辑实现是在framework/base/tools/aapt/Resource.cpp 和 ResourceTable.c

分享到:
评论

相关推荐

    新版Android开发教程.rar

    的 Android SDK 提供了在 Android 平台上使用 JaVa 语言进行 Android 应用开发必须的工具和 API 接口。 特性 • 应用程序框架 支持组件的重用与替换 • Dalvik Dalvik Dalvik Dalvik 虚拟机 专为移动设备优化 • ...

    android编程(自学资料)

    Android除了提供/res目录存放资源文件外,在/assets目录也可以存放资源文件,而且/assets目录下的资源文件不会在R.java自动生成ID,所以读取/assets目录下的文件必须指定文件的路径,如:file:///android_asset/xxx....

    AppUpdate-一个简单、轻量、可随意定制 的Android版本更新库 .zip

    框架内部支持中/英文(其他语言只需要在对应的string.xml中取相同的名字即可)内部对话框背景图片、按钮支持自定义了查看版本中的Log只需要过滤AppUpdate开头的Tag重点: 如果没有设置downloadPath则默认为...

    黑马程序员 安卓学院 万元哥项目经理 分享220个代码实例

    |--android中anim文件特效 |--app信息menifest获取(如版本号) |--AsyncQueryHandler之异步查询Cursor处理 |--AutoCompleteTextView自动提示的用法 |--BitMap、Drawable、inputStream及byte[] 互转 |--...

    apktool documentation

    Can't find framework resources for package of id: 2. You must install proper framework files, see project website for more info. We must get HTC framework resources before decoding this apk. We pull ...

    android串口通信

    private void DisplayError(int resourceId) { AlertDialog.Builder b = new AlertDialog.Builder(this); b.setTitle("Error"); b.setMessage(resourceId); b.setPositiveButton("OK", new OnClickListener...

    创建Android库的方法及Android .aar文件用法小结

    与 JAR 文件不同,AAR 文件可以包含 Android 资源和一个清单文件,这样,除了 Java 类与方法外,您还可以捆绑布局和可绘制对象等共享资源。 库模块在以下情况下非常有用: 构建使用某些相同组件(例如 Activity、

    详解Android的.aar文件生成方法以及使用技巧

    无论是用Eclipse还是用Android Studio做android开发,都会接触到...aar是android module中所有resource文件和编译后的java文件的总压缩包。 区别在于:aar除了包含class文件,还包含resource文件。 在Android Studio中

    APKTool批处理版l

    一般而言,一个编写规范的Android程序,会把所有字符串资源都分离出来,放在values的strings.xml文件中,values目录中存放的是默认语言字符串资源(一般为英文)。APK程序在处理字符串资源时会先判断语言环境,然后...

    Android图片上传下载小框架

    // Helpers to set image by contact address book id public void setImageContact(long contactId) { setImage(new ContactImage(contactId)); } public void setImageContact(long contactId, final ...

    删除android项目没用的资源

    删除android项目没用的资源,用法如下: java -jar android_unused_resources.jar F:\my_android true 其中第一个参数为android项目路径,第二个参数为是否删除,如果为false则只显示没用的资源 每运行一遍,重新...

    Google Android SDK开发范例大全(PDF完整版4)(4-4)

    3.4 置换TextView文字——CharSequence数据类型与ResourceID应用 3.5 取得手机屏幕大小——DisplayMetrics取得画面宽高的方法 3.6 样式化的定型对象——Style样式的定义 3.7 简易的按钮事件——Button事件处理 3.8 ...

    Google Android SDK开发范例大全(PDF高清完整版1)(4-1)

    3.4 置换TextView文字——CharSequence数据类型与ResourceID应用 3.5 取得手机屏幕大小——DisplayMetrics取得画面宽高的方法 3.6 样式化的定型对象——Style样式的定义 3.7 简易的按钮事件——Button事件处理 3.8 ...

    Android studio中生成引用.aar和.jar的方法详解

    在Android Studio中对一个自己库进行生成操作时将会同时生成*.jar与*.aar文件。 分别存储位置:  *.jar:库 /build/intermediates/bundles/debug(release)/classes.jar  *.aar:库 /build/outputs/aar/libraryname...

    Google Android SDK开发范例大全(PDF高清完整版3)(4-3)

    3.4 置换TextView文字——CharSequence数据类型与ResourceID应用 3.5 取得手机屏幕大小——DisplayMetrics取得画面宽高的方法 3.6 样式化的定型对象——Style样式的定义 3.7 简易的按钮事件——Button事件处理 3.8 ...

    Google Android SDK开发范例大全(完整版附部分源码).pdf

    3.4 置换TextView文字——CharSequence数据类型与ResourceID应用 3.5 取得手机屏幕大小——DisplayMetrics取得画面宽高的方法 3.6 样式化的定型对象——Style样式的定义 3.7 简易的按钮事件——Button事件处理 ...

    Google Android SDK开发范例大全的目录

    3.4 置换TextView文字——CharSequence数据类型与ResourceID应用 3.5 取得手机屏幕大小——DisplayMetrics取得画面宽高的方法 3.6 样式化的定型对象——Style样式的定义 3.7 简易的按钮事件——Button事件处理 3.8 ...

    flr-as-plugin:Flr(Flutter-R)插件

    Flr(Flutter-R)插件:Flutter Resource Manager Android Studio插件,可以帮助Flutter开发人员在更改flutter项目资产后自动在pubspec.yaml指定资产并生成rgdart文件。 借助rgdart ,flutter开发人员可以通过引用...

    WelcomeVideoPager-仿蚂蜂窝自由行和慕课网视频欢迎页.zip

     uri = Uri.parse("android.resource://" getActivity().getPackageName() "/" R.raw.guide_3);  }  /**播放视频**/  customVideoView.playVideo(uri);  return customVideoView;  }  /**  *...

Global site tag (gtag.js) - Google Analytics