首先,繼承asynctask
引數說明如下:
params標示輸入引數。
progress標示子執行緒執行的百分比。
result標示返回值型別。
根據需求實現如下方法:
onpreexecute()方法。
doinbackground(params... params)方法。
publishprogress(params... params)方法。
onprogressupdate(params... values)方法。
onpostexecute(params... params)方法。
通過excute(params... params)執行非同步任務。其次,要注意asynctask要在android 的ui執行緒建立,非同步任務的execute()方法必須在android的ui 執行緒中呼叫,且非同步任務只能被執行一次,不需要手動呼叫onpreexecute(), onpostexecute(),doinbackground() onprogressupdate()方法。
例項**:
建立loadpicasynctask物件:
loadpicasynctask p = new loadpicasynctask(imageview控制項物件);
執行loadpicasynctask非同步任務:
p.execute(網路資源url資源定位符);
實現loadpicasynctask內部類:
class loadpicasynctask extends asynctask catch (malformedurlexception e) catch (ioexception e) {
// todo auto-generated catch block
e.printstacktrace();
return null;
//實現非同步任務的onpostexecute方法:
protected void onpostexecute(void result) {
// todo 自動生成的方法存根
super.onpostexecute(result);
mimageview.setimagebitmap(bitmap);
Android非同步任務 AsyncTask 筆記
像handler訊息傳遞機制類似,android官方提供的專門用於處理耗時超作,並及時更新ui元件的乙個抽象類.常用於耗時操作,如網路操作,資料庫操作,等大量的耗時操作.asynctask是個抽象類,這一屬性決定我們運用時要繼承該類,並實現該類中的方法.params 1.execute params...
Android 非同步任務AsyncTask
handler本身並沒有建立子執行緒。如果要在子執行緒中執行任務,必須使用者自己建立子執行緒,然後在子執行緒中呼叫handler.sendmessage 更新ui。android提供另乙個類asynctask執行這樣的非同步任務。asynctask類會建立子執行緒,其內部封裝了handler。asy...
android非同步任務之IntentService
這裡我們來看看原始碼,intentservice的 很少,很簡單。在第一次oncreat的時候,建立了乙個handlerthread。然後建立了乙個handler,將handlerthread的loop傳了進去,相當於這個handler的執行已經是非同步了。1 oncreat handlerthre...