Android中通过子线程连接网络获取资料,同时显示加载进度对话框给用户的操作,需要Thread和Handler来完成,在Thread中执行比较耗时的代码,完成后再通过Handler发送消息给主线程,由主线程刷新UI。
在实现上比较的烦琐,为简化此方法,花了点时间封装了Thread和Handler,现在通过简单的代码就可以实现相同的功能,而把更多精力放到业务逻辑处理上!
效果如图:
代码如下:
LoadingDialog loadingDialog = new LoadingDialog(getActivityGroup(), loadingDialogExecute);
// loadingDialog.setIsShowDialog(false);
loadingDialog.start();
LoadingDialogExecute loadingDialogExecute = new LoadingDialogExecute() {
@Override
public void executeSuccess() {
// 更新UI操作,如填充ListView
listAdapter = new ListAdapter(MsgListActivity.this, wikis);
listView.setAdapter(listAdapter);
}
@Override
public void executeFailure() {
// 异步执行失败或出错时的处理
// ……
}
@Override
public boolean execute() {
// 在这里执行耗时的操作,如连接网络拉取数据
try {
// ……
} catch (Exception e) {
e.printStackTrace();
setErrorInfo("出现错误\n" + e.getMessage());
return false;
}
return true;
}
};
您可能感兴趣的文章:Android异步消息机制详解android开发教程之handle实现多线程和异步处理Android中BroadcastReceiver(异步接收广播Intent)的使用android异步请求服务器数据示例Android多线程及异步处理问题详细探讨android开发教程之handler异步更新uiAndroid App中实现图片异步加载的实例分享详解Android的OkHttp包编写异步HTTP请求调用的方法Android最基本的异步网络请求框架全面总结Android中线程的异步处理方式Android编程实现异步消息处理机制的几种方法总结
方法
异步执行
异步
Android