new Thread() { public void run() { Log.e("thread=============","thread==================="); HttpClient client = new DefaultHttpClient(); HttpGet get = new HttpGet(url); HttpResponse response; try { response = client.execute(get); HttpEntity entity = response.getEntity(); int length = (int) entity.getContentLength(); // 获取文件大小 // bar_jd.setMax(length); // 设置进度条的总长度 InputStream is = entity.getContent(); FileOutputStream fileOutputStream = null; if (is != null) { File file = new File( Environment.getExternalStorageDirectory(), "syt.apk"); fileOutputStream = new FileOutputStream(file); byte[] buf = new byte[3*1024]; // 这个是缓冲区,即一次读取10个比特,我弄的小了点,因为在本地,所以数值太大一 // 下就下载完了,看不出progressbar的效果。 int ch = -1; int process = 0; while ((ch = is.read(buf)) != -1) { fileOutputStream.write(buf, 0, ch); process += ch; Message msg = new Message(); msg.getData().putInt("progress",process); msg.getData().putInt("length",length); handler.sendMessage(msg); } } fileOutputStream.flush(); if (fileOutputStream != null) { fileOutputStream.close(); } // dialog.dismiss(); down(); } catch (ClientProtocolException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }.start();
Android downapk
最新推荐文章于 2021-05-28 22:49:25 发布