웅쓰뚱쓰
웅쓰의 IT
웅쓰뚱쓰
  • 분류 전체보기 (127)
    • 프로그래밍 (31)
      • 자료구조&알고리즘 (12)
      • Django (1)
      • NAS (3)
      • python (1)
      • Java (2)
      • Kotlin (0)
      • 안드로이드 (0)
      • 백준 (6)
      • 프로그래머스 (1)
      • 블록체인 (4)
    • IT (57)
      • 스마트폰 (30)
      • 모바일 (3)
      • 기타제품 (9)
      • 기타기술 (10)
      • 소식 (5)
    • 꿀팁 (1)
      • 윈도우10 (1)
    • 리얼후기 (4)
      • 제품리뷰 (2)
      • 일상리뷰 (2)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 안드로이드
  • 패스트캠퍼스 #패캠챌린지 #직장인인강 #직장인자기계발 #패스트캠퍼스후기 #Android앱개발올인원패키지Online
  • 블랙프라이데이
  • LG
  • 블록체인
  • 삼성
  • 이더리움
  • 안드로이드 스튜디오
  • 동적배열
  • 앱 만들기
  • 백준
  • 폴더블폰
  • vr
  • 화웨이
  • 아마존

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
웅쓰뚱쓰

웅쓰의 IT

안드로이드 - Async [패스트 캠퍼스 챌린지 29일차]
카테고리 없음

안드로이드 - Async [패스트 캠퍼스 챌린지 29일차]

2021. 11. 29. 23:00


 

Async

 

Async를 비동기 처리를 할 수 있으며

 

주로 네트워크 작업을 할 때 많이 사용된다

 

 

간단하게 Async를 이요하여 ProgressBar를 구현해 보겠다

 

우선 간단하게 화면을 구성해 주었다

 

 

다음으로 AsyncTask를 상속받는 클래스를 만들어 주었다

 

 

AsyncTask는 3개의 타입 변수를 받는다

 

차례대로 params, progress, result를 받으며

 

params는 doInBackground에서 사용할 타입,

 

progress는 onProgressUpdate에서 사용할 타입,

 

result는 onPostExecute에서 사용할 타입이다

 

 

doInBackground는 쓰레드가 할 작업이며

 

onProgressUpdate는 메인쓰레드로 전달할 작업이며

 

onPostExecute는 작업을 다 마친 후 할 작업이다

 


 

먼저

 

변수 하나를 선언하고

 

onPreExecute 메소드를 오버라이드 해주었다

 

onPreExecute는 작업이 시작되기 전에 할 작업이다

 

 

다은은 doInBackground메소드를 오버라이드 해주었다

 

작업이 취소되지 않았다면 percent를 증가시키고

 

percent가 100이 넘지 않았다면 작업을 메인쓰레드에 가지고 들어가게 하였다

 

 

publishProgress에 전달된 인자가 onProgressUpdate의 파라미터로 들어간다

 

다음은 onProgressUpdate를 오버라이드 하였다

 

메인 쓰레드에서 업데이트할 작업들이다

 

 

마지막으로 작업이 취소되었을 때와

 

작업이 완료되었을 때를 구현해주었다

 

 

doInBackground에서 작업이 끝났을 때 리턴해준 타입이 onPostExecute으로 들어간다

 


 

Async 테스크를 만들고

 

버튼을 누르면 테스크를 실행하고 취소되게 하였다

 

 

결과

 


본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.

 

https://bit.ly/3FVdhDa

    웅쓰뚱쓰
    웅쓰뚱쓰

    티스토리툴바