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()方法執行