Android面試之assets和aw檔案的使用

來源:互聯網
上載者:User

標籤:

在建立項目中一般會預設建立assets檔案,當然我們還可以在res檔案下面建立raw檔案夾,這裡面都可以存放一些多媒體檔案或者文本資訊,可以供我們在程式中使用。

      assets下面的檔案不會被編譯,通過路徑可以去訪問其中的內容。raw中檔案會自動編譯,我們可以在R.java檔案中找到對應的ID。

     其中比較重要的是擷取Assets和Raw中的資源方法 (對於檔案test.txt)

     Assets:    InputStream inputStream = = getAssets().open(test.txt);

     Raw:        InputStream inputStream = getResources().openRawResource(R.raw.test); 

 

 

補充:

大家都知道建立一個Android項目後會產生assets與res的兩個檔案夾,理論上他們都是存放資源的檔案夾,那麼他們到底有什麼區別呢?

1.assets:不會在R.java檔案下產生相應的標記,存放到這裡的資源在運行打包的時候都會打入程式安裝包中

2.res:會在R.java檔案下產生標記,這裡的資源會在運行打包操作的時候判斷哪些被使用到了,沒有被使用到的檔案資源是不會打包到安裝包中的。

在res檔案夾下其實還可以定義一下目錄:

res/anim:這裡存放的是動畫資源。

res/xml:可以在Activity中使用getResource().getXML()讀取這裡的資源檔

res/raw:該目錄下的檔案可以直接複製到裝置上,編譯軟體時,這裡的資料不需要編譯,直接加入到程式安裝包中,使用方法是getResource().OpenRawResources(ID),其中參數ID的形式是R.raw.XXX.

 

補充一點:res下只能只能建立系統認可的目錄,而且只能建立一級,下面不能有子目錄;而assets下面可以放置放任意多級任意多個。【來自評論2樓】

Android面試之assets和aw檔案的使用

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.