欧美在线一二,五月婷婷激情,国产最新美女精品视频网站免费观看网址大全,国产蜜臀视频一区二区三区,日本91在线,国产树林野战在线播放,江苏白嫩少妇高潮露脸

Android中AsyncTask使用 -電腦資料

電腦資料 時間:2019-01-01 我要投稿
【m.dazhoukp.com - 電腦資料】

    一、AsyncTask的作用:

    代替Thread+Handler的組合,使創(chuàng)建異步任務(wù)變得簡單,

Android中AsyncTask使用

。

    AsyncTask執(zhí)行后臺操作,并在用戶界面上發(fā)布結(jié)果,而不必處理線程。

    二、AsyncTask的定義:

    public abstract class AsyncTask extends Object

    AsyncTask必須子類可以使用。子類將覆蓋至少一個方法(doInBackground執(zhí)行異步任務(wù)),通常會覆蓋一次(onPostExecute顯示結(jié)果,更新UI)

    AsyncTask三種類型如下:

    》Params,參數(shù)的類型發(fā)送到任務(wù)執(zhí)行時。

    》Progress,在后臺計算過程中公布的進(jìn)度單元類型。

    》Result,計算結(jié)果的類型。

    不是所有類型都是異步任務(wù)所使用的。要標(biāo)記為未使用的類型,設(shè)置該類型Void:

    三、AsyncTask的方法:

    1、onPreExecute()

    在任務(wù)開始后立即調(diào)用,在UI線程執(zhí)行。這一步通常用于設(shè)置任務(wù),例如在用戶界面中初始化進(jìn)度條。

    2、doInBackground(Params...)

    后臺線程調(diào)用onPreExecute()完成后立即執(zhí)行。這一步后臺進(jìn)程執(zhí)行,可能會花費(fèi)很長時間。

    3、onProgressUpdate(Progress...)

    調(diào)用publishProgress,在UI線程上執(zhí)行,

電腦資料

Android中AsyncTask使用》(http://m.dazhoukp.com)。這種方法是用來顯示用戶進(jìn)度界面,后臺進(jìn)程仍在執(zhí)行。例如,它可用于顯示一個進(jìn)度條或在文本中顯示日志。

    4、onPostExecute(Result)

    后臺進(jìn)程處理完后,在UI線程上執(zhí)行。后臺進(jìn)程的結(jié)果被傳遞到這一步作為參數(shù)。

    常用的寫法如下:

   

class MyTask extends AsyncTask<String, Integer, String> {    @Override    protected String doInBackground(String... params) {        //執(zhí)行異步任務(wù)        int n = 10;        //調(diào)用publishProgress公布進(jìn)度,最后onProgressUpdate方法將被執(zhí)行        publishProgress(n);          Thread.sleep(500);            return null;    }    @Override    protected void onPostExecute(String result) {        //更新UI,顯示結(jié)果    }    @Override    protected void onProgressUpdate(Integer... values) {        //更新進(jìn)度信息    }

    new MyTask().execute();//執(zhí)行任務(wù)

    三、AsyncTask的規(guī)則:

    1、任務(wù)實例必須在用戶界面線程中創(chuàng)建。

    2、execute(Params... params)方法必須在UI線程中調(diào)用。

    3、不要手動調(diào)用onPreExecute,doInBackground,onProgressUpdate,onPostExecute這些方法

    4、一個任務(wù)實例只能執(zhí)行一次,如果執(zhí)行第二次將會拋出異常

最新文章