android 如何实现弹出一个进度条后,再弹出一个倒计时的界面。

 我来答
帐号已注销
2015-09-05 · 知道合伙人互联网行家
帐号已注销
知道合伙人互联网行家
采纳数:369 获赞数:1568
毕业于北京大学,硕士学位。现任百度知道管理岗位已有5年。愿意为网友解答百度产品问题。

向TA提问 私信TA
展开全部

实现流程

  1.   Step One 弹出进度条对话框

  2.   Step Two 执行线程,在线程中实现数据的异步加载

  3.   Step Three 在线程数据加载完成后,调用Handler并集合数据,更新界面

  4. Java代码  

//添加异步操作   

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

              

              } 

csdvdsf63
2015-08-15 · TA获得超过148个赞
知道小有建树答主
回答量:916
采纳率:0%
帮助的人:160万
展开全部
用ProgressDialog
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
传说爱情0
2015-08-04 · TA获得超过731个赞
知道小有建树答主
回答量:671
采纳率:36%
帮助的人:127万
展开全部
用ProgressDialog
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Macrobin0626
2013-05-14 · 超过27用户采纳过TA的回答
知道答主
回答量:72
采纳率:0%
帮助的人:50.1万
展开全部
用ProgressDialog
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
东西无解
2015-08-24 · 超过34用户采纳过TA的回答
知道答主
回答量:112
采纳率:100%
帮助的人:34.6万
展开全部
1、我是来学习的。。。
2、顺带赚点经验。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式