본문 바로가기

ANDROID의 속삭임

[android][OBJECT][AsyncTask]AsyncTask에 대한 정리

- AsyncTask객체는 쓰레드를 구현 하기 위한 객체이다.

- subClassing 을 활용하여 많이 사용한다.

- 즉, 내부에서 상속 받아서 오버라이딩 하여 많이 사용한다.

- 보통, 오버라이딩을 하게 되면 몇 가지의 메소드가 있는데 거기에 대해서 앞으로 설명 해보겠다.

- 해당 메소드가 언제 동작 하는지 주의하자.

- 해당 메소드가 어느 쓰레드에 종속 되어 있는지 주의하자.

- 클래스가 받는 인자가 어디에 있는지 확인하자.




※ AsyncTask의 정리

 

 doInBackground

 onPostExecute

 onPreExecute

 onProgressUpdate

 인자

 첫번째 인자

세번째 인자

 -

 두번째 인자

 인자 갯수

 여러개

 단일

 -

 여러개

 동작 순서

 2

 4

 1

 3

 동작 개요

 스레드로 동작 해야 될 내용이 기술됨

 스레드의 종료시점에서 호출되어 동작함.

 스레드가 시작전에 준비 작업을 진행함

 스레드가 동작중 사용자에 의해 동작됨.

 UI 스레드

 별개 스레드

  UI 스레드

  UI 스레드

  UI 스레드

 비고

 

 해당 메소드가 동작 하기 위해서는 두가지 조건이 맞아야 된다.

첫째. 반드시 리턴값이 있어야 된다. 리턴값이 없을때는 null값을 리턴한다.

둘째. 반드시 해당 메소드에 매개 변수를 받아야 된다. 만약 받는게 없을시 "onPostExecute(Void result)"라고 기입을 해준다.

 

 doInBackground에서 UI스레드 동작이 필요할때 주로 호출하며, 직접 호출이 불가 함으로 publishProgress메소드를 통해 호출한다.


※onCancelled()도 있다. AsyncTask를 강제 취소 했을때 호출 된다.



- 이전글 : 2013/05/13 - [ANDROID의 속삭임] - [android][OBJECT][AsyncTask]AsyncTask를 사용하기.