AsyncTask異步任務

AsyncTask異步任務

我們都知道不能再Android主線程中進行耗時操作和進行網絡請求

Asynctask是執行網絡請求異步線程框架,它的底層依然是用Thread+handler來實現的。

使用

//第一個string代表傳入參數的類型;

// 第二個integer代表進度值類型;

// 第三個inputstream代表耗時操作的返回值類型

使用AsyncTask異步任務,類要繼承AsyncTask並要重寫doInBackground

class MyTask extends AsyncTask {
    //訪問網絡前的準備工作
    @Override
    protected void onPreExecute() {
        super.onPreExecute();
    }
    //耗時操作
    @Override
    protected InputStream doInBackground(String... strings) {

        return strings[0];
    }
    ///更新ui操作
    @Override
    protected void onPostExecute(InputStream s) {
        super.onPostExecute(s);
    }
    ///更新進度
    @Override
    protected void onProgressUpdate(Integer... values) {
        super.onProgressUpdate(values);
    }
}

實例化類

調用execute()方法執行

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *