Android應(yīng)用資源的學(xué)習(xí)

最近發(fā)現(xiàn)自己在開發(fā)的過程中還有很多東西都不懂涂邀,所以決定從今晚開始重新學(xué)習(xí)android基礎(chǔ)匈庭,今晚學(xué)習(xí)android應(yīng)用資源并記錄自己的學(xué)習(xí)筆記条篷,方便自己以后查看

學(xué)習(xí)android這段時間伤溉,覺得android應(yīng)用程序可以分為以下三大類
  • ** 界面布局文件: ** xml文件妒茬,文件中每個標(biāo)簽都對應(yīng)于相應(yīng)的view標(biāo)簽
  • ** Java源文件:** 應(yīng)用中的Activity 、Service 迷殿、BroadcastService 儿礼、ContentProvider四大組件都是采用java代碼實現(xiàn)的
  • 資源文件: 主要以各種xml文件為主,還有包括 *.png庆寺、*. jpg蚊夫、*.gif圖片資源和一些音頻文件、視頻文件資源
1懦尝、應(yīng)用資源概述
  • android應(yīng)用資源可以分為兩大類
    • 無法通過R資源清單類訪問的原生資源知纷,保存在assets目錄下
    • 可以通過R資源清單類訪問的資源,保存在res目錄下
  • android不同資源在res目錄下的存儲方式
目錄 存放的資源
/res/animator/ 存放定義屬性動畫的XML文件
/res/anim/ 存放定義補間動畫的XML文件
/res/color/ 存放定義不同狀態(tài)下顏色列表的XML文件
/res/drawable/ 存放各種位圖文件(如*.png *.9.png *.jpg *.gif)等陵霉。除此之外琅轧,也可能是編譯成如下各種Drawable對象的XML文件:BimapDrawable對象、NinePatchDrawable對象踊挠、StateListDrawable對象乍桂、ShapeDrawable對象、AnimationDrawable對象效床、Drawable的其他各種子類的對象
/res/layout/ 存放各種用戶界面的布局文件
/res/menu/ 存放為應(yīng)用程序定義各種菜單的資源睹酌,包括選項菜單、子菜單剩檀、上下文菜單資源
/res/raw/ 存放任意類型的原生資源(比如資源文件憋沿、視頻文件等),在java代碼中可通過調(diào)用Resource對象的openRawResource(int id)方法來獲取該資源的二進制輸入流沪猴。實際上辐啄,如果應(yīng)用程序需要使用原生資源,也可把這些原生資源保存到/assets/目錄下运嗜,然后在應(yīng)用程序中使用AssetManager來訪問這些資源
/res/values/ 存放各種簡單值的XML文件则披。這些簡單值包括字符串值、整數(shù)值洗出、顏色值士复、數(shù)組等 ,這些資源文件等根元素都是</resources.../>,為該<resources.../>元素添加不同的子元素則代表不同的資源,例如:** 1.string/integer/bool子元素:代表添加一個字符串值翩活、整數(shù)值或boolean值阱洪; 2.color子元素:代表添加一個顏色值;3.array子元素或string-array菠镇、int-array子元素:代表添加一個數(shù)組冗荸;4.style子元素:代表添加一個樣式;5.dimen:代表添加一個尺寸** 為了方便以后的編寫利耍,使用不同的文件來存放不同類型的值:** arrays.xml定義數(shù)組資源蚌本;colors.xml定義顏色值資源盔粹;dimens.xml定義尺寸值資源;strings.xml定義字符串資源程癌;styles.xml:定義樣式資源**
/res/xml/ 存放任意的原生XML文件舷嗡。這些XML文件可以在java代碼中使用Resources.getXML()方法進行訪問
2.使用資源
  • ** 在java代碼中使用資源清單項 **
    由于android sdk會在編譯應(yīng)用時在R類中為/res/目錄下所有資源創(chuàng)建索引,所以在java代碼中訪問資源主要通過R類完成嵌莉,如以下代碼片段:
//從drawable資源中加載圖片进萄,并且設(shè)為該窗口的背景
getWindow.setBackgorundDrawableResource(R.drawable.back);
//從string資源中獲取字符串資源,并且設(shè)為窗口的標(biāo)題
getWindow.setText(getResources().getText(R.string.main_title));
//獲取指定的TextView組件锐峭,并設(shè)置該組件顯示string資源中的字符串資源
TextView text=(TextView)findViewById(R.id.msg);
text.setText(R.string.hello_messager);
  • ** 在java代碼中訪問實際資源 **
    借助android提供的Resources類來完成訪問實際資源中鼠,Resources類主要提供了如下兩種方法:

