r.java是什么文件,干什么用的,R.java文件

  r.java是什么文件,干什么用的,R.java文件

  如何解决写爬虫IP受阻的问题?立即使用。

  本教程运行环境:windows7系统,java10版本10,DELL G3电脑。

  1.R.java文件介绍

  在Android studio中,R.java的目录是:app/build/generated/source/r/arm/debug/com . example . dfang Hu . my application/r . Java。

  gen目录下的R.java文件由编译器自动生成,不需要开发人员维护。R.java会自动收集当前应用中的所有资源,并根据这些资源建立相应的ID,包括布局资源、控件资源、字符串资源、可绘制资源等。我们可以简单地将R.java理解为当前Android应用程序的资源字典。

  在当前项目不能包含任何错误的前提下,手动删除R.java文件,编译器会立即重新生成一个R.java文件;一个新的资源被添加到res/目录中,编译器将立即在R.java文件中包含这个资源的ID。但是,有一个前提,当前项目不能包含任何错误。当发现更新的资源不包括在R.java中时,有必要检查当前项目中的错误。

  2.R.java文献的内容分析

  HelloWorld项目中的R.java文件

  包com . Android . hell world;

  公共最终类R {

  公共静态最终类属性{

  }

  公共静态最终类drawable {

  公共静态final int icon=0x7f020000

  }

  公共静态最终类布局{

  公共静态final int main=0x7f030000

  }

  公共静态最终类字符串{

  public static final int app _ name=0x7f 040001;

  公共静态final int hello=0x7f040000

  }

  }默认情况下,R.java文件有attr、drawable、layout、string四个静态内部类。每个静态内部类对应一个资源,比如layout静态内部类对应layout中的接口文件,每个静态内部类中的静态常量定义一个资源标识符,比如public static final int main=0x7f 030000;对应于布局目录中的main.xml文件。

  目前[drawable-*dpi]目录下只有一个icon.png的图像文件,所以不同细节同名的icon.png文件在drawable内部类中总是只有一个icon属性。如果我们在[drawable-*dpi]目录中添加另一张图片,那么一个图标属性会自动添加到内部类中。

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

  了解R.java文件中内容的来源,即当开发者在res/directory的任意子目录中添加对应类型的文件时,ADT会自动在R.java文件对应的内部类中生成一个static int类型的常量,对添加的文件进行索引。如果在布局目录中添加了一个新的接口,相应的静态int常量也将被添加到公共静态最终类布局中。相反,当我们删除res目录中的任何文件时,其在R.java的相应记录都会被ADT自动删除。

  除了自动标记资源的索引功能,R.java还有另一个主要功能。如果应用中没有使用res目录下的某个资源,系统在编译应用时不会将相应的资源编译到应用的APK包中,这样可以节省安卓手机的资源。

  3.如何通过R.java文档查阅所需资源?

  1.java程序中的参考资源

  按照java的语法,引用是:r.resource _ type.resource _ name。

  注意:资源名称不需要文件的后缀。

  Android系统本身自带了很多资源,我们也可以引用,但是只需要加上“Android”就可以了。前面声明资源来自Android系统,即:Android . r . resource _ type . resort _ name。

  示例:在[可提取-*hpi]下的icon.png

  这张图片在R.java文件中的映射是drawable内部类下的icon参数,所以如果要获取这个资源,就写成R.drawble.icon

  2.XML文件中的参考资源

  格式:@[包:]类型/名称

  在xml文件中,比如main.xml和AndroidMainfest.xml,是通过“@drawable/icon”获取的。其中“@”代表R.java等级。“drawable”表示静态内部类“drawable”,“/icon R.java”,“/icon”表示静态内部类“drawable”中的静态属性“icon”,可以指向res目录下“drawable-*dpi”中的icon.png资源。其他类型的文件也类似。R文件中定义的任何资源都可以通过“@ static _ inner _ classes _ name/resource _ name”获取。比如“@id/button”和“@string/app_name”。

  如果你正在访问一个Android系统自带的文件,你应该加上包名“Android:”。例如:Android:text color= @ Android:color/red

  4.如何向R.java文件添加资源记录?

  在布局文件中,当我们需要给一些组件添加id属性作为标识符时,可以使用下面的表达式:“@ id/string_name”,其中“”表示在R.java的内部类中添加一条名为Id的记录。例:“@ id/button”是指在R.java文件中id的静态内部类中添加一个名为button的常量,它是资源的标识符。如果静态内部类id不存在,将被教师识别。

  推荐视频教程:Java视频教程。以上是r.java的详细情况。更多请关注我们的其他相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: