비동기 asyncTask<Void, Void, Void> 예제
private class LoadImage extends AsyncTask<Void, Void, Drawable> {
private String uri;
private View view;
// doInBackground 실행 전 준비 단계(UI 쓰레드)
@Override
protected void onPreExecute() {
super.onPreExecute();
}
// 비동기 작업(개별 쓰레드)
@Override
protected Drawable doInBackground(Void... params) {
publishProgress(); // onProgressUpdate() 호출
}
return d;
}
// doInBackground()에서 UI쓰레드로 작업할 일이 있을 때 호출해서 사용하는 함수
@Override
protected void onProgressUpdate(Void... values) {
}
// doInBackground()가 종료되면 콜백 호출되는 함수
@Override
protected void onPostExecute(Drawable d) {
if (null != d && null != view
&& holder.item == mData.get(position)) {
}
}
// 강제 취소 시켰을 때 콜백함수
@Override
protected void onCancelled(Drawable d) {
}
}
댓글