日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

r.java是什么_R.java文件介绍

發(fā)布時(shí)間:2023/12/9 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 r.java是什么_R.java文件介绍 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

http://blog.chinaunix.net/uid-21411227-id-4133828.html

注意:R.java文件不能手動(dòng)修改。

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

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

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

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

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

2.如何通過R.java文件來引用到所需要的資源

1)在java程序中引用資源

按照java的語法來引用即:R.resource_type.resource_name

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

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

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

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

2.在XML文件中引用資源

格式:@[package:]type/name

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

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

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

總結(jié)

以上是生活随笔為你收集整理的r.java是什么_R.java文件介绍的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。