ProgressDialog+Thread实现弹出进度条数据异步加载(配有效果图)
2013-07-24 14:57
316 查看
2 实现说明
实现流程
Step One 弹出进度条对话框
Step Two 执行线程,在线程中实现数据的异步加载
Step Three 在线程数据加载完成后,调用Handler并集合数据,更新界面
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();
}
相关文章推荐
- (Android实战)ProgressDialog+Thread实现弹出进度条数据异步加载(配有效果图)
- ProgressDialog+Thread实现弹出进度条数据异步加载(配有效果图)
- (Android实战)ProgressDialog+Thread实现弹出进度条数据异步加载(配有效果图)
- ProgressDialog+Thread实现进度条异步加载
- QT中可以用QProgressBar或着QProgressDialog来实现进度条
- 自定义带进度的ProgressRelativeLayout,实现加载网络数据时有进度条样式
- CGI程序学习(6)-在CGI程序中实现Html加载的Dialog弹出框
- Eclipse平台中“进度条对话框”(ProgressMonitorDialog)的简单实现
- 浅谈前端实现页面加载进度条以及 nprogress.js 的实现
- progressBar和Handler实现进度条的加载 和RatingBar评分控件
- android 自定义Dialog页面加载中效果的进度条 Dialog 边角 Dialog 棱角
- Cocos2d-x教程(10)-CCProgressTimer实现页面加载进度条效果
- angularJS与bootstrap结合实现动态加载弹出提示内容
- 安卓 实现一个加载Dialog 配合19的图片逐帧变换(20)
- 使用DialogFragment实现仿ios正在加载动画效果
- 三种方式实现自定义圆形页面加载中效果的进度条
- jQuery validate+artdialog+jquery form实现弹出表单思路详解
- 仿微信中加载网页时带线行进度条的WebView的实现
- 仿新浪微博图片加载进度条——JLPieProgressView
- 从QWidget继承的圆形进度条QRoundProgressBar,只有370行代码(别忘了有现成的QProgressDialog)