android學習筆記1 AsyncTask使用

2021-06-20 07:41:33 字數 879 閱讀 6638

asynctask用於非同步更新介面,比thread+handler的方式更方便,**更簡潔.

asynctask的三個主要方法 doinbackground(),onprogressupdate(),onpostexecute(),

doinbackground()是abstract的,用於處理後台任務,必須實現,

onprogressupdate()和onpostexecute()是protected的,負責將doinbackground的結果更新到前台,可以選擇實現.

在主線程中new乙個asynctask,呼叫execute()方法後主執行緒繼續前進,asynctask在後台呼叫doinbackground(),並將結果通知給onpostexecute(),

onprogressupdate()方法需要在doinbackground方法中主動呼叫publishprogress()來觸發.

實現asynctask的必須注意三個主要方法的引數,保證一致,否則導致對應方法不執行.

public abstract class asynctask

第乙個是doinbackground()的,在呼叫execute()方法時賦值,

第二個是onprogressupdate()的,在呼叫publishprogress時賦值,

第三個是onpostexecute()的,task自動呼叫並賦值.

例:private class scantask extends asynctask>

@override

protected void onpostexecute(liststrings)

需要注意的是,同一主線程裡new的同一asynctask都是序列執行的,執行完乙個再執行下乙個,這樣應該是為了不在更新ui時發生混亂.



Android程式設計權威指南學習筆記1

p85 在乙個activity中啟動另外乙個activity,可以使用startactivity intent 的方法。該方法呼叫請求是傳送給作業系統的 activitymanager activitymanager 負責建立activity例項並呼叫其oncreate 方法。intent 可以使用...

Android學習筆記之廣播機制(1)

廣播接收者 broadcastreceiver 用於非同步接收廣播intent,廣播intent的傳送是通過呼叫context.sendbroadcast context.sendorderedbroadcast 或者context.sendstickybroadcast 來實現的。通常乙個廣播in...

android 系統筆記(1)

一。android 是一款基於linux核心的開源手機作業系統的名稱,改系統由linux核心,dvm dalivk 虛擬機器 使用者介面和應用軟體組成,號稱為首個為移動終端打造的真正開放和完整的移動軟體。二。系統開發 系統架構,1.作業系統 os 2.各種支援庫 library 和執行時環境 run...