(Android实战)ProgressDialog+Thread实现弹出进

系统 1630 0

(Android实战)ProgressDialog+Thread实现弹出进度条数据异步加载(配有效果图)

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();
             
              } 
      

 

(Android实战)ProgressDialog+Thread实现弹出进度条数据异步加载(配有效果图)


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论