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元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
