期望:使项目apk包中的大文件批量数据可以单独作为一个apk来管理,所以需要将Android assets文件夹下的zip打包文件解压到SDCard上。
解压缩的操作由于比较耗时,所以新开一个线程执行以下函数
/**将assets对应文件解压到对应的sdcard目录中*/
public void unPress2Sdcard(String fileName){
try {
/**目标路径*/
String destDir = rootPath + File.separator + fileName;
/**将压缩文件拷贝到内存卡中*/
mAssetCopyer.copyBigDataToSD(destDir, fileName);
/**解压文件到目标路径*/
unzip(destDir, offlinePath);
/**删除在内存卡上临时存在的压缩文件*/
FileUtils.deleteFile(destDir);
} catch (Exception e) {
e.printStackTrace();
}
}
对应的先将assets下的zip文件拷贝到SDCard中,这个是直接在网上找的方法拿来用
public void copyBigDataToSD(String strOutFileName,String file) throws IOException{
InputStream myInput;
OutputStream myOutput = new FileOutputStream(strOutFileName);
myInput = mContext.getAssets().open(file);
byte[] buffer = new byte[1

本文介绍如何在Android应用中将assets文件夹下的zip文件解压到SDCard。通过新开线程执行解压操作,首先从assets拷贝zip文件到SDCard,然后使用ZipFile解压缩,并在解压过程中判断文件类型,最后删除临时zip文件。
最低0.47元/天 解锁文章
174

被折叠的 条评论
为什么被折叠?



