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系统处理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系统处理Assert有个bug,在AssertManager中不能处理单个超过1MB的文件,不然会报异常具体数值大家可以测试下传个稍大的文件,我们在两年前的文章中有提到,而第一种raw没这个限制可以放个4MB的Mp3文件没问题。
相关文章
Android Studio用genymotion运行后小图标无法显示问题
这篇文章主要介绍了Android Studio用genymotion运行后小图标无法显示的问题,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2020-04-04
android中Intent传值与Bundle传值的区别详解
本篇文章是对android中Intent传值与Bundle传值的区别进行了详细的分析介绍,需要的朋友参考下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


最新评论