日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

android下raw目录的作用,Android 之 assets目录和raw目录

發布時間:2023/12/3 Android 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android下raw目录的作用,Android 之 assets目录和raw目录 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Android 中存在assets目錄和raw目錄,它們既有相似之處又有所不同。

一、共同點:

目錄下的資源會被原封不動的拷貝到APK中,而不會像其它資源文件那樣被編譯成二進制的形式。

二、區別

1、最直觀的就是獲取它們的 InputStream 的API不一樣。

獲取assets資源:InputStream assets = getAssets().open("xxxx");

獲取raw資源:InputStream raw = getResources().openRawResource(R.raw.xxxx)

2、assets 下可以創建目錄結構,而 res/raw 不可以。

3、assets 能夠動態的列出assets中的所有資源 getAssets().list(String path); ,而 res/raw 不可以。

下面來說說它們主要的區別:

由于 raw 是Resources (res)的子目錄,Android會自動的為這目錄中的所有資源文件生成一個ID,這個ID會被存儲在R類當中,作為一個文件的引用。這意味著這個資源 文件可以很容易的被Android的類和方法訪問到,甚至在Android XML文件中你也可以@raw/的形式引用到它。在Android中,使用ID是訪問一個文件最快捷的方式。MP3和Ogg文件放在這個目錄下是比較合適 的。

assets目錄更像一個附錄類型的目錄,Android不會為這個目錄中的文件生成ID并保存在R類當中,因此它與 Android中的一些類和方法兼容度更低。同時,由于你需要一個字符串路徑來獲取這個目錄下的文件描述符,訪問的速度會更慢。但是把一些文件放在這個目 錄下會使一些操作更加方便,比方說拷貝一個數據庫文件到系統內存中。要注意的是,你無法在Android XML文件中引用到assets目錄下的文件,只能通過AssetManager來訪問這些文件。數據庫文件和游戲數據等放在這個目錄下是比較合適的。

另 外,網上關于assets和raw的資料,有說這兩者中單個文件大小不能超過1M,即如果讀取超過1M的文件 會報"Data exceeds UNCOMPRESS_DATA_MAX (1314625 vs 1048576)"的IOException,還引申出種種解決方案。經驗證,寫了個Demo,發現將近5M的壓縮 包在assets和raw中都能正常訪問,因此在這里糾正一下,理論上只要打包不超過Android APK 50M大小的限制都是沒有問題的。當然了,不排除是Android很早期的時候因為設備硬件原因aapt在編譯的時候對這兩個文件夾大小做出了限制,如果是這樣,較新版的ADT應該不會出現這種情況。

http://ponystyle.com/blog/2010/03 /26/dealing-with-asset-compression-in-android-apps/ 。這篇文章應該還蠻有說服力的,從根本上說明了當時Android2.3以前產生資源文件單個文件大小不能超過1M的原 因和部分解決方法。不過由于限制是當時的aapt決定的,現在已經更新了多個版本的aapt已經不存在這種問題了。

Android Studio增加assets目錄、raw目錄

assets與res/raw不同 assets目錄是Android的一種特殊目錄,用于放置APP所需的固定文件,且該文件被打包到APK中時,不會被編碼到二進制文件. Android還存在一種放置在re ...

【轉】android資源目錄---assets與res/raw區別

blog.csdn.net/hshm20517/article/details/6461890 assets:用于存放需要打包到應用程序的靜態文件,以便部署到設備中.與res/raw不同點在于,ASS ...

android資源目錄---assets與res/raw區別

android資源目錄---assets與res/raw的不同 Android 2011-05-24 14:40:21 閱讀20 評論0 ? 字號:大中小 訂閱 assets:用于存放需要打包到應用程 ...

AssetsUtils【讀取assets、res/raw、./data/data/包名/目錄下的文件】

