Android 中raw和assets文件夾的區(qū)別
Android 中raw和assets文件夾的區(qū)別
以下是我通過(guò)整理網(wǎng)上與自己的經(jīng)驗(yàn)所得。
raw 和 assets 的相同點(diǎn)
它們會(huì)被原封不動(dòng)的拷貝到APK中,而不會(huì)像其它資源文件那樣被編譯成二進(jìn)制的形式。
raw 和 assets 的不同點(diǎn)
1.它們?cè)诖a中的不同方式 :
assets:
InputStream assets = getAssets().open("xxxx");
raw:
InputStream raw = getResources().openRawResource(R.raw.xxxx)
assets下可以創(chuàng)建目錄結(jié)構(gòu),還能夠動(dòng)態(tài)的列出assets中的所有資源(getAssets().list(String path);),raw文件目錄下不行
raw 文件夾下的的會(huì)資源生成一個(gè)資源id,assets文件下的資源不會(huì)
raw 和 assets 的使用場(chǎng)景
1.由于raw是Resources(res)的子目錄,Android會(huì)自動(dòng)的為這目錄中的所有資源文件生成一個(gè)ID,這個(gè)ID會(huì)被存儲(chǔ)在R類(lèi)當(dāng)中,作為一個(gè)文件的引用。這意味著這個(gè)資源文件可以很容易的被Android的類(lèi)和方法訪問(wèn)到,甚至在Android XML文件中你也可以@raw/的形式引用到它。在Android中,使用ID是訪問(wèn)一個(gè)文件最快捷的方式。MP3和Ogg文件放在這個(gè)目錄下是比較合適的。
2.assets目錄更像一個(gè)附錄類(lèi)型的目錄,Android不會(huì)為這個(gè)目錄中的文件生成ID并保存在R類(lèi)當(dāng)中,因此它與Android中的一些類(lèi)和方法兼容度更低。同時(shí),由于你需要一個(gè)字符串路徑來(lái)獲取這個(gè)目錄下的文件描述符,訪問(wèn)的速度會(huì)更慢。但是把一些文件放在這個(gè)目錄下會(huì)使一些操作更加方便,比方說(shuō)拷貝一個(gè)數(shù)據(jù)庫(kù)文件到系統(tǒng)內(nèi)存中。要注意的是,你無(wú)法在Android XML文件中引用到assets目錄下的文件,只能通過(guò)AssetManager來(lái)訪問(wèn)這些文件。數(shù)據(jù)庫(kù)文件和游戲數(shù)據(jù)等放在這個(gè)目錄下是比較合適的
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
- 讀寫(xiě)Android中assets目錄下的文件的方法詳解
- Android獲取assets文件夾中的數(shù)據(jù)并寫(xiě)入SD卡示例
- android讀取assets文件示例
- 基于android中讀取assets目錄下a.txt文件并進(jìn)行解析的深入分析
- Android操作存放在assets文件夾下SQLite數(shù)據(jù)庫(kù)的方法
- Android播放assets文件里視頻文件相關(guān)問(wèn)題分析
- Android編程讀取Assets所有文件(遍歷每一個(gè)文件夾)并存入sdcard的方法
- android文件操作——讀取assets和raw文件下的內(nèi)容
- Android 加載assets中的資源文件實(shí)例代碼
- Android 讀取assets和raw文件內(nèi)容實(shí)例代碼
- Android API編程之Assets文件操作示例
- Android開(kāi)發(fā)實(shí)現(xiàn)讀取Assets下文件及文件寫(xiě)入存儲(chǔ)卡的方法
相關(guān)文章
詳解Android ContentProvider的基本原理和使用
ContentProvider(內(nèi)容提供者)是 Android 的四大組件之一,管理 Android 以結(jié)構(gòu)化方式存放的數(shù)據(jù),以相對(duì)安全的方式封裝數(shù)據(jù)(表)并且提供簡(jiǎn)易的處理機(jī)制和統(tǒng)一的訪問(wèn)接口供其他程序調(diào)用2021-06-06
Android動(dòng)態(tài)修改應(yīng)用圖標(biāo)與名稱(chēng)的方法實(shí)例
這篇文章主要給大家介紹了關(guān)于Android動(dòng)態(tài)修改應(yīng)用圖標(biāo)與名稱(chēng)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-01-01
Android 8.0系統(tǒng)中應(yīng)用圖標(biāo)的適配微技巧
這篇文章主要介紹了Android 8.0系統(tǒng)中應(yīng)用圖標(biāo)的適配微技巧 ,需要的朋友可以參考下2018-04-04
Android使用TouchDelegate增加View的觸摸范圍
這篇文章主要為大家詳細(xì)介紹了Android使用TouchDelegate增加View的觸摸范圍,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-05-05
Android拼圖游戲 玩轉(zhuǎn)從基礎(chǔ)到應(yīng)用手勢(shì)變化
這篇文章主要介紹了Android拼圖游戲的實(shí)現(xiàn)方法,教大家玩轉(zhuǎn)從基礎(chǔ)到應(yīng)用手勢(shì)變化,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-10-10

