2011-11-25 4 views
2

약간의 정보/도움/제안이 필요합니다. 인터넷을 통해 일부 데이터를 다운로드하는 모든 활동에서 하나의 AsyncTask를 사용할 수 있도록 어떻게 응용 프로그램을 만들 수 있습니까? 문제는 하나의 활동에서 asynctask를 실행하면 전체 정보를 다시 다운로드하지만 해당 활동 (예 : listviews, 이미지 표시 등)에 표시되는 정보 만 업데이트하려는 것입니다. 그리고 나는 이것을 어떻게 코딩 할 수 있을지 잘 모르겠습니다.안드로이드는 전체 응용 프로그램에서 asynctask를 호출합니다.

누구든지 나에게 도움이된다면/제안을해도 괜찮을 것입니다. 감사합니다.

답변

3

AsyncTask를 사용하는 가장 일반적인 방법은 활동의 내부 클래스로 정의됩니다. 이렇게하면 AsyncTask의 라이프 사이클을 마스터 액티비티에 바인딩합니다. 우리가 알다시피, 액티비티의 라이프 사이클은 매우 일시적이며 일반적으로 애플리케이션 실행 시간 동안 여러 번 생성/파괴됩니다. 그래서 ...

가 어떻게 그래서 제 생각에는 인터넷

을 통해 일부 데이터를 다운로드 할 모든 활동에서 하나 AsyncTask를을 사용할 수 있습니다 내 응용 프로그램을 구축 할 수 있습니다, 가장 합리적인 해결책은 여기 Service, 분명히 서비스에는 Activity/AsyncTask보다 더 튼튼한 수명주기가 있습니다. 스레드에서 데이터를 다운로드하고 응용 프로그램 실행 시간 동안 계속 실행하며 현재 전경 활동의 UI 요소를 서비스에서 업데이트하는 서비스를 구현할 수 있습니다. this SO question에서 자세한 내용을 확인하십시오.

도움이 되길 바랍니다.

관련 문제