解决方案 »

  1.   

    教程? 感觉
    button1.setOnClickListener(new OnClickListener() 
       {
       @Override 
         public void onClick(View v)
             {
            new Thread(new Runnable()
               {
                 @Override 
                    public void run()
                     {                   try
                        {
                           //---线程中执行代码------------------
                           isSuccess=true;
                        }
                       catch(Exception e)
                       {
                        isSuccess=false;
                       }
                        Message m=handler.obtainMessage();
                        handler.sendMessage(m);
                        isSuccess=false;
                     }
              }).start();
            }
       });  //new OnClickListener
      

  2.   

    package com.proj.mytest;import android.os.Bundle;
    import android.app.Activity;
    import android.content.Intent;
    import android.view.Menu;
    import android.widget.*;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.view.MotionEvent;
    import android.view.View.OnTouchListener;import java.net.URL;
    import java.io.*;
    import android.graphics.Bitmap; 
    import android.os.*;public class MainActivity extends Activity {

    ImageView  imageView1;
    TextView textView1;
        Button button1;
        RelativeLayout layout;
        static int count=0;
        //----------------
        boolean flag;
        Handler  handler;
        
        void copyfile(InputStream f1,OutputStream f2)
        {   // 流复制
          byte[] buf=new byte[1024];
          int size=0;
          try
          {
              while ((size=f1.read(buf))>0)
                 f2.write(buf,0,size);
              f1.close();f2.close();
          }
          catch(Exception e)
          {
          }
        }  
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setTitle("多线程下载试验");
            setContentView(R.layout.activity_main);
            
            handler=new Handler()
            {
             @Override
             public void handleMessage(Message msg)   // 收到消息
                {
                 Toast.makeText(MainActivity.this, flag?"文件下载完成":"文件下载失败", 
                 8000).show();  
                 setTitle("完成!");
                    super.handleMessage(msg);
                }
            };  
            
            button1=(Button)findViewById(R.id.button1);
            button1.setOnClickListener(new OnClickListener()
            { 
               public void onClick(View v)
               {  
                   new Thread(new Runnable()
                   {
                  @Override
                  public void run()
                   {
                   String http="http://p1.qhimg.com/t01bb524e6934bce208.jpg";
                    InputStream inS;               // 下载这幅图
                       FileOutputStream outS; 
                       
                   try
                       {
                      outS=new FileOutputStream("/sdcard/pic.jpg");  
                      URL url=new URL(http);
                      inS= url.openStream();
                        copyfile(inS,outS);
                         outS.close();
                         flag=true;
                       }
                    catch(Exception e)
                    {
                   flag=false;  
                    }
                       Message m=handler.obtainMessage();
                       handler.sendMessage(m);   //  发消息 
                  }  //public
                 }).start();
               }  //public
            }); // new On
            
        }
        
        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
            // Inflate the menu; this adds items to the action bar if it is present.
            getMenuInflater().inflate(R.menu.main, menu);
            return true;
        }   
    }
      

  3.   

    工程中要有  WRITE_EXTERNAL_STOREAGE权限
            和  INTERNET 权限
    此线程中下载程序已完全通过!