AsyncTask簡介與使用

2021-07-05 06:45:43 字數 1758 閱讀 9715

一、簡介

1、三個object型別的泛型引數。

a、第乙個引數params是非同步任務開始的時候你要傳遞進去的引數,可以叫他啟動引數。

b、第二個引數progress是任務執行過程中的進度情況。

c、第三個引數result是非同步任務完成時交給主線程的返回結果

2、四個方法 onpreexecute()、doinbackground()、onprogressupdate()、onpostexecute()。

c、onprogressupdate()這個方法是在ui執行緒中執行的,我們接收到publishprogress()傳送過來的實時進度,我們可以在此對進度條進行實時的更新。

d、onpostexecute()我們在這裡拿到了a中方法返回的引數result,並用這個引數來做一些事情。值得注意的是,這個方法是在ui執行緒中執行的。

二、使用

說了這麼多,可能你還是不太明白,當你要使用非同步任務asynctask,並且建立了他的派生類之後,縱觀它的結構,也許會理解的深入一些。我們用乙個例子來說明。上**嘍~

public class mainactivity extends actionbaractivity 

});}

protected void connect()

class myasynctask extends asynctask

});pd.setmax(100);

pd.show();

}@override

protected string doinbackground(void... params)

}//為了進度變化更加明顯一些

是不是覺得很簡單呢(呵呵!,反正我開始的時候覺得頭暈)?還有一些東西需要叨叨一下下。。。

long contentlength=he.getcontentlength();

AsyncTask 使用解析

asynctask 能夠適當的,簡單的用於ui執行緒,我們可以很方便的去使用,不用自己去開啟執行緒。asynctask執行機制是這樣的 所有的任務都會在後台執行緒上執行,最後直接在ui執行緒上發布。繼承asnyctask需要至少覆蓋 doinbackgroud params 方法,一般也會去覆蓋 o...

AsyncTask使用原則

首先要明確android 之所以有 handler 和asynctask 都是為了不堵塞主線程 ui執行緒 且 ui的更新只能在主線程中完成,因此一步處理是不可避免的。android1.5提供了乙個工具類 asynctask,它使建立需要與使用者介面互動的長時間執行的任務變得更簡單。不需要借助執行緒...

AsyncTask 簡單使用

import import android.os.asynctask import android.os.bundle import android.widget.progressbar import android.widget.textview public class myasynctaskd...