Android,一个函数实现解压ZIP包

Android,一个函数实现解压ZIP包,第1张

参数说明1: String (ZIP包存放的路径..例如/sdcard/aaa/aa.zip)

参数说明2: String ( 解压后文件存放的路径,例如存放到手机根目录下/aaa文件夹,则传aaa )

参数说明3: boolean(是否打开调试日志...设置为true 的时候 logcat中输入 qqkj_frame)

参数说明4: ZipListener (解压进度回调监听,例如,返回10,就是10%)

函数返回值说明:boolean(true,解压成功,false,解压失败)

这个给个例子

如果你只是觉得程序背景图片的话 这个应该是美工的问题 找个专业的美工设计下就Ok的

如果是程序中想压缩图片的话 网上的方法很多

下面代码是将图片按比例大小压缩方法(根据Bitmap图片压缩)

private Bitmap comp(Bitmap image) {

        ByteArrayOutputStream baos = new ByteArrayOutputStream()        

        image.compress(Bitmap.CompressFormat.JPEG, 100, baos)

        if( baos.toByteArray().length / 1024>1024) {//判断如果图片大于1M,进行压缩避免在生成图片(BitmapFactory.decodeStream)时溢出    

            baos.reset()//重置baos即清空baos

            image.compress(Bitmap.CompressFormat.JPEG, 50, baos)//这里压缩50%,把压缩后的数据存放到baos中

        }

        ByteArrayInputStream isBm = new ByteArrayInputStream(baos.toByteArray())

        BitmapFactory.Options newOpts = new BitmapFactory.Options()

        //开始读入图片,此时把options.inJustDecodeBounds 设回true了

        newOpts.inJustDecodeBounds = true

        Bitmap bitmap = BitmapFactory.decodeStream(isBm, null, newOpts)

        newOpts.inJustDecodeBounds = false

        int w = newOpts.outWidth

        int h = newOpts.outHeight

        //现在主流手机比较多是800*480分辨率,所以高和宽我们设置为

        float hh = 800f//这里设置高度为800f

        float ww = 480f//这里设置宽度为480f

        //缩放比。由于是固定比例缩放,只用高或者宽其中一个数据进行计算即可

        int be = 1//be=1表示不缩放

        if (w > h && w > ww) {//如果宽度大的话根据宽度固定大小缩放

            be = (int) (newOpts.outWidth / ww)

        } else if (w < h && h > hh) {//如果高度高的话根据宽度固定大小缩放

            be = (int) (newOpts.outHeight / hh)

        }

        if (be <= 0)

            be = 1

        newOpts.inSampleSize = be//设置缩放比例

        newOpts.inPreferredConfig = Config.RGB_565//降低图片从ARGB888到RGB565

        //重新读入图片,注意此时已经把options.inJustDecodeBounds 设回false了

        isBm = new ByteArrayInputStream(baos.toByteArray())

        bitmap = BitmapFactory.decodeStream(isBm, null, newOpts)

        return compressImage(bitmap)//压缩好比例大小后再进行质量压缩

    }

【ps:看你自己的需要吧 给个地方做参考 http://my.eoe.cn/isnull/archive/564.html 你也可以搜索下 其他的方法 】


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/11800516.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存