본문 바로가기

프로그래밍/Android

서비스

반응형

서비스는 시각적인 사용자 인터페이스를 갖지 않는 대신, 무한정의 시간 동안 백그라운드에서 실행된다. 예를 들어, 사용자가 다른 일을 하는 중에 서비스는 배경음악을 재생한다거나, 네트워크에서 자료를 가져오거나, 무언가를 계산한 후에 결과를 원하는 액티비티에게 돌려줄 수 있다. 각각의 서비스는 Service 클래스를 확장한다.
대표적인 사례는 재생 목록에서 음악을 재생하는 미디어 플레이어이다. 플레이어 애플리케이션은 아마도 사용자가 노래를 선택하고 재생을 시작 있도록 하는 하나 이상의 액티비티를 가질 것이다. 하지만 음악 재생 자체는 액티비티에서 처리하지 못할 것이며, 이는 사용자가 플레이어를 떠나서 다른 작업을 시작하더라도 음악이 계속 재생되기를 원하기 때문이다. 음악이 계속되려면, 미디어 플레이어 액티비티는 백그라운드에서 실행하는 서비스를 시작해야 한다. 서비스를 시작한 액티비티가 화면에서 사라지더라도 이 시스템의 음악 재생 서비스는 계속 실행 중일 것이다. 진행중인 서비스와 (실행중이 아니라면 서비스를 시작해서) 연결하는 것도 가능하다. 연결된 동안에는 서비스가 제공하는 인터페이스를 통해 서비스와 통신할 수 있다. 음악 서비스의 경우, 인터페이스는 사용자가 일시 정지, 되감기, 정지, 재시작 등을 할 수 있는 기능을 제공하게 될 것이다.
액티비티나 다른 구성요소들과 마찬가지로, 서비스는 애플리케이션 프로세스의 주 스레드로 실행된다. 종종 시간이 많이 걸리는 작업 (음악 재생 같은)에 대해서 다른 컴포넌트나 사용자 인터페이스를 차단하지 않기 위해서 다른 스레드를 생성하기도 한다. 다음에, 프로세스와 스레드를 참고할 것.


Android Dev Guide 중 Service 부분에 대한 초벌 번역입니다.

반응형

'프로그래밍 > Android' 카테고리의 다른 글

새로 등록하는 안드로이드 개발자 계정  (4) 2011.08.05
앱 개발 뒷 이야기  (0) 2011.07.28
콘텐츠 프로바이더  (0) 2010.11.21
브로드캐스트 리시버  (0) 2010.11.21
액티비티  (0) 2010.11.21