2 實現說明
?
?? 實現流程
?
? Step One 彈出進度條對話框
?
? Step Two 執行線程,在線程中實現數據的異步加載
?
? Step Three 在線程數據加載完成后,調用 Handler 并集合數據,更新界面
        //添加異步操作  
             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();
             
              } 
      
      ?
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061
					微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
					
