1

나는 어디에서나 최종 사용자를위한 안드로이드 애플리케이션을 운영하는 서버를 가지고있다. 안드로이드 응용 프로그램 사용자가 메시지를 삭제할 수 있으며,이 삭제 메시지는 REST를 통해 서버에 삭제 요청을 보내는 것을 트리거 할 것이며 서버는이를 삭제할 것입니다.백그라운드에서 안드로이드 휴식 프로세스

누군가가 Gmail의 삭제 메시지가 어떻게 작동하는지 알고 있습니까? 앱에서 나가거나 앱에서 벗어나더라도 보내기, 삭제 또는 다른 작업이 결국 완료됩니다. AsyncTask 또는 Thread 또는 Service를 사용하고 있습니까? 사용자가 현재보기에서 벗어나거나 전체 응용 프로그램에서 벗어날 수 있기 때문에 AsyncTask가 아닌 것 같습니다.

모든 의견을 환영합니다.

+0

gmail 앱의 작동 방식은 잘 모르겠지만 수행 할 수있는 작업은 sqlite DB에 대기열에 넣고 IntentService를 실행하는 AlaramManager를 자주 실행하여 DB에 저장된 작업을 실행하는 것입니다. – mbmc

+0

DB를 사용하는 것이 좋은지 아닌지 잘 모르겠습니다. 그렇게하면 DB 작업에 대한 트랜잭션 지원이 필요할 것입니다. 같은 시간에 여러 작업을 실행할 수 있음을 알고 있습니다. –

답변

0

IntentService를보고 싶을 수도 있습니다. http://developer.android.com/training/run-background-service/create-service.html

"는 IntentService 클래스는 단일 백그라운드 스레드에서 작업을 실행하기위한 간단한 구조를 제공한다. 이것은 사용자 인터페이스의 응답에 영향을주지 않고 작업을 실행 시간이 긴 처리 할 수 ​​있습니다. 또한, IntentService 가장 영향을받지 않습니다 그것이 AsyncTask를 "

+1

IntentService는 한 번에 하나씩 순차적으로 작동합니다. 우리는 동시성이 필요합니다 –

0

를 종료 할 상황에서 계속 실행되도록 사용자 인터페이스 라이프 사이클 이벤트, 내가 Gmail의 REST API를 작동,하지만 REST 호출에, AsyncTask 확실히 하지 길을 가야하는 것입니다 방법을 잘 모르겠어요. 왜 바퀴를 재발견합니까? Volley 또는 RetroFit을보십시오. 그것들은 Android에서 REST 호출을 구현할 때 많은 함정을 고려한 REST 라이브러리입니다.

+0

우리는 바퀴를 재발 명하지 않습니다. 우리는 http://loopj.com/android-async-http/를 사용하고 있습니다. –

+0

확인. 정확히 무엇이 당신의 질문인지는 모르겠지만, android-async-http는 3 개월 후에 업데이트되지 않았습니다. – soundsofpolaris