Android基础学习之AsyncTask(异步任务处理类)一

本文详细介绍了Android中AsyncTask的工作原理和使用步骤,通过实例展示了如何在不使用线程和Handler的情况下,实现后台处理并更新UI。AsyncTask包含四个关键方法:onPreExecute(), doInBackground(), onProgressUpdate() 和 onPostExecute(),使得前后台交互变得简单易行。" 83511327,7751349,Windows服务器应急响应:入侵排查与处理,"['windows', '服务器', '网络', '安全']
摘要由CSDN通过智能技术生成

由于主线程main不可受阻塞的特点,有些时候我们往往需要在后台做行耗时的操作(比如下载),同时还需要去更新主线程上的ui,使用异步任务,可以很方便的进行后台处理操作。使用异步任务处理类,做到不用线程也能达到的效果。
AsyncTask 类

java.lang.Object
    android.os.AsyncTask<Params, Progress, Result>
private class AsyncBarTask extends AsyncTask<Void, Integer, Void> {
   
        @Override
        protected Void doInBackground(Void... params) {
            // TODO Auto-generated method stub
            return null;
        }

        @Override
        protected void onProgressUpdate(Integer... values) {
            // TODO Auto-generated method stub
            super.onProgressUpdate(values);
        }
        @Override
        protected void onPostExecute(Void result) {
            // TODO Auto-generated method stub
            super.onPostExecute(result);
        }   
} 

泛型类
Params 输入参数的类型 URL(网址)
Progress 更新值的类型 Integer(下载进度值)
Result 操作完成值的类型 Long(下载文件多大)

作用:不用线程和handler就可实现前台和后台的操作,并实现他们之间的通信.

步骤
1.定义AsynTask子类
2.重写方法 4个方法
onPreExecute(): 前台处理,在调用doInBackground() 之前
doInBackground() :后台处理 (异步处理) onPreExecute()之后处理
在做后台处理时可调用publishProgress(Progress…) 告诉前台更新的值
onProgressUpdate() :前台处理,在调用publishProgress(Progress…)之后
onPostExecute() :前台处理 在doInBackground() 执行完成后
3.用该子类构造对象并调用execute()方法

示例一:

1.xml布局,定义一个布局用于效果显示


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值