首先我們需要知道的是asynctask是對執行緒池+handler的進一步封裝。
下面看乙個簡單的**:
1public
class mainactivity extends
activity
1213
//asynctask 非同步封裝的工具, 可以實現非同步請求及主介面更新(對執行緒池+handler的封裝)
14class mytask extends asynctask
2122
//2.正在載入, 執行在子執行緒(核心方法), 可以直接非同步請求
23@override
24protected
bitmap doinbackground(string... params)
2728
//3.更新進度的方法, 執行在主線程
29@override
30protected
void
onprogressupdate(integer... values)
3334
//4.載入結束, 執行在主線程(核心方法), 可以直接更新ui
35@override
36protected
void
onpostexecute(bitmap bitmap) 39}
4041
/**42
43*
@param
url 伺服器的ip
44*
@return
請求成功返回bitmap物件,不成功返回null
45*/
46private
bitmap download(string url)
62 } catch
(ioexception e)
6566
return
null;67
}68 }
需要注意的是asynctask裡面的doinbackground()方法是執行在子執行緒的,剩下的三個方法是執行在主線程的。所以我們在doinbackground()方法中做耗時操作。
AsyncTask方法了解
class updatetexttask extends asynctask 執行在ui執行緒中,在呼叫doinbackground 之前執行 override protected void onpreexecute 後台執行的方法,可以執行非ui執行緒,可以執行耗時的方法 override pro...
Jawe的初步了解
一 解壓開 jawe 原始碼包二 執行configure.bat 檔案這時會產生乙個 build.properties 檔案。檔案內容大致如下 jdk.dir c jbuilderx jdk1.4 install.dir version.number 1.4 三 再執行 make.bat 就可以編譯...
Docker的初步了解
有些開發者可能還是不明白 docker 對自己到底有多大的用處,因此翻譯 docker 個人用例 這篇文章中來介紹 docker 在普通開發者開發過程中的用例。docker 如今贏得了許多關注,很多人覺得盛名之下其實難副,因為他們仍然搞不清 docker 和普通開發者到底有什麼關係。許多開發者覺得 ...