iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >r.java指的是什么文件
  • 248
分享到

r.java指的是什么文件

2023-06-20 17:06:29 248人浏览 八月长安
摘要

这篇文章主要介绍r.java指的是什么文件,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!R.java文件是编译器自动生成的,它无需开发人员对其进行维护。R.java会自动收录当前应用中所有的资源,并根据这些资源建立对

这篇文章主要介绍r.java指的是什么文件,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

R.java文件是编译器自动生成的,它无需开发人员对其进行维护。R.java会自动收录当前应用中所有的资源,并根据这些资源建立对应的ID。可以简单的把R.java理解成是当前Android应用的资源字典。

教程操作环境:windows7系统、java10版、DELL G3电脑。

R.java文件简介

Android studio中,R.java所在目录为:app/build/generated/source/r/arm/debug/com.example.dfanghu.myapplication/R.java

gen目录下的R.java文件是编译器自动生成的,它无需开发人员对其进行维护。R.java会自动收录当前应用中所有的资源,并根据这些资源建立对应的ID,包括:布局资源、控件资源、String资源、Drawable资源等。我们可以简单的把R.java理解成是当前Android应用的资源字典。

在当前项目不能包含任何错误的前提下,手动删除了R.java文件,编译器会立即重新生成一个R.java文件;在res/目录中增加了一个新的资源,编译器也会立即把这个资源的ID收录到R.java文件中。,但是都是有个前提的,就是当前项目不能包含任何错误。当发现在更新的资源后,R.java没有对此资源进行收录,那么就需要检查一下当前项目是否存在错误。

R.java文件内容解析

HelloWorld工程中的R.java文件

package com.android.hellworld;public final class R {    public static final class attr {    }    public static final class drawable {        public static final int icon=0x7f020000;    }    public static final class layout {        public static final int main=0x7f030000;    }    public static final class string {        public static final int app_name=0x7f040001;        public static final int hello=0x7f040000;    }}

R.java文件中默认有attr、drawable、layout、string等四个静态内部类,每个静态内部类分别对应着一种资源,如layout静态内部类对应layout中的界面文件,其中每个静态内部类中的静态常量分别定义一条资源标识符,如public static final int main=0x7f030000;对应的是layout目录下的main.xml文件。

由于目前【drawable-*dpi】目录下都只有icon.png一个图片文件,因此此时不同详述的同名的icon.png文件在drawable内部类总只有一个icon属性。如果我们在【drawable-*dpi】目录下再添加一幅图片,则内部类中会自动的添加一个icon属性。

PS:添加资源的命名规则:资源文件只能以小写字母和下划线做首字母,随后的名字中只能出现 [a-z0-9_.] 这些字符,否则R.java文件不会自动更新,并且eclipse会提示错误。

理解了R.java文件中内容的来源,即当开发者在res/目录中任何一个子目录中添加相应类型的文件之后,ADT会在R.java文件中相应的内部类中自动生成一条静态int类型的常量,对添加的文件进行索引。如果在layout目录下再添加一个新的界面,那么在public static final class layout中也会添加相应的静态int常量。相反当我们在res目录下删除任何一个文件,其在R.java中对应的记录会被ADT自动删除。

R.java文件按除了有自动标示资源的索引功能之外,还有另外一个主要的功能,如果res目录中的某个资源在应用中没有被使用到,在该应用被编译的时候系统就不会把对应的资源编译到该应用的APK包中,这样可以节省Android手机的资源。

如何通过R.java文件来引用到所需要的资源

在java程序中引用资源

按照java的语法来引用即:R.resource_type.resource_name

注意:resource_name不需要文件的后缀名

Android系统本身自带了很多的资源,我们也可以进行引用,只是需要再前面加上“Android.”以声明该资源来自Android系统,即:Android.R.resource_type.resouce_name

例:【drawable-*hpi】下的icon.png

该图片在R.java文件的映射为drawable内部类下icon参数,则如果要获取该资源,则写法为:R.drawble.icon

在XML文件中引用资源

格式:@[package:]type/name

在xml文件中,如main.xml以及AndroidMainfest.xml文件中通过“@drawable/icon”的方式获取。其中“@”代表的是R.java类。“drawable”代表的是R.java中的静态内部类“drawable”,“/icon”代表静态内部类“drawable”中的静态属性“icon”,而该属性可以指向res目录下的“drawable-*dpi”中的icon.png资源。其他类型的文件也比较类似。凡是在R文件中定义的资源都可以通过“@Static_inner_classes_name/resource_name”的方式获取。如“@id/button”,“@string/app_name”。

如果访问的是Android系统中自带的文件,则要添加包名“Android:”。例如:android:textColor="@android:color/red"

如何往R.java文件中添加一条资源记录

在布局文件中当我们需要为一些组件添加Id属性作为标识,可以使用如下的表达式:“@+id/string_name”,其中“+”表示在R.java的名为id的内部类中国添加一条记录。例:“@+id/button”的含义是在R.java文件中的id这个静态内部类添加一条常量名为button,该常量就是该资源的标识符。如果 id这个静态内部类不存在,则会先生成它。

