android之解析包时出现错误(二)

为什么是二呢,之前遇到过一次了,详见http://blog.csdn.net/jason0539/article/details/12222173这次的原因不同,再记录下public class DownloadTask { /** * @param path下载地址 * @param filePath存储路径 * @param progressDialog进度

大家好,又见面了,我是全栈君。

为什么是二呢,之前遇到过一次了,详见http://blog.csdn.net/jason0539/article/details/12222173

这次的原因不同,再记录下

public class DownloadTask {
	
	/**
	 * @param path下载地址
	 * @param filePath存储路径
	 * @param progressDialog进度条
	 * @return
	 * @throws Exception
	 */
	public static File getFile(String path,String filePath,ProgressDialog progressDialog) throws Exception{
		
		URL url = new URL(path);
		HttpURLConnection connection = (HttpURLConnection) url.openConnection();
		connection.setConnectTimeout(2000);
		connection.setRequestMethod("GET");
		if(connection.getResponseCode() == 200){
			int total = connection.getContentLength();
			progressDialog.setMax(total);
			
			InputStream is = connection.getInputStream();//获得socket输入流
			File file = new File(filePath);
			FileOutputStream fos = new FileOutputStream(file);//file输出流
			byte[] buffer = new byte[1024];
			int len;
			int progress = 0;
			while((len = is.read(buffer)) != -1){
				fos.write(buffer);
				progress += len;
				progressDialog.setProgress(progress);
			}
			fos.flush();
			is.close();
			fos.close();
			connection.disconnect();
			return file;
		}
		return null;
	}

这是一个执行下载任务的类,用来从服务器下载更新用的apk,结果下载成功后,跳转到安装页面,却提示解析包时出现错误,这样的错误真是让人头疼,跟代码无关,没有头绪。

后来发现有类似情况http://bbs.csdn.net/topics/380117090?page=1#post-397007671

但是没有解决方案,对比发现下载来的apk和服务器文件夹里的apk大小有些差别,我就尝试把每次读取的byte[]做小一点,也就是

byte[] buffer = new byte[1024];

这行代码,把1024改成了128,又改成了64,结果就没问题了。

意外的收货。你也遇到类似问题的话尝试一下,good luck。

 

作者:jason0539

微博:http://weibo.com/2553717707

博客:http://blog.csdn.net/jason0539(转载请说明出处)

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/121364.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 狭义相对论的一点点理解

    狭义相对论的一点点理解

    2021年9月3日
    62
  • 无损压缩视频文件_什么软件可以无损传输视频

    无损压缩视频文件_什么软件可以无损传输视频面对一些海量的高清视频的存储,一个好的高清无损视频压缩解决方案可以为整个项目本身省掉不少费用,常常有用户在苦苦寻找怎么在不损画质的情况下压缩视频。而近期航天安网接到青岛市视频压缩的需求一起来看案例吧!项目背景:为保障青岛上合峰会顺利进行,某央企公司青岛分部要求所有业务网点视频监控系统进行存储升级改造,采集的视频图像信息保存期限不得少于九十日。项目需求:某央企公司青岛分部提出了实时视频无损压缩、延时90天存储、总部调看不卡顿三项需求。方案设计:了解了青岛市各个业务网点的基础网络情况,提出了基于VD

    2022年10月3日
    4
  • pandas 处理缺失值[dropna、drop、fillna][通俗易懂]

    pandas 处理缺失值[dropna、drop、fillna][通俗易懂]面对缺失值三种处理方法:option1:去掉含有缺失值的样本(行)option2:将含有缺失值的列(特征向量)去掉option3:将缺失值用某些值填充(0,平均值,中值等)对于dropna和fillna,dataframe和series都有,在这主要讲datafame的对于option1:使用DataFrame.dropna(axis=0,how=’any’,thres…

    2022年9月18日
    0
  • cocos2d基础篇笔记四

    cocos2d基础篇笔记四

    2021年12月5日
    50
  • nginx实现https网站设置(SSL证书生成配置)

    nginx实现https网站设置(SSL证书生成配置)

    2021年6月2日
    91
  • 常用数字音频功放芯片-音频放大器

    常用数字音频功放芯片-音频放大器功放作为各类音响器材设备中的重要组成部分,作用就是把来自音源或前级放大器的弱信号放大,推动音箱放声,一套良好的音响系统功放的作用功不可没。功放的主要性能指标有输出功率,频率响应,失真度,信噪比,输出阻抗,阻尼系数等。由于考虑功率、阻抗、失真、动态以及不同的使用范围和控制调节功能,不同的功放在内部的信号处理、线路设计和生产工艺上也各不相同,由于各厂家的测量方法不一样,所以出现了一些名目不同的叫法。例如额定输出功率,最大输出功率,音乐输出功率,峰值音乐输出功率。数字音频处理功放芯片在影响声卡的功能和性能

    2022年5月22日
    43

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号