很多手机游戏,在安装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)相关推荐

  1. ARM(IMX6U)裸机汇编LED驱动实验——驱动编写、编译链接起始地址、烧写bin文件到SD卡中并运行

    参考:Linux之ARM(IMX6U)裸机汇编LED驱动实验–驱动编写 作者:一只青木呀 发布时间: 2020-08-07 09:13:48 网址:https://blog.csdn.net/weix ...

  2. Linux之ARM(IMX6U)裸机汇编LED驱动实验--烧写bin文件到SD卡中并运行

    Linux之ARM(IMX6U)裸机汇编LED驱动实验--烧写bin文件到SD卡中并运行 代码烧写 2.烧写的工具 2.把生成的将 imxdownload 放在工程目录下(led.bin同一个文件夹下 ...

  3. rtthread + STM32F407VE + esp8266 +SD卡 从网络下载文件存到SD卡中

    学习rtthread,通过文章记录学习过程的一些问题. 手上有一块STM32F407VE的核心板(带sd卡槽,连接MCU的SDIO),和安信可的esp8266-12F模块,现以此为基础实现从网络上下载 ...

  4. android 竖屏资源文件,Android不同分辨率屏幕下自适应资源文件

    1.不同的layout Android手机屏幕大小不一,有480x320,640x360,800x480.怎样才能让App自动适应不同的屏幕呢? 其实很简单,只需要在res目录下创建不同的layout ...

  5. Android 将asserts文件夹内文件写入SD卡中

    更详细的内容: Android 文件读写以及assets操作 --------------------------------------------------------------------- ...

  6. Android中ImageSwitcher结合Gallery展示SD卡中的资源图片

    本文主要是写关于ImageSwitcher结合Gallery组件如何展示SDCard中的资源图片,相信大家都看过API Demo 中也有关于这个例子的,但API Demo 中的例子是展示工程中Draw ...

  7. 【Android游戏开发十二】(保存游戏数据 [上文])详解SharedPreference 与 FIleInputStream/FileOutputStream将数据存储到SD卡中!

     李华明Himi 原创,转载务必在明显处注明: 转载自 [黑米GameDev街区] 原文链接:  http://www.himigame.com/android-game/327.html 很多童鞋说 ...

  8. WP8.1 在SD卡中安装应用及注意事项

    从Windows Phone 8.1开始,微软开始允许用户将App安装到SD卡中,这对于喜欢尝试各种有趣的App的用户们来讲是个好消息.但随之而来出现了很多问题,如何设置将App安装在SD卡上?App ...

  9. android 颜色资源文件,android中colors.xml颜色设置资源文件的方法

    1. 打开res目录下的values文件夹,双击打开colors.xml文件进行编辑 上代码 #008577 #00574B #D81B60 #ff0000 #0000ff 2. 在res目录下的la ...

最新文章

  1. 删除所有数据_mysql数据库操作——数据库的增删改查
  2. 浏览器到响应页面的全过程
  3. 试题 基础练习 特殊的数字
  4. gz格式linux怎么打开,linux 下载解压gz文件怎么打开
  5. python从爬虫到数据分析项目_零基础学习Python web开发、Python爬虫、Python数据分析,从基础到项目实战!...
  6. java每过一段时间执行一次代码(方法)
  7. AngularJS之中级Route【二】(七)
  8. python编译环境对cpu要求高不高_解决Tensorflow 使用时cpu编译不支持警告的问题
  9. 项目实战——高拓展的实时聊天系统
  10. (连载)用python在excel中对财务报表项目进行提取和计算
  11. 高中计算机编程内容,高中信息技术课程标准
  12. wordpress 百度主动推送 PHP,WordPress 百度自动推送插件
  13. c语言数组回文数编写字符串,回文数C语言(示例代码)
  14. java保龄球计分_自己写的java保龄球记分
  15. 生产订单的计划、实际成本与产出查看
  16. 小微企业实施数字化转型的困境
  17. 基于ETest的发动机ECU硬件在环测试平台的研究与开发
  18. Linux 安装Oracle11g完整安装图文教程另附基本操作 (分享)
  19. 江西 南昌 富士康 java,好音讯!富士康智能科技小镇落户小蓝经开区!总投资达110亿元...
  20. 如何使Android录音实现内录功能

热门文章

  1. 22年前,100万买入谷歌原始股,奥尼尔的股份如今市值多少?
  2. 不要总幻想大器晚成,努力赚钱要趁早
  3. 商业认知,你每天出门看天气吗?
  4. 黄金为什么贵,黄金都有什么用处?
  5. 在Mac上安装Linux的行为是否应该被鄙视?
  6. 如果把钱存入余额宝时,所有人都在受益,那么谁在亏损呢?
  7. Ubuntu快速配置指南
  8. java线程异步传值_Java 多线程传值的四种方法
  9. azure_面向初学者的Azure Data Explorer
  10. c#代码如何连数据库快照_5127数据库快照错误代码的含义