어떻게 작동하는지 알고 싶습니다. 몇 번이나 설명서를 읽었지만 아이디어를 얻지 못했습니다.어떻게 확장합니까 AsyncTask <Void, Void, Long> 작업
어떤 경우에는 onPostExecute
이 아무 것도하지 않는 것으로 나타났습니다.
누구든지 설명을 좀 해주실 수 있습니까?
어떻게 작동하는지 알고 싶습니다. 몇 번이나 설명서를 읽었지만 아이디어를 얻지 못했습니다.어떻게 확장합니까 AsyncTask <Void, Void, Long> 작업
어떤 경우에는 onPostExecute
이 아무 것도하지 않는 것으로 나타났습니다.
누구든지 설명을 좀 해주실 수 있습니까?
AsyncTask
은 Thread
에서 파생 된 클래스이며 UI Thread
을 알리는 기능으로 백그라운드에서 간단하고 적절한 방법을 제공합니다.
class
을 작성하려면 extends
을 작성하고 유형 매개 변수를 정의해야합니다. 그들은 Params
, Progress
및 Result
입니다. 자세히 알아보기 here.
onPostExecute()
은 doInBackground()
이 실행 완료되면 호출되지만, onPostExecute()
은 UI 스레드에서 실행됩니다. 따라서 작업이 완료되었음을 UI에 알릴 수 있습니다.
AsyncTask
사용 here의 예를 볼 수 있습니다.
<Void, Void, Long>
부분은 Java에서 Generics이라고합니다. 원래의 코더가 "최종 사용자"가 선택할 유형에 상관없이이 코드를 사용하고자하는 클래스에 사용됩니다.
일반적으로 진행 대화 상자를 시작/중지하려면 onPre/PostExecute()
을 사용하십시오.
당신은 당신이 onProgressUpdate()
에서 일을 할 수 대화 진행없이 진행 중에 UI를 업데이트하려면 : 당신이있는 경우 (즉, 당신이 웹에서 이미지를로드하는 그들이로드되는로 표시)
을 진행률 표시 줄이있는 대화 상자를 사용하면 진행률 표시 줄을 업데이트하기 위해 모두 사용해야합니다.
그래,하지만 Void, Void, Void를하면 onPostExecute는 아무 것도하지 않는다는 것을 알았습니다 ... –
@ M.V : 그 메소드는'doInBackground()'에 의해 반환되는 것을 인수로 취합니다. 마지막'Void'는 당신이 값을 반환하지 않는다고 (합법적 인),'onPostExecute()'는 인자를 취하지 않는다고 말합니다. 그래도 불확실한 진행 대화 상자를 멈출 수는 있습니다. – bigstones
This post는 AsyncTask 개념을 다이어그램으로 멋지게 설명합니다!
{onPostExecute()}
은 백그라운드 작업을 완료 한 후에 무언가를하고 싶을 때 사용됩니다 {(doInBackground())}
.
,
start Progress Bar @ {onPreExecute()}
running Progress Bar @ {doInBackground()}
stop Progress Bar @ {onPostExecute()}
감사도 좋은 나는이 많은 도움이 될 것입니다 믿습니다! –