標籤:target 應用程式 add 自動 put 指定路徑 位元組流 tab 允許
Android資源檔分類:
Android資源檔大致可以分為兩種:
第一種是res目錄下存放的可編譯的資源檔:
這種資源檔系統會在R.java裡面自動產生該資源檔的ID,所以訪問這種資源檔比較簡單,通過R.XXX.ID即可;
第二種是assets目錄下存放的原生資源檔:
因為系統在編譯的時候不會編譯assets下的資源檔,所以我們不能通過R.XXX.ID的方式訪問它們。那我麼能不能通過該資源的絕對路徑去訪問它們呢?因為apk安裝之後會放在/data/app/**.apk目錄下,以apk形式存在,asset/res和被綁定在apk裡,並不會解壓到/data/data/YourApp目錄下去,所以我們無法直接擷取到assets的絕對路徑,因為它們根本就沒有。
還好Android系統為我們提供了一個AssetManager工具類。
查看官方API可知,AssetManager提供對應用程式的原始資源檔進行訪問;這個類提供了一個低層級的API,它允許你以簡單的位元組流的形式開啟和讀取和應用程式綁定在一起的原始資源檔。
AssetManager類概述:
提供對應用程式的原始資源檔進行訪問;這個類提供了一個低層級的API,它允許你以簡單的位元組流的形式開啟和讀取和應用程式綁定在一起的原始資源檔。通過getAssets()方法擷取AssetManager對象。
AssetManager類常用方法:
Public Methods |
final String[] |
list(String path) 返回指定路徑下的所有檔案及目錄名。 |
final InputStream |
open(String fileName) 使用 ACCESS_STREAMING模式開啟assets下的指定檔案。. |
final InputStream |
open(String fileName, int accessMode) 使用顯示的訪問模式開啟assets下的指定檔案. |
Android 項目中的資源擷取方法