getXxx(int id): 根據(jù)資源清單id來獲取實際資源
getAssets(): 獲取訪問/assets/目錄下資源的AssetManager對象
Resources實例由Context.getResources()方法來獲取。

代碼如下

//直接調(diào)用Activity的getResources()方法來獲取Resources實例對象
Resources resources=getResources();
//獲取字符串資源
String mainTitle=resources.getText(R.string.main_title);
//獲取Drawable資源
Drawable logo=resources.getDrawable(R.drawable.logo);
//獲取數(shù)組資源
int[] arr=resources.getIntArray(R.array.books);
3.在XML文件中使用資源
  • 在一個文件定義來兩種資源沿癞,代碼如下
<?xml version="1.0" encoding="utf-8"?>
<resources>
      <string name="hello">hello world!</string>
      <color name="red">#ff00></color>
</resources>
  • 在XML資源文件是使用資源援雇,代碼如下
<TextView android:layout_width="match_parent"
      android:layout_height="match_parent"
      android:textColor="@color/red"
      android:text="@string/hello"/>

** 時間不早了,寫著寫著就到凌晨一點了椎扬,覺得自己今晚效率挺低的惫搏,一晚上才學(xué)了一點東西,明晚繼續(xù)編寫android應(yīng)用資源的相關(guān)知識盗舰。深夜里感覺全世界都安靜了晶府,去刷牙背完單詞該睡覺了桂躏,努力什么都會有的钻趋,加油!**

夜深
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末剂习,一起剝皮案震驚了整個濱河市蛮位,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌鳞绕,老刑警劉巖失仁,帶你破解...
    沈念sama閱讀 211,123評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異们何,居然都是意外死亡萄焦,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,031評論 2 384
  • 文/潘曉璐 我一進店門冤竹,熙熙樓的掌柜王于貴愁眉苦臉地迎上來拂封,“玉大人,你說我怎么就攤上這事鹦蠕∶扒” “怎么了?”我有些...
    開封第一講書人閱讀 156,723評論 0 345
  • 文/不壞的土叔 我叫張陵钟病,是天一觀的道長萧恕。 經(jīng)常有香客問我刚梭,道長,這世上最難降的妖魔是什么票唆? 我笑而不...
    開封第一講書人閱讀 56,357評論 1 283
  • 正文 為了忘掉前任朴读,我火速辦了婚禮,結(jié)果婚禮上惰说,老公的妹妹穿的比我還像新娘磨德。我一直安慰自己,他們只是感情好吆视,可當(dāng)我...
    茶點故事閱讀 65,412評論 5 384
  • 文/花漫 我一把揭開白布典挑。 她就那樣靜靜地躺著,像睡著了一般啦吧。 火紅的嫁衣襯著肌膚如雪您觉。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,760評論 1 289
  • 那天授滓,我揣著相機與錄音琳水,去河邊找鬼。 笑死般堆,一個胖子當(dāng)著我的面吹牛在孝,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播淮摔,決...
    沈念sama閱讀 38,904評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼私沮,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了和橙?” 一聲冷哼從身側(cè)響起仔燕,我...
    開封第一講書人閱讀 37,672評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎魔招,沒想到半個月后晰搀,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,118評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡办斑,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,456評論 2 325
  • 正文 我和宋清朗相戀三年外恕,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片乡翅。...
    茶點故事閱讀 38,599評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡鳞疲,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出峦朗,到底是詐尸還是另有隱情建丧,我是刑警寧澤,帶...
    沈念sama閱讀 34,264評論 4 328
  • 正文 年R本政府宣布波势,位于F島的核電站翎朱,受9級特大地震影響橄维,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜拴曲,卻給世界環(huán)境...
    茶點故事閱讀 39,857評論 3 312
  • 文/蒙蒙 一争舞、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧澈灼,春花似錦竞川、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,731評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至荣回,卻和暖如春遭贸,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背心软。 一陣腳步聲響...
    開封第一講書人閱讀 31,956評論 1 264
  • 我被黑心中介騙來泰國打工壕吹, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人删铃。 一個月前我還...
    沈念sama閱讀 46,286評論 2 360
  • 正文 我出身青樓耳贬,卻偏偏與公主長得像,于是被迫代替她去往敵國和親猎唁。 傳聞我的和親對象是個殘疾皇子咒劲,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,465評論 2 348

推薦閱讀更多精彩內(nèi)容