以上是“r.java指的是什么文件”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网精选频道!

--结束END--

本文标题: r.java指的是什么文件

本文链接: https://www.lsjlt.com/news/298774.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • r.java指的是什么文件
    这篇文章主要介绍r.java指的是什么文件,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!R.java文件是编译器自动生成的,它无需开发人员对其进行维护。R.java会自动收录当前应用中所有的资源,并根据这些资源建立对...
    99+
    2023-06-20
  • dat文件指的是什么文件
    这篇文章将为大家详细讲解有关dat文件指的是什么文件,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。dat文件可以按照扩展名来看就是DATA的意思,即数据文件,这类文件并没有进行绝对化的定义,例如VCD光盘...
    99+
    2023-06-06
  • xllive指的是什么文件
    这篇文章主要介绍xllive指的是什么文件,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!xllive文件是迅雷应用程序升级包中的文件,迅雷应用升级时会下载该类文件,最后借助于该类文件实现升级。迅雷升级方法:首先打开迅...
    99+
    2023-06-14
  • esd文件指的是什么
    这篇文章主要介绍esd文件指的是什么,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!esd文件是微软在windows8开始后,通过在线分发windows副本时采用的文件格式;Esd是一种具有更高压缩率的文件格式,并且比...
    99+
    2023-06-06
  • dll文件指的是什么
    本篇文章为大家展示了dll文件指的是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。DLL是Dynamic Link Library的缩写,意为动态链接库。DLL文件一般被存放在C:Windows...
    99+
    2023-06-17
  • ppkg指的是什么文件
    这篇文章的内容主要围绕ppkg指的是什么文件进行讲述,文章内容清晰易懂,条理清晰,非常适合新手学习,值得大家去阅读。感兴趣的朋友可以跟随小编一起阅读吧。希望大家通过这篇文章有所收获!ppkg是指usmt.ppkg文件,是一个系统备份文件,可...
    99+
    2023-06-28
  • vbs指的是什么文件
    小编给大家分享一下vbs指的是什么文件,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!vbs是基于Visual Basic的脚本语言,VBS的全称是“Microsoft Visual Basic Script Edition...
    99+
    2023-06-06
  • org指的是什么文件
    这篇文章给大家分享的是有关org指的是什么文件的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。org是游戏系统里自己调用的文件,一般来说除了本游戏,是无法另外打开的;而org在汇编语言中是一条指令,其作用是告诉汇编...
    99+
    2023-06-14
  • tmp文件指的是什么
    本文小编为大家详细介绍“tmp文件指的是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“tmp文件指的是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。tmp是什么文件:答:tmp文件是Windows产生的...
    99+
    2023-07-02
  • amr指的是什么文件
    这篇文章给大家分享的是有关amr指的是什么文件的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。amr是一个文件格式,存储AMR语音编码文件;很多手机允许用户存储短时间的AMR格式录音,而部分开源和商业软件有和其他格...
    99+
    2023-06-08
  • mydrivers指的是什么文件
    小编给大家分享一下mydrivers指的是什么文件,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!MyDrivers是安装驱动精灵的时候生成的文件夹,默认d盘,用于...
    99+
    2023-06-09
  • dump文件指的是什么
    这篇文章主要介绍了dump文件指的是什么,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Dump文件又叫内存转储文件或者叫内存快照文件,是进程的内存镜像,是用来给驱动程序编写人...
    99+
    2023-06-14
  • css文件指的是什么
    这篇文章将为大家详细讲解有关css文件指的是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、CSS文件定义    -   TOP接下来...
    99+
    2024-04-02
  • linux swp文件指的是什么
    这篇文章主要介绍了linux swp文件指的是什么,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。linux swp文件是一种后缀为“.swp”的文件,该文件是在当使用vi或者...
    99+
    2023-06-25
  • linux sock文件指的是什么
    这篇“linux sock文件指的是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“li...
    99+
    2023-04-13
    linux sock
  • linux c文件指的是什么
    本篇内容主要讲解“linux c文件指的是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“linux c文件指的是什么”吧! li...
    99+
    2023-04-14
    linux
  • libs指的是什么文件夹
    这篇文章主要介绍了libs指的是什么文件夹,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。libs文件夹存放的是软件连接文件和库文件,对于软件是否能够正常地启动有着决定性的作用...
    99+
    2023-06-13
  • users指的是什么文件夹
    小编给大家分享一下users指的是什么文件夹,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!users是电脑中的一个包含用户使用过程中产生的数据、程序内容以及文档、音乐等内容的文件夹。我们打开电脑中的资源管理器,就可以找到u...
    99+
    2023-06-15
  • mysql-bin指的是什么文件
    这篇文章将为大家详细讲解有关mysql-bin指的是什么文件,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。mysql的mysql-bin是数据库的操作日志文件,如果不做主...
    99+
    2024-04-02
  • backup指的是什么文件夹
    这篇文章主要介绍backup指的是什么文件夹,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!backup文件也叫系统备份文件,它的做作用是拷贝到存储介质上的文件,可以帮助保护数据,以防其在系统硬件或存储介质出现故障时受...
    99+
    2023-06-14
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作