Android 工程內嵌資源文件的兩種方法
更新時間:2013年01月21日 12:23:32 作者:
Android軟件一般處理大的資源通過sdcard比如在線下載資源到sdcard,而apk中內嵌資源或二進制文件時一般使用下面的兩種方法:
方法一
res/raw目錄下存放,比如cwj.dat一個二進制文件,我們可以讀取可以直接
InputStream is=context.getResources().openRawResource(R.raw.cwj);
方法二
工程根目錄下的assets文件夾中存放,比如assets/cwj.dat 這樣我們使用下面的代碼
AssetManager am = context.getAssets();
InputStream is = am.open(cwj.dat);
這里Android123提示大家Google的Android系統(tǒng)處理Assert有個bug,在AssertManager中不能處理單個超過1MB的文件,不然會報異常具體數值大家可以測試下傳個稍大的文件,我們在兩年前的文章中有提到,而第一種raw沒這個限制可以放個4MB的Mp3文件沒問題。
res/raw目錄下存放,比如cwj.dat一個二進制文件,我們可以讀取可以直接
復制代碼 代碼如下:
InputStream is=context.getResources().openRawResource(R.raw.cwj);
方法二
工程根目錄下的assets文件夾中存放,比如assets/cwj.dat 這樣我們使用下面的代碼
復制代碼 代碼如下:
AssetManager am = context.getAssets();
InputStream is = am.open(cwj.dat);
這里Android123提示大家Google的Android系統(tǒng)處理Assert有個bug,在AssertManager中不能處理單個超過1MB的文件,不然會報異常具體數值大家可以測試下傳個稍大的文件,我們在兩年前的文章中有提到,而第一種raw沒這個限制可以放個4MB的Mp3文件沒問題。
相關文章
Android Studio用genymotion運行后小圖標無法顯示問題
這篇文章主要介紹了Android Studio用genymotion運行后小圖標無法顯示的問題,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-04-04
android中Intent傳值與Bundle傳值的區(qū)別詳解
本篇文章是對android中Intent傳值與Bundle傳值的區(qū)別進行了詳細的分析介紹,需要的朋友參考下2013-05-05
Android使用RecycleView實現拖拽交換item位置
這篇文章主要為大家詳細介紹了Android使用RecycleView實現拖拽交換item位置,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-08-08
Android禁止EditText自動彈出軟鍵盤的方法及遇到問題
這篇文章主要介紹了Android禁止EditText自動彈出軟鍵盤的方法及遇到問題,需要的朋友可以參考下2018-07-07
Kotlin中Stack與LinkedList的實現方法示例
這篇文章主要給大家介紹了關于Kotlin中Stack與LinkedList實現的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考借鑒,下面隨著小編來一起學習學習吧2018-06-06
Android獲取apk簽名指紋的md5值(防止重新被打包)的實現方法
這篇文章主要介紹了Android獲取apk簽名指紋的md5值以防止重新被打包的實現方法,結合實例形式詳細分析了Android獲取apk md5值的常用技巧,需要的朋友可以參考下2016-07-07
Kotlin示例講解標準函數with與run和apply的使用
Kotlin的標準函數是指 Standard.kt 文件中定義的函數,任何Kotlin代碼都可以自由地調用所有的標準函數。文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習吧2022-08-08

