編輯:關於Android編程
總結:
asset目錄下文件:
稱為原生文件,這類文件在被打包成apk文件時是不會進行壓縮的,不會自動生成R文件的ID
訪問:
獲取路徑: file://android_asset/test.xml
res目錄下的文件:
文件會被映射到R.java文件中
res/raw和assets的相同點:
1.兩者目錄下的文件在打包後會原封不動的保存在apk包中,不會被編譯成二進制, 可以把數據庫文件放這裡。
.res/raw不可以有目錄結構,而assets則可以有目錄結構,也就是assets目錄下可以再建立文件夾
-----------------------------------------------------------------------------------
在很多時候,我們需要訪問android中的資源文件,這些資源文件主要分為兩類,一種出於asset目錄下,稱為原生文件,這類文件在被打包成apk文件時是不會進行壓縮的;另一類則是res下的文件,這類文件在打包成apk文件時,會進行小內存優化的哦。
兩種不同類型的文件,對應著不同的訪問模式。我們先來看看asset文件的訪問:
android中有一個專門的類來處理應用對asset文件的訪問,這個類就是AssetManager。其內有一個open()方法可以根據用戶提供的文件名,返回一個InputStream對象供用戶使用。
這裡我們可以看到open方法以及其他的相應方法,對於其中有一個參數accessMode,則指定了系統獲取資源的模式。主要值有以下幾種:
ACCESS_BUFFER :加載文件到內存中,這種方式適合小文件的讀取;
ACCESS_RANDOM:可以隨意的向前或者向後的讀取數據塊
ACCESS_STRAMING:順序的讀取內容
ACCESS_UNKNOWN:當沒有明確指定時,使用默認模式
這裡我們一定要注意,open(String fileName)默認的使用ACCESS_STREAMING模式進行讀取!!
那麼我們如何獲得一個AssetManager對象呢,在activity中我們可以通過以下的代碼獲取:
[java] view plaincopy如何訪問res目錄下的文件呢?
我們在activity中可以通過如下方法進行訪問:
[java] view plaincopy最後,我們一定要注意一下三點:
存放在res/raw下的文件,會相應的生成ID,而在assets下的文件,不會生成ID;
asset和res下的文件都是只能讀不能寫的;
在AssertManager中不能處理單個超過 1MB的文件,不然會報異常,而第二種raw沒這個限制。
沒什麼技術難點,照著api做的。 這是效果圖 我們先對Toast自定義一個布局: 下面是關鍵代碼,我
本文實例講述了Android ScrollView只能添加一個子控件問題解決方法。分享給大家供大家參考,具體如下:有下面一段代碼<?xml version=
要用TextView使用漸變色,那我們就必須要了解LinearGradient(線性漸變)的用法。LinearGradient的參數解釋LinearGradient也稱作
ActionBar & Toolbar設置ActionView我們可以在菜單中設置ActionView,比如搜索,他是一個帶圖標和輸入框的控件,他分別有兩種不同的