国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

首頁(yè) Java Java基礎(chǔ) r.java是什么文件

r.java是什么文件

Jul 27, 2021 am 11:25 AM

R.java文件是編譯器自動(dòng)生成的,它無(wú)需開(kāi)發(fā)人員對(duì)其進(jìn)行維護(hù)。R.java會(huì)自動(dòng)收錄當(dāng)前應(yīng)用中所有的資源,并根據(jù)這些資源建立對(duì)應(yīng)的ID。可以簡(jiǎn)單的把R.java理解成是當(dāng)前Android應(yīng)用的資源字典。

r.java是什么文件

本教程操作環(huán)境:windows7系統(tǒng)、java10版、DELL G3電腦。

1、R.java文件簡(jiǎn)介

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

gen目錄下的R.java文件是編譯器自動(dòng)生成的,它無(wú)需開(kāi)發(fā)人員對(duì)其進(jìn)行維護(hù)。R.java會(huì)自動(dòng)收錄當(dāng)前應(yīng)用中所有的資源,并根據(jù)這些資源建立對(duì)應(yīng)的ID,包括:布局資源、控件資源、String資源、Drawable資源等。我們可以簡(jiǎn)單的把R.java理解成是當(dāng)前Android應(yīng)用的資源字典。

在當(dāng)前項(xiàng)目不能包含任何錯(cuò)誤的前提下,手動(dòng)刪除了R.java文件,編譯器會(huì)立即重新生成一個(gè)R.java文件;在res/目錄中增加了一個(gè)新的資源,編譯器也會(huì)立即把這個(gè)資源的ID收錄到R.java文件中。,但是都是有個(gè)前提的,就是當(dāng)前項(xiàng)目不能包含任何錯(cuò)誤。當(dāng)發(fā)現(xiàn)在更新的資源后,R.java沒(méi)有對(duì)此資源進(jìn)行收錄,那么就需要檢查一下當(dāng)前項(xiàng)目是否存在錯(cuò)誤。

2、R.java文件內(nèi)容解析

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文件中默認(rèn)有attr、drawable、layout、string等四個(gè)靜態(tài)內(nèi)部類,每個(gè)靜態(tài)內(nèi)部類分別對(duì)應(yīng)著一種資源,如layout靜態(tài)內(nèi)部類對(duì)應(yīng)layout中的界面文件,其中每個(gè)靜態(tài)內(nèi)部類中的靜態(tài)常量分別定義一條資源標(biāo)識(shí)符,如public static final int main=0x7f030000;對(duì)應(yīng)的是layout目錄下的main.xml文件。

????由于目前【drawable-*dpi】目錄下都只有icon.png一個(gè)圖片文件,因此此時(shí)不同詳述的同名的icon.png文件在drawable內(nèi)部類總只有一個(gè)icon屬性。如果我們?cè)凇綿rawable-*dpi】目錄下再添加一幅圖片,則內(nèi)部類中會(huì)自動(dòng)的添加一個(gè)icon屬性。

PS:添加資源的命名規(guī)則:資源文件只能以小寫(xiě)字母和下劃線做首字母,隨后的名字中只能出現(xiàn) [a-z0-9_.] 這些字符,否則R.java文件不會(huì)自動(dòng)更新,并且eclipse會(huì)提示錯(cuò)誤。

?理解了R.java文件中內(nèi)容的來(lái)源,即當(dāng)開(kāi)發(fā)者在res/目錄中任何一個(gè)子目錄中添加相應(yīng)類型的文件之后,ADT會(huì)在R.java文件中相應(yīng)的內(nèi)部類中自動(dòng)生成一條靜態(tài)int類型的常量,對(duì)添加的文件進(jìn)行索引。如果在layout目錄下再添加一個(gè)新的界面,那么在public static final class layout中也會(huì)添加相應(yīng)的靜態(tài)int常量。相反當(dāng)我們?cè)趓es目錄下刪除任何一個(gè)文件,其在R.java中對(duì)應(yīng)的記錄會(huì)被ADT自動(dòng)刪除。

? ? R.java文件按除了有自動(dòng)標(biāo)示資源的索引功能之外,還有另外一個(gè)主要的功能,如果res目錄中的某個(gè)資源在應(yīng)用中沒(méi)有被使用到,在該應(yīng)用被編譯的時(shí)候系統(tǒng)就不會(huì)把對(duì)應(yīng)的資源編譯到該應(yīng)用的APK包中,這樣可以節(jié)省Android手機(jī)的資源。

3.如何通過(guò)R.java文件來(lái)引用到所需要的資源

1.在java程序中引用資源

按照java的語(yǔ)法來(lái)引用即:R.resource_type.resource_name

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

Android系統(tǒng)本身自帶了很多的資源,我們也可以進(jìn)行引用,只是需要再前面加上“Android.”以聲明該資源來(lái)自Android系統(tǒng),即:Android.R.resource_type.resouce_name

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

該圖片在R.java文件的映射為drawable內(nèi)部類下icon參數(shù),則如果要獲取該資源,則寫(xiě)法為:R.drawble.icon

2.在XML文件中引用資源

格式:@[package:]type/name

在xml文件中,如main.xml以及AndroidMainfest.xml文件中通過(guò)“@drawable/icon”的方式獲取。其中“@”代表的是R.java類?!癲rawable”代表的是R.java中的靜態(tài)內(nèi)部類“drawable”,“/icon”代表靜態(tài)內(nèi)部類“drawable”中的靜態(tài)屬性“icon”,而該屬性可以指向res目錄下的“drawable-*dpi”中的icon.png資源。其他類型的文件也比較類似。凡是在R文件中定義的資源都可以通過(guò)“@Static_inner_classes_name/resource_name”的方式獲取。如“@id/button”,“@string/app_name”。

如果訪問(wèn)的是Android系統(tǒng)中自帶的文件,則要添加包名“Android:”。例如:android:textColor="@android:color/red"

4.如何往R.java文件中添加一條資源記錄

????在布局文件中當(dāng)我們需要為一些組件添加Id屬性作為標(biāo)識(shí),可以使用如下的表達(dá)式:“@+id/string_name”,其中“+”表示在R.java的名為id的內(nèi)部類中國(guó)添加一條記錄。例:“@+id/button”的含義是在R.java文件中的id這個(gè)靜態(tài)內(nèi)部類添加一條常量名為button,該常量就是該資源的標(biāo)識(shí)符。如果 id這個(gè)靜態(tài)內(nèi)部類不存在,則會(huì)先生成它。

相關(guān)視頻教程推薦:Java視頻教程

以上是r.java是什么文件的詳細(xì)內(nèi)容。更多信息請(qǐng)關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本站聲明
本文內(nèi)容由網(wǎng)友自發(fā)貢獻(xiàn),版權(quán)歸原作者所有,本站不承擔(dān)相應(yīng)法律責(zé)任。如您發(fā)現(xiàn)有涉嫌抄襲侵權(quán)的內(nèi)容,請(qǐng)聯(lián)系admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣服圖片

Undresser.AI Undress

Undresser.AI Undress

人工智能驅(qū)動(dòng)的應(yīng)用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用于從照片中去除衣服的在線人工智能工具。

Clothoff.io

Clothoff.io

AI脫衣機(jī)

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智能換臉工具輕松在任何視頻中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的代碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

功能強(qiáng)大的PHP集成開(kāi)發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺(jué)化網(wǎng)頁(yè)開(kāi)發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級(jí)代碼編輯軟件(SublimeText3)

熱門(mén)話題

Laravel 教程
1601
29
PHP教程
1502
276