android中拷贝assets下的资源文件到SD卡中(可以超过1M)
很多手机游戏,在安装APK之后都得需要下载相应的资源包,然后才能进入游戏。
有这样一个需求:就是游戏中需要的资源包打在APK内,随apk一起进行安装到手机中。
这样就不需要,在安装APK之后,去下载资源。(这样APK的大小就会大一些)
于是在网上就开始找对应的直接访问随apk一起安装到手机中的资源。比如在assets目录下放置了一个“test.zip”的资源。当apk安装之后,可能我就需要访问这个"test.zip"资源文件。(可能我会去解压到某处)
在网上找了很长时间,说什么在assets下的资源怎么怎么不能超过1M、或者要分成多个不超过1M的小文件,然后用的时候在拼成一个大文件、说什么要用到什么数据库。总之说的,感觉没有一个有用的。
于是自己就实现了一个从assets下拷贝资源到sd卡中的一个功能。这里不限制非得拷贝到sd卡中。
之所以要拷贝出来,是因为在assets内的资源随apk安装之后,不好访问。所以想拷贝到一个容易访问的地方。比如是一个assets下的是一个zip文件,为需要在安装之后进行解压。而解压的时候我又想使用 ant.jar (支持编码) 。于是我先将zip资源拷贝到一个地方,然后在进行解压。
下面代码:
private void copyBigDataToSD(String strOutFileName) throws IOException { InputStream myInput; OutputStream myOutput = new FileOutputStream(strOutFileName); myInput = this.getAssets().open("yphone.zip"); byte[] buffer = new byte[1024]; int length = myInput.read(buffer);while(length > 0){myOutput.write(buffer, 0, length); length = myInput.read(buffer);}myOutput.flush(); myInput.close(); myOutput.close(); }
备注:参数为要拷贝的目的地例如“/mnt/sdcard/test/Out.zip”;
此处“myInput = cGameActivity.getAssets().open("yphone.zip"); ”open 的是你放在assets下的资源的名称。本例放的是一个叫"yphone.zip"的文件;
在进行测试的时候发现在资源文件很大时,例如200M左右,可能会报错。
但可以保证的是100M一下的没问题。
最后,此函数运行需要加权限!
转载于:https://www.cnblogs.com/wainiwann/p/3274386.html
android中拷贝assets下的资源文件到SD卡中(可以超过1M)相关推荐
- ARM(IMX6U)裸机汇编LED驱动实验——驱动编写、编译链接起始地址、烧写bin文件到SD卡中并运行
参考:Linux之ARM(IMX6U)裸机汇编LED驱动实验–驱动编写 作者:一只青木呀 发布时间: 2020-08-07 09:13:48 网址:https://blog.csdn.net/weix ...
- Linux之ARM(IMX6U)裸机汇编LED驱动实验--烧写bin文件到SD卡中并运行
Linux之ARM(IMX6U)裸机汇编LED驱动实验--烧写bin文件到SD卡中并运行 代码烧写 2.烧写的工具 2.把生成的将 imxdownload 放在工程目录下(led.bin同一个文件夹下 ...
- rtthread + STM32F407VE + esp8266 +SD卡 从网络下载文件存到SD卡中
学习rtthread,通过文章记录学习过程的一些问题. 手上有一块STM32F407VE的核心板(带sd卡槽,连接MCU的SDIO),和安信可的esp8266-12F模块,现以此为基础实现从网络上下载 ...
- android 竖屏资源文件,Android不同分辨率屏幕下自适应资源文件
1.不同的layout Android手机屏幕大小不一,有480x320,640x360,800x480.怎样才能让App自动适应不同的屏幕呢? 其实很简单,只需要在res目录下创建不同的layout ...
- Android 将asserts文件夹内文件写入SD卡中
更详细的内容: Android 文件读写以及assets操作 --------------------------------------------------------------------- ...
- Android中ImageSwitcher结合Gallery展示SD卡中的资源图片
本文主要是写关于ImageSwitcher结合Gallery组件如何展示SDCard中的资源图片,相信大家都看过API Demo 中也有关于这个例子的,但API Demo 中的例子是展示工程中Draw ...
- 【Android游戏开发十二】(保存游戏数据 [上文])详解SharedPreference 与 FIleInputStream/FileOutputStream将数据存储到SD卡中!
李华明Himi 原创,转载务必在明显处注明: 转载自 [黑米GameDev街区] 原文链接: http://www.himigame.com/android-game/327.html 很多童鞋说 ...
- WP8.1 在SD卡中安装应用及注意事项
从Windows Phone 8.1开始,微软开始允许用户将App安装到SD卡中,这对于喜欢尝试各种有趣的App的用户们来讲是个好消息.但随之而来出现了很多问题,如何设置将App安装在SD卡上?App ...
- android 颜色资源文件,android中colors.xml颜色设置资源文件的方法
1. 打开res目录下的values文件夹,双击打开colors.xml文件进行编辑 上代码 #008577 #00574B #D81B60 #ff0000 #0000ff 2. 在res目录下的la ...
最新文章
- 删除所有数据_mysql数据库操作——数据库的增删改查
- 浏览器到响应页面的全过程
- 试题 基础练习 特殊的数字
- gz格式linux怎么打开,linux 下载解压gz文件怎么打开
- python从爬虫到数据分析项目_零基础学习Python web开发、Python爬虫、Python数据分析,从基础到项目实战!...
- java每过一段时间执行一次代码(方法)
- AngularJS之中级Route【二】(七)
- python编译环境对cpu要求高不高_解决Tensorflow 使用时cpu编译不支持警告的问题
- 项目实战——高拓展的实时聊天系统
- (连载)用python在excel中对财务报表项目进行提取和计算
- 高中计算机编程内容,高中信息技术课程标准
- wordpress 百度主动推送 PHP,WordPress 百度自动推送插件
- c语言数组回文数编写字符串,回文数C语言(示例代码)
- java保龄球计分_自己写的java保龄球记分
- 生产订单的计划、实际成本与产出查看
- 小微企业实施数字化转型的困境
- 基于ETest的发动机ECU硬件在环测试平台的研究与开发
- Linux 安装Oracle11g完整安装图文教程另附基本操作 (分享)
- 江西 南昌 富士康 java,好音讯!富士康智能科技小镇落户小蓝经开区!总投资达110亿元...
- 如何使Android录音实现内录功能