使用AsyncTask提高android线程的效率

[code="java"][/code] User user = (User) HttpUrlConnUtil.accessMedhodReturnObject(param,
urlString);
if(null!=user){
saveUserMsg(user);
return true;
}
} catch (Exception e) {
e.printStackTrace();
return false;
}
return false;private class LoginTask extends AsyncTask<String,Void, Boolean>{
// 声明进度条对话框
private ProgressDialog progressDialog;
//此方法在UI线程中执行
//任务被执行之后,立刻调用 UI线程。这步通常被用于设置任务,例如在用户界面显示一个进度条
@Override
protected void onPreExecute() {
// 创建ProgressDialog对象
progressDialog = new ProgressDialog(LoginActivity.this);
// 设置进度条风格,风格为圆形,旋转的
progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
// 设置ProgressDialog 标题
progressDialog.setTitle("提示");
// 设置ProgressDialog 提示信息
progressDialog.setMessage("正在提交数据,请稍后。。。");
// 设置ProgressDialog 标题图标
progressDialog.setIcon(R.drawable.wait);
// 设置ProgressDialog 的进度条是否不明确
progressDialog.setIndeterminate(false);
progressDialog.show();
}
//此方法在后台线程中执行
//onPreExecute()完成执行,立刻调用后台线程,这步被用于执行较长时间的后台计算。
//异步任务的参数也被传到这步。计算的结果必须在这步返回,将传回到上一步。
@Override
protected Boolean doInBackground(String... params) {
Map<String, String> param = new HashMap<String, String>();
param.put("account", params[0]);
param.put("password", params[1]);
String urlString = HttpUrlConnUtil.BASE_URL + "login.action";
try {

}
//此方法在UI线程中执行
//当后台计算结束时,调用 UI线程。后台计算结果作为一个参数传递到这步
@Override
protected void onPostExecute(Boolean result) {
if(null!=progressDialog&&progressDialog.isShowing()){
progressDialog.dismiss();
}
if(result){
startActivity(new Intent(LoginActivity.this,MainActivity.class));
}else{
showDialog("用户名称或者密码错误,请重新输入!");
}
}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值