RUBY

[안드로이드]안드로이드 스튜디오 AsyncTask 본문

STUDY/Android

[안드로이드]안드로이드 스튜디오 AsyncTask

RUBY_루비 2020. 8. 21. 00:00

*AsyncTask란?

백그라운드 작업을 더 쉽고 간단하게 하고 싶을 때 AsyncTask를 이용할 수 있습니다. 백그라운드에서 수행할 비동기 작업 생성, 작업완료시 UI업데이트 할 때 사용됩니다. thread의 생성,관리,동기화와 관련된 작업에 사용됩니다.

AsyncTask클래스를 상속하여 새로운 클래스를 만들면 그 안에 스레드를 위한 코드와 UI접근 코드를 한번에 넣을 수 있습니다. 따라서 thread로 처리해야 하는 코드를 각각의 AsyncTask 클래스로 정의 할 수 있습니다.

-사용

1. AsyncTask를 상속받아서 구현합니다.

2. mainthread에 의해 AsyncTask객체를 생성(new)하고, execute()를 호출하여 실행합니다.

-코드

class Asynctest extends AsyncTask<입력매개변수,진행보고,결과타입>{
   //결과 타입은 String인 경우가 많고 
   //매개변수가 없다면 Void,Void,Void로 할 수 있다
 public void onPreExecute(){
      //doInBackground 작업 전 준비하는 처리
  }
 public void onPostExecute(결과타입){
   // 결과 처리
  }
  public 결과타입 doInBackgoround(입력매개변수){
     //처리
     publishProgress(전달값); //onProgressUpdate()호출된다.
     return 결과 값; //onPostExecute()호출
  }
}
Comments