Android assets/ 與 res/raw/
阿新 • • 發佈:2019-02-13
Android Developer 中的介紹
訪問原始檔案
儘管並不常見,但您的確有可能需要訪問原始檔案和目錄。如果確有需要,則將您的檔案儲存在 res/ 中不起作用,因為從 res/讀取資源的唯一方法是使用資源 ID。您可以改為將資源儲存在 assets/ 目錄中。
儲存在 assets/ 目錄中的檔案沒有資源 ID,因此您無法通過 R 類或在 XML 資源中引用它們。您可以改為採用類似普通檔案系統的方式查詢 assets/ 目錄中的檔案,並利用 AssetManager
讀取原始資料。
不過,如果只需要讀取原始資料(例如視訊檔案或音訊檔案)的能力,則可將檔案儲存在 res/raw/ 目錄中,並利用 openRawResource()
相同與差異
目錄 | 是否被壓縮 | 資源ID | 是否有目錄結構 |
---|---|---|---|
assets | 否 | 無 | 是 |
res/raw | 否 | 有 | 否 |
res/other | 是 | 有 | 否 |
共同點
都不會壓縮,不會被編譯成二進位制不同點
1.assets/ 目錄 中的檔案沒有資源 ID,因此您無法通過 R 類或在 XML 資源中引用它們
2.assets/ 目錄 可以有目錄結構
其他
assets類似檔案的訪問方式。raw類似res的訪問方式。