一、簡介
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...