首先必须有自己的工具类
谁点击就放到谁的下面
new ServerThREAD().start();
写一个内部类
class ServerThREAD extends Thread{ private FileOutputStream fos; @Override public void run() { String path="http://images.china.cn/news/attachement/jpg/site3/20120517/3278311641885424192.jpg";//获取下载路劲//TODO try { byte[] da= FileService.getFile(path); //指定文件保存在手机的路劲和文件名 //File.separator相当于\ fileName = Environment.getExternalStorageDirectory().getPath()+ File.separator+System.currentTimeMillis()+path.substring(path.lastIndexOf(".")); file = new File(fileName); if(!file.exists()){ file.createNewFile(); } fos = new FileOutputStream(file); fos.write(da,0,da.length); handler.sendEmptyMessage(1); } catch (Exception e) { e.printStackTrace(); handler.sendEmptyMessage(0); } finally { try { MediaStore.Images.Media.insertImage(getApplicationContext().getContentResolver(), file.getAbsolutePath(), fileName, null); } catch(FileNotFoundException e) { e.printStackTrace(); } getApplicationContext().sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.fromFile(file))); if(fos!=null){ try { fos.close(); } catch (IOException e) { e.printStackTrace(); } } } } }
在用Hander控制是否成功
Handler handler=new Handler(){ @Override public void handleMessage(Message msg) { switch (msg.what) { case 0: ToastUtils.show(_context,"下载失败"); break; case 1: ToastUtils.show(_context,"下载成功"); break; } } };