AsyncTask详解 ( 方法、参数 、执行流程详解)

AsyncTask 类的用法
DownTask extends extends AsyncTask<Params , Progress, Result>{
}


一.要重写的三个方法
1) 任务执行之情初始化操作
@Overrde
protected void onPreExectue(){
show.seText("0");
2)
任务执行后后台 执行的任务(在这个方法里执行)
@Override
protected String doInBackground(URL ... params){
String str="";
for(int i=0;i<10;i++){
str+=i;
publishProgress(i);//用于触发 重写的方法 (4) onProgressUpdate(int i)更新进度条等信息
}
return str;
}
3)
任务执行完成之后的方法
result 为 doInBackground()返回的类型
@Override
protected void PostExecute(String result){
show.setText(result);
}
4 )更新UI界面和进度条
用于在 doInBackground 方法中 执行 publishProgress()方法 时触发的方法
@Override
protected void onProgressUpdate(Int .. progress){
show.setText(progress);
}
二.从执行一个任务讲解 各个方法以及参数的含义
DownTask downTask =new DownTask();
downTask.execute(new URL("http://www.baidu.com"));
方法执行顺序
A) onPreExecute();//执行后台线程的初始化操作
B) doInBackground(Params);
//这里的 Params 类型为 URL的类型 downTask.execute(new URL("http://www.baidu.com")); 中的参数类型
//后台线程执行的方法 在 这个方法中可以调用 publishProgress(Progress);
//更新 onUpdateProgress(Progree progress);//Progress 为进度条类型 eg int double ,float
C)onPostExecute(Result result);// 这里的Result 为 doInBackground返回的数值类型 eg String 、int

猜你喜欢

转载自blog.csdn.net/w3812127/article/details/76998879