版權聲明:本文為HaiyuKing原創文章,轉載請注明出處! 前言 封裝了以下功能: 1.讀取assets目錄下的資源html.文件.圖片,將文件復制到SD卡目錄中: 2.讀取res/raw目錄下的文 ...

Android開發 assets目錄

Android資源文件分類: Android資源文件大致可以分為兩種: 第一種是res目錄下存放的可編譯的資源文件: 這種資源文件系統會在R.Java里面自動生成該資源文件的ID,所以訪問這種資源文件 ...

assets與res/raw資源目錄的區別

1.簡介 assets和res/raw工程目錄下都可以放一些小于1M的文件(2.3版本以前要求,否則將不能讀出數據.),這些文件將被原樣打包到APK中應用使用. 2.不同 assets目錄下的文件將原 ...

Android讀取assets目錄下的資源

1.獲取資源的輸入流 資源文件 sample.txt 位于 $PROJECT_HOME/assets/ 目錄下,可以在 Activity 中通過 Context.getAssets().open(“s ...

Android讀寫assets、raw、sdard和工程文件的方法

Android開發離不開對文件的操作,前面的文章“Android簡易數據存儲之SharedPreferences”和“Android數據存儲之SQLite的操作”,分別講解了簡單的數據的存儲和數據庫數 ...

Android快速開發常用知識點系列目錄

項目構建 Android項目目錄結構模板以及簡單說明[簡單版] Android Studio配置統一管理依賴版本號引用 Android多Module下的Application引用方式 APP開篇 An ...

隨機推薦

Activity 橫豎屏切換

前言 在開發中常要處理橫豎屏切換,怎么處理先看生命周期 申明 Activity 橫豎屏切換時需要回調兩個函數 ,所以在此將這個兩個函數暫時看成是Activity 橫豎屏切換的生命周期的一部分,這兩個函 ...

Win7 64位命令行編譯cuda及設置Windows顯卡響應時間

在開始菜單中找到Visual Studio 2013 >>?Visual Studio Tools 選擇86或64版本的VC命令提示符環境,我用的 VS2013 x86 Native To ...

[salesforce] URLFOR function finally

While developing your Visualforce pages you may need to be able to obtain the URL of certain actions ...

Event/window.Event屬性和方法

type:事件的類型,如onlick中的click:srcElement/target:事件源,就是發生事件的元素:button:聲明被按下的鼠標鍵,整數,1代表左鍵,2代表右鍵,4代表中鍵,如果按下 ...

Visual C#使用DirectX實現視頻播放

Visual C#使用DirectX實現視頻播放 visual|視頻播放 - 很多人第一次接觸到DirectX大都是通過游戲,至于安裝.升級DirectX的原因無非是滿足游戲運行的需要.Direct ...

eclipse的插件

jode_1.0.6(Java Optimize and Decompile Environment ) 非常好用的Eeclipse的反編譯插件,隨時點擊,隨時查看源代碼,但他的官方下載的都是核心源碼 ...

vscode 正則表達式替換

比如把1.aa2.bbb替換成 1.aa2.bbb則,查找\d+ 替換成 \n$0 $0為查找的正則匹配項editplus為\0

使用kermit通過串口升級uboot

在開發板的啟動選項中看到如下兩行: 7: Load Boot Loader code then write to Flash via Serial. 9: Load Boot Loader code ...

學習筆記TF025:自編碼器

傳統機器學習依賴良好的特征工程.深度學習解決有效特征難人工提取問題.無監督學習,不需要標注數據,學習數據內容組織形式,提取頻繁出現特征,逐層抽象,從簡單到復雜,從微觀到宏觀. 稀疏編碼(Sparse ...

nova event

nova處理neutron發送過來的event事件.暫時追蹤nova event部分代碼 tail -f /var/log/nova/nova-api.log ?下面就是一個事件??Creating ...

總結

以上是生活随笔為你收集整理的android下raw目录的作用,Android 之 assets目录和raw目录的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。