Android - 初心者 - AsyncTask
當我們需要在Android 撈取Server的API資料必須在非Main Thread 或UI Thread進行,有兩種方法可以做,一種是Thread搭Handler,另一種就是AsyncTask
這裡要講的是AsyncTask
如下
public class CallApiTask extends AsyncTask<Void, Void, Void> {
@Override
protected void onPreExecute() {
super.onPreExecute();
//可以操作UI - 開始
}
@Override
protected Void doInBackground(Void... voids) {
//Call API
return null;
}
@Override
protected void onPostExecute(Void aVoid) {
super.onPostExecute(aVoid);
//可以操作UI - 結束
}
}
這樣就可以背景撈取資料,而不影響到畫面UI操作。等完成後,再變更UI資料。
再來就是創建執行如下
CallApiTask task = new CallApiTask ();
task.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);