真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

r.java指的是什么文件

這篇文章主要介紹r.java指的是什么文件,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

站在用戶(hù)的角度思考問(wèn)題,與客戶(hù)深入溝通,找到文成網(wǎng)站設(shè)計(jì)與文成網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶(hù)體驗(yàn)好的作品,建站類(lèi)型包括:成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作、外貿(mào)營(yíng)銷(xiāo)網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、空間域名、虛擬空間、企業(yè)郵箱。業(yè)務(wù)覆蓋文成地區(qū)。

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)用的資源字典。

本教程操作環(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)部類(lèi),每個(gè)靜態(tài)內(nèi)部類(lèi)分別對(duì)應(yīng)著一種資源,如layout靜態(tài)內(nèi)部類(lèi)對(duì)應(yīng)layout中的界面文件,其中每個(gè)靜態(tài)內(nèi)部類(lè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)部類(lèi)總只有一個(gè)icon屬性。如果我們?cè)凇綿rawable-*dpi】目錄下再添加一幅圖片,則內(nèi)部類(lè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)類(lèi)型的文件之后,ADT會(huì)在R.java文件中相應(yīng)的內(nèi)部類(lèi)中自動(dòng)生成一條靜態(tài)int類(lèi)型的常量,對(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)部類(lèi)下icon參數(shù),則如果要獲取該資源,則寫(xiě)法為:R.drawble.icon

2.在XML文件中引用資源

格式:@[package:]type/name

在xml文件中,如main.xml以及AndroidMainfest.xml文件中通過(guò)“@drawable/icon”的方式獲取。其中“@”代表的是R.java類(lèi)。“drawable”代表的是R.java中的靜態(tài)內(nèi)部類(lèi)“drawable”,“/icon”代表靜態(tài)內(nèi)部類(lèi)“drawable”中的靜態(tài)屬性“icon”,而該屬性可以指向res目錄下的“drawable-*dpi”中的icon.png資源。其他類(lèi)型的文件也比較類(lèi)似。凡是在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)部類(lèi)中國(guó)添加一條記錄。例:“@+id/button”的含義是在R.java文件中的id這個(gè)靜態(tài)內(nèi)部類(lèi)添加一條常量名為button,該常量就是該資源的標(biāo)識(shí)符。如果 id這個(gè)靜態(tài)內(nèi)部類(lèi)不存在,則會(huì)先生成它。

以上是“r.java指的是什么文件”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


名稱(chēng)欄目:r.java指的是什么文件
本文來(lái)源:http://weahome.cn/article/peepdd.html

其他資訊

在線咨詢(xún)

微信咨詢(xún)

電話(huà)咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部