异步加载

Java代码 复制代码 收藏代码
  1. //添加异步操作   
  2.              m_Dialog=ProgressDialog.show(m_context, "请等待...", "正在下载安装文件,请稍后...",true); 
  3.              //mRegsiterHandler.sleep(100); 
  4.              new Thread(new Runnable(){ 
  5.  
  6.                     @Override 
  7.                     public void run() { 
  8.                    //加载数据 
  9.                          result=0; 
  10.                           try{ 
  11.                               //下载文件 
  12.                               String url="http://00.00.00.00:80/nationaltest.html"; 
  13.                                 HttpClient client = new DefaultHttpClient();      
  14.                               HttpGet get = new HttpGet(url);      
  15.                               HttpResponse response;      
  16.                                
  17.                               response = client.execute(get);      
  18.                               HttpEntity entity = response.getEntity();      
  19.                               long length = entity.getContentLength();      
  20.                               InputStream is = entity.getContent();      
  21.                               FileOutputStream fileOutputStream = null;      
  22.                               if (is != null) {      
  23.                                   File file = new File(Environment.getExternalStorageDirectory(), "nationaltest.apk");      
  24.                                   fileOutputStream = new FileOutputStream(file);      
  25.                                   byte[] buf = new byte[1024];      
  26.                                   int ch = -1;      
  27.                                   while ((ch = is.read(buf)) != -1) {      
  28.                                       fileOutputStream.write(buf, 0, ch);      
  29.                                   }      
  30.                              }      
  31.                              fileOutputStream.flush();      
  32.                              if (fileOutputStream != null) {      
  33.                                  fileOutputStream.close();      
  34.                              }   
  35.                              result=2; 
  36.                           } 
  37.                          catch(Exception ex){ 
  38.                              result=-1;  
  39.                          }            
  40.                          
  41.                     //更新界面 
  42.                          // Update the progress bar  
  43.                          mHandler.post(new Runnable() {      
  44.                              public void run() {                           
  45.                                  if(result==2) 
  46.                                       install(); 
  47.                                        else 
  48.                                            Toast.makeText(m_context, "下载文件失败,请检查网络连接", Toast.LENGTH_SHORT).show();     
  49.                                  }                   
  50.                              }); 
  51.                          
  52.                      
  53.                      m_Dialog.dismiss(); 
  54.                     }}).start(); 
  55.               
  56.               }  
//添加异步操作               m_Dialog=ProgressDialog.show(m_context, "请等待...", "正在下载安装文件,请稍后...",true);             //mRegsiterHandler.sleep(100);             new Thread(new Runnable(){                    @Override                    public void run() {                   //加载数据                         result=0;                          try{                              //下载文件                              String url="http://00.00.00.00:80/nationaltest.html";                                HttpClient client = new DefaultHttpClient();                                   HttpGet get = new HttpGet(url);                                   HttpResponse response;                                                                 response = client.execute(get);                                   HttpEntity entity = response.getEntity();                                   long length = entity.getContentLength();                                   InputStream is = entity.getContent();                                   FileOutputStream fileOutputStream = null;                                   if (is != null) {                                       File file = new File(Environment.getExternalStorageDirectory(), "nationaltest.apk");                                       fileOutputStream = new FileOutputStream(file);                                       byte[] buf = new byte[1024];                                       int ch = -1;                                       while ((ch = is.read(buf)) != -1) {                                           fileOutputStream.write(buf, 0, ch);                                       }                                  }                                  fileOutputStream.flush();                                  if (fileOutputStream != null) {                                      fileOutputStream.close();                                  }                               result=2;                          }                         catch(Exception ex){                             result=-1;                          }                                                       //更新界面                         // Update the progress bar                          mHandler.post(new Runnable() {                                  public void run() {                                                           if(result==2)                                      install();                                       else                                           Toast.makeText(m_context, "下载文件失败,请检查网络连接", Toast.LENGTH_SHORT).show();                                     }                                               });                                                                 m_Dialog.dismiss();                    }}).start();                           } 

你可能感兴趣的:(async,async)