先获取apk存放的路径
<span style="white-space:pre"> </span>public String getDownLoadApkPath() {
StringBuffer path = new StringBuffer();
path.append(Environment.getExternalStorageDirectory().toString());
path.append("/weibotong/Test");
File file = new File(path.toString());
file.mkdirs();
return path.toString();
}
网络上下载
HttpGet httpGet = new HttpGet(url);
HttpResponse httpResponse = new DefaultHttpClient().execute(httpGet);
if (httpResponse.getStatusLine().getStatusCode() == 200) {
//获取流信息
InputStream is = httpResponse.getEntity().getContent();
//获取总长度
long mfileSize = (int) httpResponse.getEntity().getContentLength();
//输出到指定路径
FileOutputStream fos = new FileOutputStream(apkPath);
byte[] buffer = new byte[8192];
int count = 0;
int downloadsize = 0;//记录下载进度
while ((count = is.read(buffer)) != -1) {
fos.write(buffer, 0, count);
downloadsize += count;
}
fos.close();
is.close();
}
更新进度
String.format("%.2f", downloadsize / 1024f / 1024f) + "M/" + String.format("%.2f", mfileSize / 1024f / 1024f) + "M)");