Android 項目中的資源擷取方法

來源:互聯網
上載者:User

標籤: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 項目中的資源擷取方法

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.