비동기식 작업

1229 단어
네트워크에 액세스하는 등 시간이 많이 걸리는 작업은 하위 스레드에 적혀있기 때문에 매번 new Thread() 방법을 사용하면 비교적 번거롭습니다. 이때 비동기적인 작업 방법으로 네트워크에 접근할 수 있습니다.
private class MyHttpTask extends AsyncTask{
그 중에서 Params는 전달된 매개 변수 유형이고 Progress는 다운로드와 관련된 진도 알림이며 Result는 서버 응답 결과의 봉인입니다.
비동기식 작업 만들기 AsyncTask 순서는 다음과 같습니다.
① onPreExecute(): Runs on the UI thread before doInBackground(Params...) .
② doInBackground(Params... params): Override this method to perform a computation on a background thread.
③ onPostExecute(Result result): Runs on the UI thread after doInBackground(Params...) .
방법 ③의 매개 변수는 방법 ② 실행 후 되돌아오는 결과이고 방법 ③은 주로 비동기적인 작업을 수행한 후 인터페이스를 업데이트하는 것이다.
실행할 때 execute 방법을 사용합니다. 부류 중의 execute 방법은final 형식이기 때문에 다시 쓸 수 없습니다. 우리는 부류 중의 이 방법을 복사하고 방법명을 바꾸어 그 안에서 부류의 execute 방법을 호출할 수 있습니다.
public final AsyncTask<Integer, Void, Message> executeProxy(Integer... params) {
	if(NetUtil.checkNet(context)){
		return super.execute(params);
	}else{
		PromptManager.showNoNetWork(context);
	}
	return null;
}

그 중에서params는 전달할 매개 변수입니다.비동기식 작업을 수행하는 방법을 BaseUI로 추출할 수 있습니다.이렇게 쓰는 것은 인터넷 접근을 생략할 수 있다는 판단이다.
}

좋은 웹페이지 즐겨찾기