因为最近我们的项目当中需要加入zip的解压,因为我们的项目本省就很大了,所以为了节省资源,我决定用ziputils,全部是代码不需要导入jar-包。
我整体的思路是这样,首先解压,解压需要传入一个,解压文件路径,和解压完后才能之后的路径,解压完成之后需要直接跳到解压完成的根目录下,显示出来,并且可以继续点击,可查看文件可以查看,大体是这个效果。看下面的图组。
这个是我们的项目中的所以会有这个云盘模块,从控制台发送文件到客户端,点击.zip文件下载到指定目录下面。
下面代码是解压的逻辑,就一句话标红色的是。
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); initPermission(); path = Environment.getExternalStorageDirectory().getAbsolutePath(); zipPath = path + "/android.zip"; destPath = path+ "/OutPath/"; zipUtil = new ZipUtil(); new Thread(){ @Override public void run() { super.run(); try { zipUtil.Ectract(zipPath,destPath); } catch (Exception e) { e.printStackTrace(); } } }.start(); }
下载完成之后直接跳到指定目录下。
这个是直接写了一个activity,然后跳转过去直接intent.pitStringExar(path)传入进去一个路径。
//打开文件 Intent zipIntent = new Intent(mActivity, ZipActivity.class); zipIntent.putExtra("zipfile", newOutPath);//newPath是解压后的路径 startActivity(zipIntent);